You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::MTurk::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::MTurk::Client
- Defined in:
- (unknown)
Overview
An API client for Amazon Mechanical Turk. To construct a client, you need to configure a :region
and :credentials
.
mturk = Aws::MTurk::Client.new(
region: region_name,
credentials: credentials,
# ...
)
See #initialize for a full list of supported configuration options.
Region
You can configure a default region in the following locations:
ENV['AWS_REGION']
Aws.config[:region]
Go here for a list of supported regions.
Credentials
Default credentials are loaded automatically from the following locations:
ENV['AWS_ACCESS_KEY_ID']
andENV['AWS_SECRET_ACCESS_KEY']
Aws.config[:credentials]
- The shared credentials ini file at
~/.aws/credentials
(more information) - From an instance profile when running on EC2
You can also construct a credentials object from one of the following classes:
Alternatively, you configure credentials with :access_key_id
and
:secret_access_key
:
# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))
Aws::MTurk::Client.new(
access_key_id: creds['access_key_id'],
secret_access_key: creds['secret_access_key']
)
Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
Constructor collapse
-
#initialize(options = {}) ⇒ Aws::MTurk::Client
constructor
Constructs an API client.
API Operations collapse
-
#accept_qualification_request(options = {}) ⇒ Struct
The
AcceptQualificationRequest
operation approves a Worker's request for a Qualification. -
#approve_assignment(options = {}) ⇒ Struct
The
ApproveAssignment
operation approves the results of a completed assignment. -
#associate_qualification_with_worker(options = {}) ⇒ Struct
The
AssociateQualificationWithWorker
operation gives a Worker a Qualification. -
#create_additional_assignments_for_hit(options = {}) ⇒ Struct
The
CreateAdditionalAssignmentsForHIT
operation increases the maximum number of assignments of an existing HIT. -
#create_hit(options = {}) ⇒ Types::CreateHITResponse
The
CreateHIT
operation creates a new Human Intelligence Task (HIT). -
#create_hit_type(options = {}) ⇒ Types::CreateHITTypeResponse
The
CreateHITType
operation creates a new HIT type. -
#create_hit_with_hit_type(options = {}) ⇒ Types::CreateHITWithHITTypeResponse
The
CreateHITWithHITType
operation creates a new Human Intelligence Task (HIT) using an existing HITTypeID generated by theCreateHITType
operation. -
#create_qualification_type(options = {}) ⇒ Types::CreateQualificationTypeResponse
The
CreateQualificationType
operation creates a new Qualification type, which is represented by aQualificationType
data structure. -
#create_worker_block(options = {}) ⇒ Struct
The
CreateWorkerBlock
operation allows you to prevent a Worker from working on your HITs. -
#delete_hit(options = {}) ⇒ Struct
The
DeleteHIT
operation is used to delete HIT that is no longer needed. -
#delete_qualification_type(options = {}) ⇒ Struct
The
DeleteQualificationType
deletes a Qualification type and deletes any HIT types that are associated with the Qualification type. -
#delete_worker_block(options = {}) ⇒ Struct
The
DeleteWorkerBlock
operation allows you to reinstate a blocked Worker to work on your HITs. -
#disassociate_qualification_from_worker(options = {}) ⇒ Struct
The
DisassociateQualificationFromWorker
revokes a previously granted Qualification from a user. -
#get_account_balance(options = {}) ⇒ Types::GetAccountBalanceResponse
The
GetAccountBalance
operation retrieves the amount of money in your Amazon Mechanical Turk account..
-
#get_assignment(options = {}) ⇒ Types::GetAssignmentResponse
The
GetAssignment
operation retrieves the details of the specified Assignment. -
#get_file_upload_url(options = {}) ⇒ Types::GetFileUploadURLResponse
The
GetFileUploadURL
operation generates and returns a temporary URL. -
#get_hit(options = {}) ⇒ Types::GetHITResponse
The
GetHIT
operation retrieves the details of the specified HIT. -
#get_qualification_score(options = {}) ⇒ Types::GetQualificationScoreResponse
The
GetQualificationScore
operation returns the value of a Worker's Qualification for a given Qualification type. -
#get_qualification_type(options = {}) ⇒ Types::GetQualificationTypeResponse
The
GetQualificationType
operation retrieves information about a Qualification type using its ID. -
#list_assignments_for_hit(options = {}) ⇒ Types::ListAssignmentsForHITResponse
The
ListAssignmentsForHIT
operation retrieves completed assignments for a HIT. -
#list_bonus_payments(options = {}) ⇒ Types::ListBonusPaymentsResponse
The
ListBonusPayments
operation retrieves the amounts of bonuses you have paid to Workers for a given HIT or assignment. -
#list_hits(options = {}) ⇒ Types::ListHITsResponse
The
ListHITs
operation returns all of a Requester's HITs. -
#list_hits_for_qualification_type(options = {}) ⇒ Types::ListHITsForQualificationTypeResponse
The
ListHITsForQualificationType
operation returns the HITs that use the given Qualification type for a Qualification requirement. -
#list_qualification_requests(options = {}) ⇒ Types::ListQualificationRequestsResponse
The
ListQualificationRequests
operation retrieves requests for Qualifications of a particular Qualification type. -
#list_qualification_types(options = {}) ⇒ Types::ListQualificationTypesResponse
The
ListQualificationTypes
operation returns a list of Qualification types, filtered by an optional search term. -
#list_review_policy_results_for_hit(options = {}) ⇒ Types::ListReviewPolicyResultsForHITResponse
The
ListReviewPolicyResultsForHIT
operation retrieves the computed results and the actions taken in the course of executing your Review Policies for a given HIT. -
#list_reviewable_hits(options = {}) ⇒ Types::ListReviewableHITsResponse
The
ListReviewableHITs
operation retrieves the HITs with Status equal to Reviewable or Status equal to Reviewing that belong to the Requester calling the operation. -
#list_worker_blocks(options = {}) ⇒ Types::ListWorkerBlocksResponse
The
ListWorkersBlocks
operation retrieves a list of Workers who are blocked from working on your HITs..
-
#list_workers_with_qualification_type(options = {}) ⇒ Types::ListWorkersWithQualificationTypeResponse
The
ListWorkersWithQualificationType
operation returns all of the Workers that have been associated with a given Qualification type. -
#notify_workers(options = {}) ⇒ Types::NotifyWorkersResponse
The
NotifyWorkers
operation sends an email to one or more Workers that you specify with the Worker ID. -
#reject_assignment(options = {}) ⇒ Struct
The
RejectAssignment
operation rejects the results of a completed assignment. -
#reject_qualification_request(options = {}) ⇒ Struct
The
RejectQualificationRequest
operation rejects a user's request for a Qualification. -
#send_bonus(options = {}) ⇒ Struct
The
SendBonus
operation issues a payment of money from your account to a Worker. -
#send_test_event_notification(options = {}) ⇒ Struct
The
SendTestEventNotification
operation causes Amazon Mechanical Turk to send a notification message as if a HIT event occurred, according to the provided notification specification. -
#update_expiration_for_hit(options = {}) ⇒ Struct
The
UpdateExpirationForHIT
operation allows you update the expiration time of a HIT. -
#update_hit_review_status(options = {}) ⇒ Struct
The
UpdateHITReviewStatus
operation updates the status of a HIT. -
#update_hit_type_of_hit(options = {}) ⇒ Struct
The
UpdateHITTypeOfHIT
operation allows you to change the HITType properties of a HIT. -
#update_notification_settings(options = {}) ⇒ Struct
The
UpdateNotificationSettings
operation creates, updates, disables or re-enables notifications for a HIT type. -
#update_qualification_type(options = {}) ⇒ Types::UpdateQualificationTypeResponse
The
UpdateQualificationType
operation modifies the attributes of an existing Qualification type, which is represented by a QualificationType data structure.
Instance Method Summary collapse
-
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
-
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters.
Methods inherited from Seahorse::Client::Base
add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options = {}) ⇒ Aws::MTurk::Client
Constructs an API client.
Instance Method Details
#accept_qualification_request(options = {}) ⇒ Struct
The AcceptQualificationRequest
operation approves a Worker's request for a Qualification.
Only the owner of the Qualification type can grant a Qualification request for that type.
A successful request for the AcceptQualificationRequest
operation returns with no errors and an empty body.
#approve_assignment(options = {}) ⇒ Struct
The ApproveAssignment
operation approves the results of a completed assignment.
Approving an assignment initiates two payments from the Requester's Amazon.com account
-
The Worker who submitted the results is paid the reward specified in the HIT.
-
Amazon Mechanical Turk fees are debited.
If the Requester's account does not have adequate funds for these payments, the call to ApproveAssignment returns an exception, and the approval is not processed. You can include an optional feedback message with the approval, which the Worker can see in the Status section of the web site.
You can also call this operation for assignments that were previous rejected and approve them by explicitly overriding the previous rejection. This only works on rejected assignments that were submitted within the previous 30 days and only if the assignment's related HIT has not been deleted.
#associate_qualification_with_worker(options = {}) ⇒ Struct
The AssociateQualificationWithWorker
operation gives a Worker a Qualification. AssociateQualificationWithWorker
does not require that the Worker submit a Qualification request. It gives the Qualification directly to the Worker.
You can only assign a Qualification of a Qualification type that you created (using the CreateQualificationType
operation).
Note: AssociateQualificationWithWorker
does not affect any pending Qualification requests for the Qualification by the Worker. If you assign a Qualification to a Worker, then later grant a Qualification request made by the Worker, the granting of the request may modify the Qualification score. To resolve a pending Qualification request without affecting the Qualification the Worker already has, reject the request with the RejectQualificationRequest
operation.
#create_additional_assignments_for_hit(options = {}) ⇒ Struct
The CreateAdditionalAssignmentsForHIT
operation increases the maximum number of assignments of an existing HIT.
To extend the maximum number of assignments, specify the number of additional assignments.
-
HITs created with fewer than 10 assignments cannot be extended to have 10 or more assignments. Attempting to add assignments in a way that brings the total number of assignments for a HIT from fewer than 10 assignments to 10 or more assignments will result in an
AWS.MechanicalTurk.InvalidMaximumAssignmentsIncrease
exception. -
HITs that were created before July 22, 2015 cannot be extended. Attempting to extend HITs that were created before July 22, 2015 will result in an
AWS.MechanicalTurk.HITTooOldForExtension
exception.
#create_hit(options = {}) ⇒ Types::CreateHITResponse
The CreateHIT
operation creates a new Human Intelligence Task (HIT). The new HIT is made available for Workers to find and accept on the Amazon Mechanical Turk website.
This operation allows you to specify a new HIT by passing in values for the properties of the HIT, such as its title, reward amount and number of assignments. When you pass these values to CreateHIT
, a new HIT is created for you, with a new HITTypeID
. The HITTypeID can be used to create additional HITs in the future without needing to specify common parameters such as the title, description and reward amount each time.
An alternative way to create HITs is to first generate a HITTypeID using the CreateHITType
operation and then call the CreateHITWithHITType
operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.
CreateHIT also supports several ways to provide question data: by providing a value for the Question
parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId
and associated HitLayoutParameters
.
If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing.
#create_hit_type(options = {}) ⇒ Types::CreateHITTypeResponse
The CreateHITType
operation creates a new HIT type. This operation allows you to define a standard set of HIT properties to use when creating HITs. If you register a HIT type with values that match an existing HIT type, the HIT type ID of the existing type will be returned.
#create_hit_with_hit_type(options = {}) ⇒ Types::CreateHITWithHITTypeResponse
The CreateHITWithHITType
operation creates a new Human Intelligence Task (HIT) using an existing HITTypeID generated by the CreateHITType
operation.
This is an alternative way to create HITs from the CreateHIT
operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.
CreateHITWithHITType also supports several ways to provide question data: by providing a value for the Question
parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId
and associated HitLayoutParameters
.
If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing.
#create_qualification_type(options = {}) ⇒ Types::CreateQualificationTypeResponse
The CreateQualificationType
operation creates a new Qualification type, which is represented by a QualificationType
data structure.
#create_worker_block(options = {}) ⇒ Struct
The CreateWorkerBlock
operation allows you to prevent a Worker from working on your HITs. For example, you can block a Worker who is producing poor quality work. You can block up to 100,000 Workers.
#delete_hit(options = {}) ⇒ Struct
The DeleteHIT
operation is used to delete HIT that is no longer needed. Only the Requester who created the HIT can delete it.
You can only dispose of HITs that are in the Reviewable
state, with all of their submitted assignments already either approved or rejected. If you call the DeleteHIT operation on a HIT that is not in the Reviewable
state (for example, that has not expired, or still has active assignments), or on a HIT that is Reviewable but without all of its submitted assignments already approved or rejected, the service will return an error.
-
HITs are automatically disposed of after 120 days.
-
After you dispose of a HIT, you can no longer approve the HIT's rejected assignments.
-
Disposed HITs are not returned in results for the ListHITs operation.
-
Disposing HITs can improve the performance of operations such as ListReviewableHITs and ListHITs.
#delete_qualification_type(options = {}) ⇒ Struct
The DeleteQualificationType
deletes a Qualification type and deletes any HIT types that are associated with the Qualification type.
This operation does not revoke Qualifications already assigned to Workers because the Qualifications might be needed for active HITs. If there are any pending requests for the Qualification type, Amazon Mechanical Turk rejects those requests. After you delete a Qualification type, you can no longer use it to create HITs or HIT types.
DeleteQualificationType must wait for all the HITs that use the deleted Qualification type to be deleted before completing. It may take up to 48 hours before DeleteQualificationType completes and the unique name of the Qualification type is available for reuse with CreateQualificationType.
#delete_worker_block(options = {}) ⇒ Struct
The DeleteWorkerBlock
operation allows you to reinstate a blocked Worker to work on your HITs. This operation reverses the effects of the CreateWorkerBlock operation. You need the Worker ID to use this operation. If the Worker ID is missing or invalid, this operation fails and returns the message “WorkerId is invalid.” If the specified Worker is not blocked, this operation returns successfully.
#disassociate_qualification_from_worker(options = {}) ⇒ Struct
The DisassociateQualificationFromWorker
revokes a previously granted Qualification from a user.
You can provide a text message explaining why the Qualification was revoked. The user who had the Qualification can see this message.
#get_account_balance(options = {}) ⇒ Types::GetAccountBalanceResponse
The GetAccountBalance
operation retrieves the amount of money in your Amazon Mechanical Turk account.
#get_assignment(options = {}) ⇒ Types::GetAssignmentResponse
The GetAssignment
operation retrieves the details of the specified Assignment.
#get_file_upload_url(options = {}) ⇒ Types::GetFileUploadURLResponse
The GetFileUploadURL
operation generates and returns a temporary URL. You use the temporary URL to retrieve a file uploaded by a Worker as an answer to a FileUploadAnswer question for a HIT. The temporary URL is generated the instant the GetFileUploadURL operation is called, and is valid for 60 seconds. You can get a temporary file upload URL any time until the HIT is disposed. After the HIT is disposed, any uploaded files are deleted, and cannot be retrieved. Pending Deprecation on December 12, 2017. The Answer Specification structure will no longer support the FileUploadAnswer
element to be used for the QuestionForm data structure. Instead, we recommend that Requesters who want to create HITs asking Workers to upload files to use Amazon S3.
#get_hit(options = {}) ⇒ Types::GetHITResponse
The GetHIT
operation retrieves the details of the specified HIT.
#get_qualification_score(options = {}) ⇒ Types::GetQualificationScoreResponse
The GetQualificationScore
operation returns the value of a Worker's Qualification for a given Qualification type.
To get a Worker's Qualification, you must know the Worker's ID. The Worker's ID is included in the assignment data returned by the ListAssignmentsForHIT
operation.
Only the owner of a Qualification type can query the value of a Worker's Qualification of that type.
#get_qualification_type(options = {}) ⇒ Types::GetQualificationTypeResponse
The GetQualificationType
operation retrieves information about a Qualification type using its ID.
#list_assignments_for_hit(options = {}) ⇒ Types::ListAssignmentsForHITResponse
The ListAssignmentsForHIT
operation retrieves completed assignments for a HIT. You can use this operation to retrieve the results for a HIT.
You can get assignments for a HIT at any time, even if the HIT is not yet Reviewable. If a HIT requested multiple assignments, and has received some results but has not yet become Reviewable, you can still retrieve the partial results with this operation.
Use the AssignmentStatus parameter to control which set of assignments for a HIT are returned. The ListAssignmentsForHIT operation can return submitted assignments awaiting approval, or it can return assignments that have already been approved or rejected. You can set AssignmentStatus=Approved,Rejected to get assignments that have already been approved and rejected together in one result set.
Only the Requester who created the HIT can retrieve the assignments for that HIT.
Results are sorted and divided into numbered pages and the operation returns a single page of results. You can use the parameters of the operation to control sorting and pagination.
#list_bonus_payments(options = {}) ⇒ Types::ListBonusPaymentsResponse
The ListBonusPayments
operation retrieves the amounts of bonuses you have paid to Workers for a given HIT or assignment.
#list_hits(options = {}) ⇒ Types::ListHITsResponse
The ListHITs
operation returns all of a Requester's HITs. The operation returns HITs of any status, except for HITs that have been deleted of with the DeleteHIT operation or that have been auto-deleted.
#list_hits_for_qualification_type(options = {}) ⇒ Types::ListHITsForQualificationTypeResponse
The ListHITsForQualificationType
operation returns the HITs that use the given Qualification type for a Qualification requirement. The operation returns HITs of any status, except for HITs that have been deleted with the DeleteHIT
operation or that have been auto-deleted.
#list_qualification_requests(options = {}) ⇒ Types::ListQualificationRequestsResponse
The ListQualificationRequests
operation retrieves requests for Qualifications of a particular Qualification type. The owner of the Qualification type calls this operation to poll for pending requests, and accepts them using the AcceptQualification operation.
#list_qualification_types(options = {}) ⇒ Types::ListQualificationTypesResponse
The ListQualificationTypes
operation returns a list of Qualification types, filtered by an optional search term.
#list_review_policy_results_for_hit(options = {}) ⇒ Types::ListReviewPolicyResultsForHITResponse
The ListReviewPolicyResultsForHIT
operation retrieves the computed results and the actions taken in the course of executing your Review Policies for a given HIT. For information about how to specify Review Policies when you call CreateHIT, see Review Policies. The ListReviewPolicyResultsForHIT operation can return results for both Assignment-level and HIT-level review results.
#list_reviewable_hits(options = {}) ⇒ Types::ListReviewableHITsResponse
The ListReviewableHITs
operation retrieves the HITs with Status equal to Reviewable or Status equal to Reviewing that belong to the Requester calling the operation.
#list_worker_blocks(options = {}) ⇒ Types::ListWorkerBlocksResponse
The ListWorkersBlocks
operation retrieves a list of Workers who are blocked from working on your HITs.
#list_workers_with_qualification_type(options = {}) ⇒ Types::ListWorkersWithQualificationTypeResponse
The ListWorkersWithQualificationType
operation returns all of the Workers that have been associated with a given Qualification type.
#notify_workers(options = {}) ⇒ Types::NotifyWorkersResponse
The NotifyWorkers
operation sends an email to one or more Workers that you specify with the Worker ID. You can specify up to 100 Worker IDs to send the same message with a single call to the NotifyWorkers operation. The NotifyWorkers operation will send a notification email to a Worker only if you have previously approved or rejected work from the Worker.
#reject_assignment(options = {}) ⇒ Struct
The RejectAssignment
operation rejects the results of a completed assignment.
You can include an optional feedback message with the rejection, which the Worker can see in the Status section of the web site. When you include a feedback message with the rejection, it helps the Worker understand why the assignment was rejected, and can improve the quality of the results the Worker submits in the future.
Only the Requester who created the HIT can reject an assignment for the HIT.
#reject_qualification_request(options = {}) ⇒ Struct
The RejectQualificationRequest
operation rejects a user's request for a Qualification.
You can provide a text message explaining why the request was rejected. The Worker who made the request can see this message.
#send_bonus(options = {}) ⇒ Struct
The SendBonus
operation issues a payment of money from your account to a Worker. This payment happens separately from the reward you pay to the Worker when you approve the Worker's assignment. The SendBonus operation requires the Worker's ID and the assignment ID as parameters to initiate payment of the bonus. You must include a message that explains the reason for the bonus payment, as the Worker may not be expecting the payment. Amazon Mechanical Turk collects a fee for bonus payments, similar to the HIT listing fee. This operation fails if your account does not have enough funds to pay for both the bonus and the fees.
#send_test_event_notification(options = {}) ⇒ Struct
The SendTestEventNotification
operation causes Amazon Mechanical Turk to send a notification message as if a HIT event occurred, according to the provided notification specification. This allows you to test notifications without setting up notifications for a real HIT type and trying to trigger them using the website. When you call this operation, the service attempts to send the test notification immediately.
#update_expiration_for_hit(options = {}) ⇒ Struct
The UpdateExpirationForHIT
operation allows you update the expiration time of a HIT. If you update it to a time in the past, the HIT will be immediately expired.
#update_hit_review_status(options = {}) ⇒ Struct
The UpdateHITReviewStatus
operation updates the status of a HIT. If the status is Reviewable, this operation can update the status to Reviewing, or it can revert a Reviewing HIT back to the Reviewable status.
#update_hit_type_of_hit(options = {}) ⇒ Struct
The UpdateHITTypeOfHIT
operation allows you to change the HITType properties of a HIT. This operation disassociates the HIT from its old HITType properties and associates it with the new HITType properties. The HIT takes on the properties of the new HITType in place of the old ones.
#update_notification_settings(options = {}) ⇒ Struct
The UpdateNotificationSettings
operation creates, updates, disables or re-enables notifications for a HIT type. If you call the UpdateNotificationSettings operation for a HIT type that already has a notification specification, the operation replaces the old specification with a new one. You can call the UpdateNotificationSettings operation to enable or disable notifications for the HIT type, without having to modify the notification specification itself by providing updates to the Active status without specifying a new notification specification. To change the Active status of a HIT type's notifications, the HIT type must already have a notification specification, or one must be provided in the same call to UpdateNotificationSettings
.
#update_qualification_type(options = {}) ⇒ Types::UpdateQualificationTypeResponse
The UpdateQualificationType
operation modifies the attributes of an existing Qualification type, which is represented by a QualificationType data structure. Only the owner of a Qualification type can modify its attributes.
Most attributes of a Qualification type can be changed after the type has been created. However, the Name and Keywords fields cannot be modified. The RetryDelayInSeconds parameter can be modified or added to change the delay or to enable retries, but RetryDelayInSeconds cannot be used to disable retries.
You can use this operation to update the test for a Qualification type. The test is updated based on the values specified for the Test, TestDurationInSeconds and AnswerKey parameters. All three parameters specify the updated test. If you are updating the test for a type, you must specify the Test and TestDurationInSeconds parameters. The AnswerKey parameter is optional; omitting it specifies that the updated test does not have an answer key.
If you omit the Test parameter, the test for the Qualification type is unchanged. There is no way to remove a test from a Qualification type that has one. If the type already has a test, you cannot update it to be AutoGranted. If the Qualification type does not have a test and one is provided by an update, the type will henceforth have a test.
If you want to update the test duration or answer key for an existing test without changing the questions, you must specify a Test parameter with the original questions, along with the updated values.
If you provide an updated Test but no AnswerKey, the new test will not have an answer key. Requests for such Qualifications must be granted manually.
You can also update the AutoGranted and AutoGrantedValue attributes of the Qualification type.
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
Basic Usage
Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)
Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:
# poll for ~25 seconds
client.wait_until(...) do |w|
w.max_attempts = 5
w.delay = 5
end
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(...) do |w|
# disable max attempts
w.max_attempts = nil
# poll for 1 hour, instead of a number of attempts
w.before_wait do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
end
Handling Errors
When a waiter is successful, it returns true
. When a waiter
fails, it raises an error. All errors raised extend from
Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:
Waiter Name | Client Method | Default Delay: | Default Max Attempts: |
---|