Начало работы с Message Queue
Выполним основные действия с использованием AWS CLI
-
Установите
AWS CLI — утилиту командной строки для работы с Message Queue. -
Создайте сервисный аккаунт с ролью
editor
. -
Создайте статические ключи доступа. Надежно сохраните идентификатор и секретный ключ. После того, как вы закроете окно, параметры секретного ключа станут недоступны.
-
Настройте AWS CLI:
-
Запустите интерактивную настройку профиля:
aws configure
-
Укажите полученный ранее идентификатор ключа сервисного аккаунта:
AWS Access Key ID [****************ver_]: <идентификатор_ключа_сервисного_аккаунта>
-
Укажите полученный ранее секретный ключ сервисного аккаунта:
AWS Secret Access Key [****************w5lb]: <секретный_ключ_сервисного_аккаунта>
-
Укажите имя региона по умолчанию
ru-central1
:Default region name [ru-central1]: ru-central1
-
Укажите формат выходных данных по умолчанию
json
:Default output format [None]: json
-
Чтобы посмотреть текущие настройки профиля, выполните команду:
aws configure list
Результат:
Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************aBc1 shared-credentials-file secret_key ****************DeF2 shared-credentials-file region ru-central1 config-file ~/.aws/config
-
-
Создайте очередь с именем
sample-queue
:AWS CLIКонсоль управленияaws sqs create-queue \ --queue-name <имя_очереди> \ --endpoint <эндпоинт>
Где:
--queue-name
— имя создаваемой очереди, напримерsample-queue
.--endpoint
— эндпоинт в значенииhttps://message-queue.api.cloud.yandex.net/
.
Результат:
{ "QueueUrl": "https://message-queue.api.cloud.yandex.net/aoeaql9r10cd********/000000000000********/sample-queue" }
Сохраните полученный URL очереди, он понадобится позднее.
-
В консоли управления
выберите каталог, в котором хотите создать очередь. -
Выберите сервис Message Queue.
-
Нажмите кнопку Создать очередь.
-
Укажите имя очереди:
sample-queue
.Имя может содержать строчные буквы латинского алфавита, цифры, дефисы и подчеркивания. Имя очереди FIFO должно заканчиваться суффиксом
.fifo
. Длина имени не должна превышать 80 символов. -
Выберите тип
Стандартная
. Не изменяйте другие настройки. -
Нажмите кнопку Создать.
-
Откройте созданную очередь.
-
На вкладке Обзор в блоке Общая информация скопируйте URL очереди, он понадобится позднее.
-
Отправьте сообщение в созданную очередь, используя сохраненный ранее URL очереди:
AWS CLIaws sqs send-message \ --message-body "<текст_сообщения>" \ --endpoint <эндпоинт> \ --queue-url <URL_очереди>
Где:
--message-body
— текст отправляемого в очередь сообщения, например,Hello World
.--endpoint
— эндпоинт в значенииhttps://message-queue.api.cloud.yandex.net/
.--queue-url
— URL очереди, в которую будет отправлено сообщение.
Результат:
{ "MD5OfMessageBody": "67e63db14341b5a696596634********", "MessageId": "765ff4d2-fa4bc83-6cfcc***-*****" }
-
Примите сообщение из очереди:
AWS CLIaws sqs receive-message \ --endpoint <эндпоинт> \ --queue-url <URL_очереди>
Где:
--endpoint
— эндпоинт в значенииhttps://message-queue.api.cloud.yandex.net/
.--queue-url
— URL очереди, из которой нужно получить сообщение.
Результат:
{ "Messages": [ { "MessageId": "948de7-9ec8d787-c*******-*", "ReceiptHandle": "EAEggbj********", "MD5OfBody": "ed076287532e86365e841e92********", "Body": "Hello World", "Attributes": { "ApproximateFirstReceiveTimestamp": "15459********", "ApproximateReceiveCount": "1", "SentTimestamp": "15459********", "SenderId": "abcdefkbh72is78********" } } ] }
Сохраните значение параметра
ReceiptHandle
, оно понадобится позднее. -
Удалите сообщение из очереди.
Сообщения после обработки следует удалять из очереди, чтобы приложения не обрабатывали их повторно.
Чтобы удалить принятое из очереди сообщение, используйте сохраненное ранее значение параметра
ReceiptHandle
:AWS CLIaws sqs delete-message \ --endpoint <эндпоинт> \ --queue-url <URL_очереди> --receipt-handle <идентификатор_получения>
Где:
--endpoint
— эндпоинт в значенииhttps://message-queue.api.cloud.yandex.net/
.--queue-url
— URL очереди, из которой нужно удалить сообщение.--receipt-handle
— сохраненный ранее идентификатор получения сообщенияReceiptHandle
.
-
Удалите очередь:
AWS CLIКонсоль управленияaws sqs delete-queue \ --endpoint <эндпоинт> \ --queue-url <URL_очереди>
Где:
--endpoint
— эндпоинт в значенииhttps://message-queue.api.cloud.yandex.net/
.--queue-url
— URL очереди, которую нужно удалить.
- В консоли управления
выберите каталог, которому принадлежит очередь. - Выберите сервис Message Queue.
- Нажмите значок
напротив нужной очереди и выберите Удалить. - В открывшемся окне нажмите кнопку Удалить.