diff --git a/README.md b/README.md index 7b73621..08d8e23 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,56 @@ | **Secret Key** | `J8mElXq8Nwww8iFRtGJCm8KfxM9XSTluTqS2A67xsEE` | | **Region** | `us-east-1` (любая) | -## Быстрый тест (curl) +--- + +## AWS CLI + +Самый простой способ работы — через стандартный AWS CLI. + +```bash +export AWS_ACCESS_KEY_ID="SQSAK-test001-ae4dc8" +export AWS_SECRET_ACCESS_KEY="J8mElXq8Nwww8iFRtGJCm8KfxM9XSTluTqS2A67xsEE" +export AWS_DEFAULT_REGION="us-east-1" +ENDPOINT="--endpoint-url https://sqs.kube5s.ru/sqs/test001" +``` + +### Создать очередь +```bash +aws sqs create-queue --queue-name myqueue $ENDPOINT +``` + +### Список очередей +```bash +aws sqs list-queues $ENDPOINT +``` + +### Отправить сообщение +```bash +aws sqs send-message \ + --queue-url https://sqs.kube5s.ru:443/sqs/test001/test001/myqueue \ + --message-body "Hello from CLI!" \ + $ENDPOINT +``` + +### Получить сообщение +```bash +aws sqs receive-message \ + --queue-url https://sqs.kube5s.ru:443/sqs/test001/test001/myqueue \ + $ENDPOINT +``` + +### Удалить очередь +```bash +aws sqs delete-queue \ + --queue-url https://sqs.kube5s.ru:443/sqs/test001/test001/myqueue \ + $ENDPOINT +``` + +> **Совет:** `--endpoint-url` — единственное отличие от работы с Amazon SQS. Весь остальной код без изменений. + +--- + +## curl ### Создать очередь ```bash @@ -32,6 +81,8 @@ curl -s -u "SQSAK-test001-ae4dc8:J8mElXq8Nwww8iFRtGJCm8KfxM9XSTluTqS2A67xsEE" \ "https://sqs.kube5s.ru/sqs/test001?Action=ReceiveMessage&QueueUrl=https://sqs.kube5s.ru/sqs/test001/test001/myqueue&Version=2012-11-05" ``` +--- + ## Python (boto3) ```python @@ -57,6 +108,8 @@ msgs = sqs.receive_message(QueueUrl=queue["QueueUrl"]) print(msgs["Messages"][0]["Body"]) ``` +--- + ## Node.js (@aws-sdk/client-sqs) ```js @@ -77,10 +130,46 @@ const res = await sqs.send(new ReceiveMessageCommand({ QueueUrl: queue.QueueUrl console.log(res.Messages[0].Body); ``` +--- + +## Проверка работоспособности + +В репозитории есть `quick_test.sh` — скрипт для быстрой проверки сервиса. + +**Требования:** `curl`, `bash`. + +```bash +bash quick_test.sh +``` + +Что проверяет: +1. Создание очереди +2. Очередь видна в списке +3. Отправка сообщения +4. Получение сообщения (тело совпадает) +5. Удаление очереди +6. Очередь исчезла из списка + +Ожидаемый вывод: +``` +=== SQS Quick Test === + + ✅ Создание очереди + ✅ Очередь в списке + ✅ Отправка сообщения + ✅ Получение сообщения + ✅ Удаление очереди + ✅ Очередь удалена из списка + +Результат: 6 OK / 0 FAIL +Всё работает! +``` + +--- + ## Особенности -- Полная совместимость с Amazon SQS API (AWS SDK работает без изменений — только endpoint меняется) -- Физическая изоляция: каждый тенант получает отдельный pod, namespace, диск -- Persistence: данные сохраняются при перезапуске -- Web UI для визуального управления очередями - +- **Полная совместимость с Amazon SQS API** — AWS SDK и CLI работают без изменений, только endpoint меняется +- **Физическая изоляция** — каждый тенант получает отдельный pod, namespace, диск +- **Persistence** — данные сохраняются при перезапуске +- **Web UI** — визуальное управление очередями