Bạn có thể thực hiện các thao tác trên SQS như liệt kê, tạo, xóa Hàng đợi và gửi tin nhắn, nhận tin nhắn từ thiết bị đầu cuối của bạn bằng aws-cli. Trong bài viết này, chúng ta sẽ xem các lệnh để thực hiện các loại thao tác này. Trước khi chúng ta tiếp tục, chúng tôi cho rằng bạn đã quen thuộc với AWS SQS Queue.
Để biết chi tiết về các tùy chọn có sẵn cho aws-cli, hãy truy cập tài liệu chính thức tại đây.
Nếu bạn thực hiện lệnh sau, bạn sẽ nhận được lỗi vì bạn chưa cấu hình quyền truy cập vào tài khoản AWS của mình trong thiết bị đầu cuối.
aws sts get-caller-identity
Xuất quyền truy cập người dùng AWS IAM và khóa bí mật trên thiết bị đầu cuối của bạn bằng các lệnh sau.
Lần này, bạn có thể kiểm tra danh tính của mình bằng cách thực hiện lệnh sau
Bạn cũng có thể liệt kê các hàng đợi có tiền tố phù hợp
Để tạo hàng đợi SQS, hãy thực hiện lệnh sau.
Bạn có thể cũng đính kèm các thẻ khi tạo Hàng đợi.
Người ta cũng có thể chỉ định các thuộc tính khi tạo Hàng đợi, để tạo Hàng đợi có thuộc tínhDelaySeconds, hãy thực hiện lệnh sau.
Kiểm tra tất cả các thuộc tính mà Hàng đợi có.
Kiểm tra thuộc tính cụ thể mà Hàng đợi có, trong trường hợp này, giá trị của DelaySeconds sẽ được lệnh trả về.
Hãy gửi và nhận tin nhắn đến/từ Hàng đợi.
Bạn có thể kiểm tra số lượng tin nhắn trong Bảng điều khiển SQS.
Nếu bạn muốn xóa tin nhắn khỏi Hàng đợi, bạn có thể xóa Hàng đợi
Để xóa một Hàng đợi, bạn sẽ cần URL của hàng đợi đó.
Để biết chi tiết về các tùy chọn có sẵn cho aws-cli, hãy truy cập tài liệu chính thức tại đây.
Điều kiện tiên quyết
- Tài khoản AWS (Tạo nếu bạn chưa có).
- Hiểu biết cơ bản về SQS Queues (Nhấp vào đây để học cách tạo Hàng đợi SQS bằng Terraform).
- Người dùng AWS IAM có AmazonSQSFullAccesschính sách được đính kèm vào chính sách đó cùng với khóa truy cập và khóa bí mật của chính sách đó (Nhấp vào đây để học cách tạo Người dùng IAM).
- AWS CLI được cài đặt trên máy cục bộ của bạn.
Chúng ta sẽ làm gì?
- Kiểm tra aws cli và xuất AWS access & khóa bí mật trên máy cục bộ của bạn.
- Quản lý chủ đề SNS bằng aws cli.
Kiểm tra aws cli và xuất aws access & khóa bí mật trên máy cục bộ của bạn.
Nếu bạn không có aws-cli thì hãy tham khảo tài liệu chính thứctại đây để cài đặt trên máy cục bộ của bạn và sau đó kiểm tra phiên bản của nó bằng lệnh sau.
Mã:
aws --version
aws sts get-caller-identity
Xuất quyền truy cập người dùng AWS IAM và khóa bí mật trên thiết bị đầu cuối của bạn bằng các lệnh sau.
Mã:
export AWS_ACCESS_KEY_ID=
Mã:
export AWS_SECRET_ACCESS_KEY=
Mã:
aws sts get-caller-identity
Quản lý hàng đợi SQS bằng aws-cli
Liệt kê tất cả các hàng đợi khả dụng trong vùng hiện tại của bạn
Mã:
aws sqs list-queues
Mã:
aws sqs list-queues --queue-name-prefix "rahul"
Để tạo hàng đợi SQS, hãy thực hiện lệnh sau.
Mã:
aws sqs create-queue --queue-name my-sqs-using-cli
Mã:
aws sqs create-queue --queue-name my-sqs-using-cli-with-tag --tags "env"="test"
Người ta cũng có thể chỉ định các thuộc tính khi tạo Hàng đợi, để tạo Hàng đợi có thuộc tínhDelaySeconds, hãy thực hiện lệnh sau.
Mã:
aws sqs create-queue --queue-name my-sqs-using-cli-with-attribute --tags "env"="test" --attributes DelaySeconds=10
Mã:
aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com//my-sqs-using-cli-with-attribute --attribute-names Tất cả
Mã:
aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com//my-sqs-using-cli-with-attribute --attribute-names DelaySeconds
Hãy gửi và nhận tin nhắn đến/từ Hàng đợi.
Mã:
aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com//my-sqs-using-cli --message-body "Kiểm tra tin nhắn đến my-sqs-using-cli sqs"
Mã:
aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com//my-sqs-using-cli
Bạn có thể kiểm tra số lượng tin nhắn trong Bảng điều khiển SQS.
Nếu bạn muốn xóa tin nhắn khỏi Hàng đợi, bạn có thể xóa Hàng đợi
Mã:
sqs purge-queue --queue-url https://sqs.us-east-1.amazonaws.com//my-sqs-using-cli
Mã:
sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com//my-sqs-using-cli
Để xóa một Hàng đợi, bạn sẽ cần URL của hàng đợi đó.
Mã:
aws sqs list-queues --queue-name-prefix "rahul"
Mã:
aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com//rahul-test
Mã:
aws sqs list-queues --queue-name-prefix "rahul"