Class: Aws::MachineLearning::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::MachineLearning::Client
- Includes:
- ClientStubs
- Defined in:
- lib/aws-sdk-machinelearning/client.rb
Overview
An API client for MachineLearning. To construct a client, you need to configure a :region and :credentials.
client = Aws::MachineLearning::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the developer guide.
See #initialize for a full list of supported configuration options.
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
API Operations collapse
-
#add_tags(params = {}) ⇒ Types::AddTagsOutput
Adds one or more tags to an object, up to a limit of 10.
-
#create_batch_prediction(params = {}) ⇒ Types::CreateBatchPredictionOutput
Generates predictions for a group of observations.
-
#create_data_source_from_rds(params = {}) ⇒ Types::CreateDataSourceFromRDSOutput
Creates a
DataSourceobject from an [ Amazon Relational Database Service][1] (Amazon RDS). -
#create_data_source_from_redshift(params = {}) ⇒ Types::CreateDataSourceFromRedshiftOutput
Creates a
DataSourcefrom a database hosted on an Amazon Redshift cluster. -
#create_data_source_from_s3(params = {}) ⇒ Types::CreateDataSourceFromS3Output
Creates a
DataSourceobject. -
#create_evaluation(params = {}) ⇒ Types::CreateEvaluationOutput
Creates a new
Evaluationof anMLModel. -
#create_ml_model(params = {}) ⇒ Types::CreateMLModelOutput
Creates a new
MLModelusing theDataSourceand the recipe as information sources. -
#create_realtime_endpoint(params = {}) ⇒ Types::CreateRealtimeEndpointOutput
Creates a real-time endpoint for the
MLModel. -
#delete_batch_prediction(params = {}) ⇒ Types::DeleteBatchPredictionOutput
Assigns the DELETED status to a
BatchPrediction, rendering it unusable. -
#delete_data_source(params = {}) ⇒ Types::DeleteDataSourceOutput
Assigns the DELETED status to a
DataSource, rendering it unusable. -
#delete_evaluation(params = {}) ⇒ Types::DeleteEvaluationOutput
Assigns the
DELETEDstatus to anEvaluation, rendering it unusable. -
#delete_ml_model(params = {}) ⇒ Types::DeleteMLModelOutput
Assigns the
DELETEDstatus to anMLModel, rendering it unusable. -
#delete_realtime_endpoint(params = {}) ⇒ Types::DeleteRealtimeEndpointOutput
Deletes a real time endpoint of an
MLModel. -
#delete_tags(params = {}) ⇒ Types::DeleteTagsOutput
Deletes the specified tags associated with an ML object.
-
#describe_batch_predictions(params = {}) ⇒ Types::DescribeBatchPredictionsOutput
Returns a list of
BatchPredictionoperations that match the search criteria in the request. -
#describe_data_sources(params = {}) ⇒ Types::DescribeDataSourcesOutput
Returns a list of
DataSourcethat match the search criteria in the request. -
#describe_evaluations(params = {}) ⇒ Types::DescribeEvaluationsOutput
Returns a list of
DescribeEvaluationsthat match the search criteria in the request. -
#describe_ml_models(params = {}) ⇒ Types::DescribeMLModelsOutput
Returns a list of
MLModelthat match the search criteria in the request. -
#describe_tags(params = {}) ⇒ Types::DescribeTagsOutput
Describes one or more of the tags for your Amazon ML object.
-
#get_batch_prediction(params = {}) ⇒ Types::GetBatchPredictionOutput
Returns a
BatchPredictionthat includes detailed metadata, status, and data file information for aBatch Predictionrequest. -
#get_data_source(params = {}) ⇒ Types::GetDataSourceOutput
Returns a
DataSourcethat includes metadata and data file information, as well as the current status of theDataSource. -
#get_evaluation(params = {}) ⇒ Types::GetEvaluationOutput
Returns an
Evaluationthat includes metadata as well as the current status of theEvaluation. -
#get_ml_model(params = {}) ⇒ Types::GetMLModelOutput
Returns an
MLModelthat includes detailed metadata, data source information, and the current status of theMLModel. -
#predict(params = {}) ⇒ Types::PredictOutput
Generates a prediction for the observation using the specified
ML Model. -
#update_batch_prediction(params = {}) ⇒ Types::UpdateBatchPredictionOutput
Updates the
BatchPredictionNameof aBatchPrediction. -
#update_data_source(params = {}) ⇒ Types::UpdateDataSourceOutput
Updates the
DataSourceNameof aDataSource. -
#update_evaluation(params = {}) ⇒ Types::UpdateEvaluationOutput
Updates the
EvaluationNameof anEvaluation. -
#update_ml_model(params = {}) ⇒ Types::UpdateMLModelOutput
Updates the
MLModelNameand theScoreThresholdof anMLModel.
Class Method Summary collapse
- .errors_module ⇒ Object private
Instance Method Summary collapse
- #build_request(operation_name, params = {}) ⇒ Object private
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
-
#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean
Polls an API operation until a resource enters a desired state.
- #waiter_names ⇒ Object deprecated private Deprecated.
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
397 398 399 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 397 def initialize(*args) super end |
Class Attribute Details
.identifier ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2562 2563 2564 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2562 def identifier @identifier end |
Class Method Details
.errors_module ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2565 2566 2567 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2565 def errors_module Errors end |
Instance Method Details
#add_tags(params = {}) ⇒ Types::AddTagsOutput
Adds one or more tags to an object, up to a limit of 10. Each tag
consists of a key and an optional value. If you add a tag using a key
that is already associated with the ML object, AddTags updates the
tag's value.
444 445 446 447 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 444 def (params = {}, = {}) req = build_request(:add_tags, params) req.send_request() end |
#build_request(operation_name, params = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2421 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-machinelearning' context[:gem_version] = '1.48.0' Seahorse::Client::Request.new(handlers, context) end |
#create_batch_prediction(params = {}) ⇒ Types::CreateBatchPredictionOutput
Generates predictions for a group of observations. The observations to
process exist in one or more data files referenced by a DataSource.
This operation creates a new BatchPrediction, and uses an MLModel
and the data files referenced by the DataSource as information
sources.
CreateBatchPrediction is an asynchronous operation. In response to
CreateBatchPrediction, Amazon Machine Learning (Amazon ML)
immediately returns and sets the BatchPrediction status to
PENDING. After the BatchPrediction completes, Amazon ML sets the
status to COMPLETED.
You can poll for status updates by using the GetBatchPrediction
operation and checking the Status parameter of the result. After the
COMPLETED status appears, the results are available in the location
specified by the OutputUri parameter.
515 516 517 518 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 515 def create_batch_prediction(params = {}, = {}) req = build_request(:create_batch_prediction, params) req.send_request() end |
#create_data_source_from_rds(params = {}) ⇒ Types::CreateDataSourceFromRDSOutput
Creates a DataSource object from an Amazon Relational Database
Service (Amazon RDS). A DataSource references data that can be
used to perform CreateMLModel, CreateEvaluation, or
CreateBatchPrediction operations.
CreateDataSourceFromRDS is an asynchronous operation. In response to
CreateDataSourceFromRDS, Amazon Machine Learning (Amazon ML)
immediately returns and sets the DataSource status to PENDING.
After the DataSource is created and ready for use, Amazon ML sets
the Status parameter to COMPLETED. DataSource in the COMPLETED
or PENDING state can be used only to perform >CreateMLModel>,
CreateEvaluation, or CreateBatchPrediction operations.
If Amazon ML cannot accept the input source, it sets the Status
parameter to FAILED and includes an error message in the Message
attribute of the GetDataSource operation response.
651 652 653 654 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 651 def create_data_source_from_rds(params = {}, = {}) req = build_request(:create_data_source_from_rds, params) req.send_request() end |
#create_data_source_from_redshift(params = {}) ⇒ Types::CreateDataSourceFromRedshiftOutput
Creates a DataSource from a database hosted on an Amazon Redshift
cluster. A DataSource references data that can be used to perform
either CreateMLModel, CreateEvaluation, or CreateBatchPrediction
operations.
CreateDataSourceFromRedshift is an asynchronous operation. In
response to CreateDataSourceFromRedshift, Amazon Machine Learning
(Amazon ML) immediately returns and sets the DataSource status to
PENDING. After the DataSource is created and ready for use, Amazon
ML sets the Status parameter to COMPLETED. DataSource in
COMPLETED or PENDING states can be used to perform only
CreateMLModel, CreateEvaluation, or CreateBatchPrediction
operations.
If Amazon ML can't accept the input source, it sets the Status
parameter to FAILED and includes an error message in the Message
attribute of the GetDataSource operation response.
The observations should be contained in the database hosted on an
Amazon Redshift cluster and should be specified by a SelectSqlQuery
query. Amazon ML executes an Unload command in Amazon Redshift to
transfer the result set of the SelectSqlQuery query to
S3StagingLocation.
After the DataSource has been created, it's ready for use in
evaluations and batch predictions. If you plan to use the DataSource
to train an MLModel, the DataSource also requires a recipe. A
recipe describes how each input variable will be used in training an
MLModel. Will the variable be included or excluded from training?
Will the variable be manipulated; for example, will it be combined
with another variable or will it be split apart into word
combinations? The recipe provides answers to these questions.
You can't change an existing datasource, but you can copy and modify
the settings from an existing Amazon Redshift datasource to create a
new datasource. To do so, call GetDataSource for an existing
datasource and copy the values to a CreateDataSource call. Change
the settings that you want to change and make sure that all required
fields have the appropriate values.
786 787 788 789 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 786 def create_data_source_from_redshift(params = {}, = {}) req = build_request(:create_data_source_from_redshift, params) req.send_request() end |
#create_data_source_from_s3(params = {}) ⇒ Types::CreateDataSourceFromS3Output
Creates a DataSource object. A DataSource references data that can
be used to perform CreateMLModel, CreateEvaluation, or
CreateBatchPrediction operations.
CreateDataSourceFromS3 is an asynchronous operation. In response to
CreateDataSourceFromS3, Amazon Machine Learning (Amazon ML)
immediately returns and sets the DataSource status to PENDING.
After the DataSource has been created and is ready for use, Amazon
ML sets the Status parameter to COMPLETED. DataSource in the
COMPLETED or PENDING state can be used to perform only
CreateMLModel, CreateEvaluation or CreateBatchPrediction
operations.
If Amazon ML can't accept the input source, it sets the Status
parameter to FAILED and includes an error message in the Message
attribute of the GetDataSource operation response.
The observation data used in a DataSource should be ready to use;
that is, it should have a consistent structure, and missing data
values should be kept to a minimum. The observation data must reside
in one or more .csv files in an Amazon Simple Storage Service (Amazon
S3) location, along with a schema that describes the data items by
name and type. The same schema must be used for all of the data files
referenced by the DataSource.
After the DataSource has been created, it's ready to use in
evaluations and batch predictions. If you plan to use the DataSource
to train an MLModel, the DataSource also needs a recipe. A recipe
describes how each input variable will be used in training an
MLModel. Will the variable be included or excluded from training?
Will the variable be manipulated; for example, will it be combined
with another variable or will it be split apart into word
combinations? The recipe provides answers to these questions.
879 880 881 882 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 879 def create_data_source_from_s3(params = {}, = {}) req = build_request(:create_data_source_from_s3, params) req.send_request() end |
#create_evaluation(params = {}) ⇒ Types::CreateEvaluationOutput
Creates a new Evaluation of an MLModel. An MLModel is evaluated
on a set of observations associated to a DataSource. Like a
DataSource for an MLModel, the DataSource for an Evaluation
contains values for the Target Variable. The Evaluation compares
the predicted result for each observation to the actual outcome and
provides a summary so that you know how effective the MLModel
functions on the test data. Evaluation generates a relevant
performance metric, such as BinaryAUC, RegressionRMSE or
MulticlassAvgFScore based on the corresponding MLModelType:
BINARY, REGRESSION or MULTICLASS.
CreateEvaluation is an asynchronous operation. In response to
CreateEvaluation, Amazon Machine Learning (Amazon ML) immediately
returns and sets the evaluation status to PENDING. After the
Evaluation is created and ready for use, Amazon ML sets the status
to COMPLETED.
You can use the GetEvaluation operation to check progress of the
evaluation during the creation operation.
939 940 941 942 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 939 def create_evaluation(params = {}, = {}) req = build_request(:create_evaluation, params) req.send_request() end |
#create_ml_model(params = {}) ⇒ Types::CreateMLModelOutput
Creates a new MLModel using the DataSource and the recipe as
information sources.
An MLModel is nearly immutable. Users can update only the
MLModelName and the ScoreThreshold in an MLModel without
creating a new MLModel.
CreateMLModel is an asynchronous operation. In response to
CreateMLModel, Amazon Machine Learning (Amazon ML) immediately
returns and sets the MLModel status to PENDING. After the
MLModel has been created and ready is for use, Amazon ML sets the
status to COMPLETED.
You can use the GetMLModel operation to check the progress of the
MLModel during the creation operation.
CreateMLModel requires a DataSource with computed statistics,
which can be created by setting ComputeStatistics to true in
CreateDataSourceFromRDS, CreateDataSourceFromS3, or
CreateDataSourceFromRedshift operations.
1071 1072 1073 1074 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1071 def create_ml_model(params = {}, = {}) req = build_request(:create_ml_model, params) req.send_request() end |
#create_realtime_endpoint(params = {}) ⇒ Types::CreateRealtimeEndpointOutput
Creates a real-time endpoint for the MLModel. The endpoint contains
the URI of the MLModel; that is, the location to send real-time
prediction requests for the specified MLModel.
1104 1105 1106 1107 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1104 def create_realtime_endpoint(params = {}, = {}) req = build_request(:create_realtime_endpoint, params) req.send_request() end |
#delete_batch_prediction(params = {}) ⇒ Types::DeleteBatchPredictionOutput
Assigns the DELETED status to a BatchPrediction, rendering it
unusable.
After using the DeleteBatchPrediction operation, you can use the
GetBatchPrediction operation to verify that the status of the
BatchPrediction changed to DELETED.
Caution: The result of the DeleteBatchPrediction operation is
irreversible.
1138 1139 1140 1141 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1138 def delete_batch_prediction(params = {}, = {}) req = build_request(:delete_batch_prediction, params) req.send_request() end |
#delete_data_source(params = {}) ⇒ Types::DeleteDataSourceOutput
Assigns the DELETED status to a DataSource, rendering it unusable.
After using the DeleteDataSource operation, you can use the
GetDataSource operation to verify that the status of the DataSource
changed to DELETED.
Caution: The results of the DeleteDataSource operation are
irreversible.
1171 1172 1173 1174 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1171 def delete_data_source(params = {}, = {}) req = build_request(:delete_data_source, params) req.send_request() end |
#delete_evaluation(params = {}) ⇒ Types::DeleteEvaluationOutput
Assigns the DELETED status to an Evaluation, rendering it
unusable.
After invoking the DeleteEvaluation operation, you can use the
GetEvaluation operation to verify that the status of the
Evaluation changed to DELETED.
Caution: The results of the DeleteEvaluation operation are
irreversible.
1206 1207 1208 1209 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1206 def delete_evaluation(params = {}, = {}) req = build_request(:delete_evaluation, params) req.send_request() end |
#delete_ml_model(params = {}) ⇒ Types::DeleteMLModelOutput
Assigns the DELETED status to an MLModel, rendering it unusable.
After using the DeleteMLModel operation, you can use the
GetMLModel operation to verify that the status of the MLModel
changed to DELETED.
Caution: The result of the DeleteMLModel operation is
irreversible.
1239 1240 1241 1242 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1239 def delete_ml_model(params = {}, = {}) req = build_request(:delete_ml_model, params) req.send_request() end |
#delete_realtime_endpoint(params = {}) ⇒ Types::DeleteRealtimeEndpointOutput
Deletes a real time endpoint of an MLModel.
1270 1271 1272 1273 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1270 def delete_realtime_endpoint(params = {}, = {}) req = build_request(:delete_realtime_endpoint, params) req.send_request() end |
#delete_tags(params = {}) ⇒ Types::DeleteTagsOutput
Deletes the specified tags associated with an ML object. After this operation is complete, you can't recover deleted tags.
If you specify a tag that doesn't exist, Amazon ML ignores it.
1309 1310 1311 1312 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1309 def (params = {}, = {}) req = build_request(:delete_tags, params) req.send_request() end |
#describe_batch_predictions(params = {}) ⇒ Types::DescribeBatchPredictionsOutput
Returns a list of BatchPrediction operations that match the search
criteria in the request.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
The following waiters are defined for this operation (see #wait_until for detailed usage):
* batch_prediction_available
1454 1455 1456 1457 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1454 def describe_batch_predictions(params = {}, = {}) req = build_request(:describe_batch_predictions, params) req.send_request() end |
#describe_data_sources(params = {}) ⇒ Types::DescribeDataSourcesOutput
Returns a list of DataSource that match the search criteria in the
request.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
The following waiters are defined for this operation (see #wait_until for detailed usage):
* data_source_available
1602 1603 1604 1605 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1602 def describe_data_sources(params = {}, = {}) req = build_request(:describe_data_sources, params) req.send_request() end |
#describe_evaluations(params = {}) ⇒ Types::DescribeEvaluationsOutput
Returns a list of DescribeEvaluations that match the search criteria
in the request.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
The following waiters are defined for this operation (see #wait_until for detailed usage):
* evaluation_available
1745 1746 1747 1748 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1745 def describe_evaluations(params = {}, = {}) req = build_request(:describe_evaluations, params) req.send_request() end |
#describe_ml_models(params = {}) ⇒ Types::DescribeMLModelsOutput
Returns a list of MLModel that match the search criteria in the
request.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
The following waiters are defined for this operation (see #wait_until for detailed usage):
* ml_model_available
1901 1902 1903 1904 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1901 def describe_ml_models(params = {}, = {}) req = build_request(:describe_ml_models, params) req.send_request() end |
#describe_tags(params = {}) ⇒ Types::DescribeTagsOutput
Describes one or more of the tags for your Amazon ML object.
1937 1938 1939 1940 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1937 def (params = {}, = {}) req = build_request(:describe_tags, params) req.send_request() end |
#get_batch_prediction(params = {}) ⇒ Types::GetBatchPredictionOutput
Returns a BatchPrediction that includes detailed metadata, status,
and data file information for a Batch Prediction request.
1996 1997 1998 1999 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 1996 def get_batch_prediction(params = {}, = {}) req = build_request(:get_batch_prediction, params) req.send_request() end |
#get_data_source(params = {}) ⇒ Types::GetDataSourceOutput
Returns a DataSource that includes metadata and data file
information, as well as the current status of the DataSource.
GetDataSource provides results in normal or verbose format. The
verbose format adds the schema description and the list of files
pointed to by the DataSource to the normal format.
2083 2084 2085 2086 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2083 def get_data_source(params = {}, = {}) req = build_request(:get_data_source, params) req.send_request() end |
#get_evaluation(params = {}) ⇒ Types::GetEvaluationOutput
Returns an Evaluation that includes metadata as well as the current
status of the Evaluation.
2141 2142 2143 2144 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2141 def get_evaluation(params = {}, = {}) req = build_request(:get_evaluation, params) req.send_request() end |
#get_ml_model(params = {}) ⇒ Types::GetMLModelOutput
Returns an MLModel that includes detailed metadata, data source
information, and the current status of the MLModel.
GetMLModel provides results in normal or verbose format.
2222 2223 2224 2225 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2222 def get_ml_model(params = {}, = {}) req = build_request(:get_ml_model, params) req.send_request() end |
#predict(params = {}) ⇒ Types::PredictOutput
Generates a prediction for the observation using the specified ML Model.
Note: Not all response parameters will be populated. Whether a response parameter is populated depends on the type of model requested.
2267 2268 2269 2270 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2267 def predict(params = {}, = {}) req = build_request(:predict, params) req.send_request() end |
#update_batch_prediction(params = {}) ⇒ Types::UpdateBatchPredictionOutput
Updates the BatchPredictionName of a BatchPrediction.
You can use the GetBatchPrediction operation to view the contents of
the updated data element.
2300 2301 2302 2303 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2300 def update_batch_prediction(params = {}, = {}) req = build_request(:update_batch_prediction, params) req.send_request() end |
#update_data_source(params = {}) ⇒ Types::UpdateDataSourceOutput
Updates the DataSourceName of a DataSource.
You can use the GetDataSource operation to view the contents of the
updated data element.
2334 2335 2336 2337 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2334 def update_data_source(params = {}, = {}) req = build_request(:update_data_source, params) req.send_request() end |
#update_evaluation(params = {}) ⇒ Types::UpdateEvaluationOutput
Updates the EvaluationName of an Evaluation.
You can use the GetEvaluation operation to view the contents of the
updated data element.
2368 2369 2370 2371 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2368 def update_evaluation(params = {}, = {}) req = build_request(:update_evaluation, params) req.send_request() end |
#update_ml_model(params = {}) ⇒ Types::UpdateMLModelOutput
Updates the MLModelName and the ScoreThreshold of an MLModel.
You can use the GetMLModel operation to view the contents of the
updated data element.
2412 2413 2414 2415 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2412 def update_ml_model(params = {}, = {}) req = build_request(:update_ml_model, params) req.send_request() end |
#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean
Polls an API operation until a resource enters a desired state.
Basic Usage
A waiter will call an API operation until:
- It is successful
- It enters a terminal state
- It makes the maximum number of attempts
In between attempts, the waiter will sleep.
# polls in a loop, sleeping between attempts
client.wait_until(waiter_name, params)
Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You can pass configuration as the final arguments hash.
# poll for ~25 seconds
client.wait_until(waiter_name, params, {
max_attempts: 5,
delay: 5,
})
Callbacks
You can be notified before each polling attempt and before each
delay. If you throw :success or :failure from these callbacks,
it will terminate the waiter.
started_at = Time.now
client.wait_until(waiter_name, params, {
# disable max attempts
max_attempts: nil,
# poll for 1 hour, instead of a number of attempts
before_wait: -> (attempts, response) do
throw :failure if Time.now - started_at > 3600
end
})
Handling Errors
When a waiter is unsuccessful, it will raise an error. All of the failure errors extend from Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
Valid Waiters
The following table lists the valid waiter names, the operations they call,
and the default :delay and :max_attempts values.
| waiter_name | params | :delay | :max_attempts |
|---|---|---|---|
| batch_prediction_available | #describe_batch_predictions | 30 | 60 |
| data_source_available | #describe_data_sources | 30 | 60 |
| evaluation_available | #describe_evaluations | 30 | 60 |
| ml_model_available | #describe_ml_models | 30 | 60 |
2525 2526 2527 2528 2529 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2525 def wait_until(waiter_name, params = {}, = {}) w = waiter(waiter_name, ) yield(w.waiter) if block_given? # deprecated w.wait(params) end |
#waiter_names ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2533 2534 2535 |
# File 'lib/aws-sdk-machinelearning/client.rb', line 2533 def waiter_names waiters.keys end |