Amazon SQS

投稿日:

FIFOキュー使用時の注意点

  • キュー名の最後に .fifo が必要

重複排除

以下のどちらかの方法で重複排除をするための方式を指定する必要がある

  • MessageDeduplicationIdにキーを指定
  • コンテンツの中身(SHA-256)で判別

メッセージグループID

FIFOキューではメッセージグループIDを指定することで、その中での順序が維持される。

Rubyでの実装例

FIFOキューの場合

sqs = Aws::SQS::Client.new(region: 'ap-northeast-1')
sqs.send_message({
    queue_url: QUEUE_URL,
    message_body: JSON.generate(params),
    message_deduplication_id: params['event_id'], # メッセージ重複排除ID
    message_group_id: params['team_id'], # メッセージグループID
})