Simple Queue Service – Phần 1

Tram Ho

Mục Đích

  • Call api tới AWS Simple Queue Service(SQS) thông qua sdk

Code Mẫu

Chuẩn bị

  • cài đặt sdk aws, run:

  • cấu hình access-key and secret-key.

Tạo một session

  • tạo một session để tái sử dụng trong những function khác
  • profile được dùng là default, để biết profile đang được cấu hình, run trên linux/mac

  • function để tạo 1 session

Cách tạo ra 1 queue

  • sử dụng function CreateQueue trong aws-sdk để tạo 1 queue cho việc test.
  • có một số parameter quan trọng cần lưu ý:
    • queueName: name của queue mà bạn muốn tạo
    • DelaySeconds: thời gian message bạn muốn giữ lại trước khi gửi đi,
    • VisibilityTimeout: thời gian một message trước khi expire.
  • function create 1 queue

Get URL của 1 queue

  • Tất cả các apis điều yêu cầu url của queue, vì thế sử dụng GetQueueURL để truy vấn url của queue-name
  • function get url

Gửi message đến queue

  • chúng ta sẽ sử dụng hàm SendMessage từ aws-sdk để gửi message đến queue
  • một vài paramters quan trọng cần chú ý trong lúc gửi message:
    • QueueUrl: url của queue muốn gửi message.
    • MessageBody: body được gửi đến queue, có thể là json-string hoặc string
  • function gửi message

Nhận message từ queue

  • chúng ta sẽ sử dụng hàm ReceiveMessage từ aws-sdk để lấy message từ queue
  • một vài paramters quan trọng cần được chú ý trong lúc nhận message:
    • QueueUrl: url của queue muốn nhận message.
    • MaxNumberOfMessages: tổng số message có thể nhận được.
  • function receive messsage:

Xoá message trong queue

  • khi nhận message từ queue, message sẽ không tự động xoá ra khỏi queue.
  • consumer khác có thể nhận message sau thời gian VisibilityTimeout hết hạn.
  • để đảm bảo rằng không bị trùng message thì cần phải xoá.
  • chúng ta sẽ sử dụng hàm DeleteMessage từ aws-sdk để xoá message từ queue
  • cần cung cấp ReceiptHandle trong thành phần của method
  • function xoá message:

Xoá tất cả message trong queue

  • chúng ta sẽ sử dụng hàm PurgeQueue từ aws-sdk để xoá tất cả message trong queue
  • một vài paramters quan trọng cần được chú ý trong lúc xoá tất cả message:
  • function xoá tất cả message:

Ref

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo