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
})