#include </data/code/userver/libraries/sqs/include/userver/sqs/json_client.hpp>
SQS JSON protocol client.
Talks to an Amazon SQS-compatible endpoint over the AWS JSON protocol. Request and result types are AWS SDK SQS models (Aws::SQS::Model::*). HTTP is performed by clients::http::Client; requests are signed with SigV4 via userver crypto. Aws::InitAPI is not required.
Call methods from a userver coroutine: they suspend the current engine::Task on HTTP I/O. clients::http::Client must outlive this client.
Definition at line 85 of file json_client.hpp.
Public Member Functions | |
| JsonClient (clients::http::Client &http_client, Credentials credentials, ClientSettings settings, ExtraCredentials extra_credentials={}) | |
| Constructs a client. | |
| JsonClient (const JsonClient &)=delete | |
| JsonClient & | operator= (const JsonClient &)=delete |
| JsonClient (JsonClient &&) noexcept | |
| JsonClient & | operator= (JsonClient &&) noexcept |
| ~JsonClient () | |
| Destroys the client. Does not destroy http_client. | |
| Aws::SQS::Model::AddPermissionOutcome | AddPermission (const Aws::SQS::Model::AddPermissionRequest &request) const |
| Adds a permission to a queue policy. | |
| Aws::SQS::Model::ChangeMessageVisibilityOutcome | ChangeMessageVisibility (const Aws::SQS::Model::ChangeMessageVisibilityRequest &request) const |
| Changes the visibility timeout of a received message. | |
| Aws::SQS::Model::ChangeMessageVisibilityBatchOutcome | ChangeMessageVisibilityBatch (const Aws::SQS::Model::ChangeMessageVisibilityBatchRequest &request) const |
| Changes visibility timeout for a batch of received messages. | |
| Aws::SQS::Model::CreateQueueOutcome | CreateQueue (const Aws::SQS::Model::CreateQueueRequest &request) const |
| Creates a queue and returns its URL. | |
| Aws::SQS::Model::DeleteMessageOutcome | DeleteMessage (const Aws::SQS::Model::DeleteMessageRequest &request) const |
| Deletes a message from a queue by receipt handle. | |
| Aws::SQS::Model::DeleteMessageBatchOutcome | DeleteMessageBatch (const Aws::SQS::Model::DeleteMessageBatchRequest &request) const |
| Deletes a batch of messages from a queue. | |
| Aws::SQS::Model::DeleteQueueOutcome | DeleteQueue (const Aws::SQS::Model::DeleteQueueRequest &request) const |
| Deletes a queue. | |
| Aws::SQS::Model::GetQueueAttributesOutcome | GetQueueAttributes (const Aws::SQS::Model::GetQueueAttributesRequest &request) const |
| Returns attributes of a queue. | |
| Aws::SQS::Model::GetQueueUrlOutcome | GetQueueUrl (const Aws::SQS::Model::GetQueueUrlRequest &request) const |
| Resolves a queue name to a queue URL. | |
| Aws::SQS::Model::ListDeadLetterSourceQueuesOutcome | ListDeadLetterSourceQueues (const Aws::SQS::Model::ListDeadLetterSourceQueuesRequest &request) const |
| Lists queues that have the given queue as a dead-letter target. | |
| Aws::SQS::Model::ListQueueTagsOutcome | ListQueueTags (const Aws::SQS::Model::ListQueueTagsRequest &request) const |
| Lists tags of a queue. | |
| Aws::SQS::Model::ListQueuesOutcome | ListQueues (const Aws::SQS::Model::ListQueuesRequest &request) const |
| Lists queues in the account, optionally filtered by prefix. | |
| Aws::SQS::Model::PurgeQueueOutcome | PurgeQueue (const Aws::SQS::Model::PurgeQueueRequest &request) const |
| Deletes all messages from a queue. | |
| Aws::SQS::Model::ReceiveMessageOutcome | ReceiveMessage (const Aws::SQS::Model::ReceiveMessageRequest &request) const |
| Receives messages from a queue. May long-poll up to WaitTimeSeconds. | |
| Aws::SQS::Model::RemovePermissionOutcome | RemovePermission (const Aws::SQS::Model::RemovePermissionRequest &request) const |
| Removes a permission from a queue policy. | |
| Aws::SQS::Model::SendMessageOutcome | SendMessage (const Aws::SQS::Model::SendMessageRequest &request) const |
| Sends a message to a queue. | |
| Aws::SQS::Model::SendMessageBatchOutcome | SendMessageBatch (const Aws::SQS::Model::SendMessageBatchRequest &request) const |
| Sends a batch of messages to a queue. | |
| Aws::SQS::Model::SetQueueAttributesOutcome | SetQueueAttributes (const Aws::SQS::Model::SetQueueAttributesRequest &request) const |
| Sets attributes of a queue. | |
| Aws::SQS::Model::TagQueueOutcome | TagQueue (const Aws::SQS::Model::TagQueueRequest &request) const |
| Adds or updates tags on a queue. | |
| Aws::SQS::Model::UntagQueueOutcome | UntagQueue (const Aws::SQS::Model::UntagQueueRequest &request) const |
| Removes tags from a queue. | |
| sqs::JsonClient::JsonClient | ( | clients::http::Client & | http_client, |
| Credentials | credentials, | ||
| ClientSettings | settings, | ||
| ExtraCredentials | extra_credentials = {} ) |
Constructs a client.
| http_client | HTTP client used for POST requests. Must outlive *this. |
| credentials | Access keys for SigV4. Signing is skipped when both access_key_id and secret_key are empty, or when ExtraCredentials::authorization_override is set. |
| settings | Endpoint, region, timeout and TLS verification. |
| extra_credentials | Optional IAM token or prebuilt Authorization. |
Definition at line 497 of file json_client.cpp.
| AddPermissionOutcome sqs::JsonClient::AddPermission | ( | const Aws::SQS::Model::AddPermissionRequest & | request | ) | const |
Adds a permission to a queue policy.
Definition at line 605 of file json_client.cpp.
| ChangeMessageVisibilityOutcome sqs::JsonClient::ChangeMessageVisibility | ( | const Aws::SQS::Model::ChangeMessageVisibilityRequest & | request | ) | const |
Changes the visibility timeout of a received message.
Definition at line 625 of file json_client.cpp.
| ChangeMessageVisibilityBatchOutcome sqs::JsonClient::ChangeMessageVisibilityBatch | ( | const Aws::SQS::Model::ChangeMessageVisibilityBatchRequest & | request | ) | const |
Changes visibility timeout for a batch of received messages.
Definition at line 645 of file json_client.cpp.
| CreateQueueOutcome sqs::JsonClient::CreateQueue | ( | const Aws::SQS::Model::CreateQueueRequest & | request | ) | const |
Creates a queue and returns its URL.
Definition at line 694 of file json_client.cpp.
| DeleteMessageOutcome sqs::JsonClient::DeleteMessage | ( | const Aws::SQS::Model::DeleteMessageRequest & | request | ) | const |
Deletes a message from a queue by receipt handle.
Definition at line 723 of file json_client.cpp.
| DeleteMessageBatchOutcome sqs::JsonClient::DeleteMessageBatch | ( | const Aws::SQS::Model::DeleteMessageBatchRequest & | request | ) | const |
Deletes a batch of messages from a queue.
Definition at line 740 of file json_client.cpp.
| DeleteQueueOutcome sqs::JsonClient::DeleteQueue | ( | const Aws::SQS::Model::DeleteQueueRequest & | request | ) | const |
Deletes a queue.
Definition at line 786 of file json_client.cpp.
| GetQueueAttributesOutcome sqs::JsonClient::GetQueueAttributes | ( | const Aws::SQS::Model::GetQueueAttributesRequest & | request | ) | const |
Returns attributes of a queue.
Definition at line 799 of file json_client.cpp.
| GetQueueUrlOutcome sqs::JsonClient::GetQueueUrl | ( | const Aws::SQS::Model::GetQueueUrlRequest & | request | ) | const |
Resolves a queue name to a queue URL.
Definition at line 830 of file json_client.cpp.
| ListDeadLetterSourceQueuesOutcome sqs::JsonClient::ListDeadLetterSourceQueues | ( | const Aws::SQS::Model::ListDeadLetterSourceQueuesRequest & | request | ) | const |
Lists queues that have the given queue as a dead-letter target.
Definition at line 856 of file json_client.cpp.
| ListQueuesOutcome sqs::JsonClient::ListQueues | ( | const Aws::SQS::Model::ListQueuesRequest & | request | ) | const |
Lists queues in the account, optionally filtered by prefix.
Definition at line 920 of file json_client.cpp.
| ListQueueTagsOutcome sqs::JsonClient::ListQueueTags | ( | const Aws::SQS::Model::ListQueueTagsRequest & | request | ) | const |
Lists tags of a queue.
Definition at line 898 of file json_client.cpp.
| PurgeQueueOutcome sqs::JsonClient::PurgeQueue | ( | const Aws::SQS::Model::PurgeQueueRequest & | request | ) | const |
Deletes all messages from a queue.
Definition at line 957 of file json_client.cpp.
| ReceiveMessageOutcome sqs::JsonClient::ReceiveMessage | ( | const Aws::SQS::Model::ReceiveMessageRequest & | request | ) | const |
Receives messages from a queue. May long-poll up to WaitTimeSeconds.
Definition at line 970 of file json_client.cpp.
| RemovePermissionOutcome sqs::JsonClient::RemovePermission | ( | const Aws::SQS::Model::RemovePermissionRequest & | request | ) | const |
Removes a permission from a queue policy.
Definition at line 1021 of file json_client.cpp.
| SendMessageOutcome sqs::JsonClient::SendMessage | ( | const Aws::SQS::Model::SendMessageRequest & | request | ) | const |
Sends a message to a queue.
Definition at line 1038 of file json_client.cpp.
| SendMessageBatchOutcome sqs::JsonClient::SendMessageBatch | ( | const Aws::SQS::Model::SendMessageBatchRequest & | request | ) | const |
Sends a batch of messages to a queue.
Definition at line 1087 of file json_client.cpp.
| SetQueueAttributesOutcome sqs::JsonClient::SetQueueAttributes | ( | const Aws::SQS::Model::SetQueueAttributesRequest & | request | ) | const |
Sets attributes of a queue.
Definition at line 1171 of file json_client.cpp.
| TagQueueOutcome sqs::JsonClient::TagQueue | ( | const Aws::SQS::Model::TagQueueRequest & | request | ) | const |
Adds or updates tags on a queue.
Definition at line 1189 of file json_client.cpp.
| UntagQueueOutcome sqs::JsonClient::UntagQueue | ( | const Aws::SQS::Model::UntagQueueRequest & | request | ) | const |
Removes tags from a queue.
Definition at line 1202 of file json_client.cpp.