Начало работы с 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.
- Нажмите значок
напротив нужной очереди и выберите Удалить. - В открывшемся окне нажмите кнопку Удалить.