userver: sqs::JsonClient Class Reference
Loading...
Searching...
No Matches
sqs::JsonClient Class Reference

#include </data/code/userver/libraries/sqs/include/userver/sqs/json_client.hpp>

Detailed Description

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.

Example usage:

settings.endpoint = "https://sqs.example.com";
settings.region = "us-east-1";
settings.timeout = std::chrono::seconds{30};
const sqs::Credentials credentials{
.access_key_id = "access-key",
.secret_key = "secret-key",
};
sqs::JsonClient client{http_client, credentials, settings};
See also
SQS JSON 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
JsonClientoperator= (const JsonClient &)=delete
 JsonClient (JsonClient &&) noexcept
JsonClientoperator= (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.

Constructor & Destructor Documentation

◆ JsonClient()

sqs::JsonClient::JsonClient ( clients::http::Client & http_client,
Credentials credentials,
ClientSettings settings,
ExtraCredentials extra_credentials = {} )

Constructs a client.

Parameters
http_clientHTTP client used for POST requests. Must outlive *this.
credentialsAccess keys for SigV4. Signing is skipped when both access_key_id and secret_key are empty, or when ExtraCredentials::authorization_override is set.
settingsEndpoint, region, timeout and TLS verification.
extra_credentialsOptional IAM token or prebuilt Authorization.

Definition at line 497 of file json_client.cpp.

Member Function Documentation

◆ AddPermission()

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.

◆ ChangeMessageVisibility()

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.

◆ ChangeMessageVisibilityBatch()

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.

◆ CreateQueue()

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.

◆ DeleteMessage()

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.

◆ DeleteMessageBatch()

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.

◆ DeleteQueue()

DeleteQueueOutcome sqs::JsonClient::DeleteQueue ( const Aws::SQS::Model::DeleteQueueRequest & request) const

Deletes a queue.

Definition at line 786 of file json_client.cpp.

◆ GetQueueAttributes()

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.

◆ GetQueueUrl()

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.

◆ ListDeadLetterSourceQueues()

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.

◆ ListQueues()

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.

◆ ListQueueTags()

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.

◆ PurgeQueue()

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.

◆ ReceiveMessage()

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.

◆ RemovePermission()

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.

◆ SendMessage()

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.

◆ SendMessageBatch()

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.

◆ SetQueueAttributes()

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.

◆ TagQueue()

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.

◆ UntagQueue()

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.


The documentation for this class was generated from the following files: