GetQueueAttributes#

Description#

Возвращает атрибуты указанной очереди.

Request Syntax#

POST / HTTP/1.1
Content-type: application/json

{
    "QueueUrl": "string",
    "AttributeNames": [
        "string"
    ]
}

Request Parameters#

Необходимые параметры#

  • QueueUrl — URL очереди.

    • Тип: String

    • Необходимо: Да

Опциональные параметры#

  • AttributeNames — Список имён запрашиваемых атрибутов. Если не указано ни одного имени или указано All, возвращаются все атрибуты.

    • Тип: Array of strings

    • Необходимо: Нет

Поддерживаемые атрибуты#

  • ApproximateNumberOfMessages — Приблизительное количество сообщений, доступных для получения из очереди.

  • ApproximateNumberOfMessagesDelayed — Приблизительное количество сообщений, задержанных и недоступных для чтения.

  • ApproximateNumberOfMessagesNotVisible — Приблизительное количество сообщений, находящихся в процессе обработки (получены, но ещё не удалены или не истёк тайм-аут видимости).

  • CreatedTimestamp — Время создания очереди в формате Unix epoch.

  • DelaySeconds — Время в секундах, на которое задерживается доставка всех сообщений в очереди.

  • LastModifiedTimestamp — Время последнего изменения атрибутов очереди в формате Unix epoch.

  • MaximumMessageSize — Максимальный размер сообщения в байтах.

  • MessageRetentionPeriod — Время в секундах, в течение которого SQS сохраняет сообщение.

  • QueueArn — ARN очереди.

  • ReceiveMessageWaitTimeSeconds — Время ожидания в секундах для режима длительного опроса.

  • VisibilityTimeout — Время в секундах, в течение которого сообщение остаётся невидимым после получения.

Response Syntax#

HTTP/1.1 200
Content-type: application/json

{
    "Attributes": {
        "string": "string"
    }
}

Response Elements#

  • Attributes — Атрибуты очереди.

    • Тип: String map

Examples#

boto3
 import boto3

 session = boto3.Session(
    aws_access_key_id="<AWS_ACCESS_KEY_ID>",
    aws_secret_access_key="<AWS_SECRET_ACCESS_KEY>",
    region_name="",
 )

 sqs_client = session.client(
    'sqs',
    endpoint_url='https://sqs.ru-msk.k2.cloud/'
 )

 response = sqs_client.get_queue_attributes(
     QueueUrl='https://sqs.ru-msk.k2.cloud/123456789012/my-queue',
     AttributeNames=['All']
 )

 for attr_name, attr_value in response['Attributes'].items():
     print(f"{attr_name}: {attr_value}")
boto3 - Specific Attributes
 import boto3

 session = boto3.Session(
    aws_access_key_id="<AWS_ACCESS_KEY_ID>",
    aws_secret_access_key="<AWS_SECRET_ACCESS_KEY>",
    region_name="",
 )

 sqs_client = session.client(
    'sqs',
    endpoint_url='https://sqs.ru-msk.k2.cloud/'
 )

 response = sqs_client.get_queue_attributes(
     QueueUrl='https://sqs.ru-msk.k2.cloud/123456789012/my-queue',
     AttributeNames=[
         'ApproximateNumberOfMessages',
         'VisibilityTimeout'
     ]
 )

 print(response['Attributes'])
aws-cli
 aws sqs --endpoint https://sqs.ru-msk.k2.cloud/ get-queue-attributes \\
     --queue-url https://sqs.ru-msk.k2.cloud/123456789012/my-queue \\
     --attribute-names All