翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
FIFO トピックの Amazon SNS メッセージ重複除外
Amazon SNSFIFOトピックと Amazon SQSFIFOキューはメッセージ重複排除をサポートしています。これにより、次の条件が満たされている限り、厳密に 1 回限りのメッセージの配信と処理が提供されます。
-
サブスクライブされた Amazon SQSFIFOキューが存在し、Amazon SNSサービスプリンシパルがキューにメッセージを配信できるようにするアクセス許可を持っています。
-
Amazon SQSFIFOキューコンシューマーはメッセージを処理し、可視性タイムアウトが期限切れになる前にキューから削除します。
-
Amazon SNSサブスクリプショントピックには、メッセージフィルタリング はありません。メッセージフィルタリングを設定すると、Amazon SNSFIFOトピックは at-most-once 配信をサポートします。これは、サブスクリプションフィルターポリシーに基づいてメッセージをフィルタリングできるためです。
-
メッセージ配信の確認応答を妨げるネットワークの中断はありません。
注記
メッセージ重複除外は、個々のメッセージグループ ではなく、Amazon SNSFIFOトピック全体に適用されます。
Amazon SNSFIFOトピックにメッセージを発行する場合、メッセージには重複排除 ID を含める必要があります。この ID は、Amazon SNSFIFOトピックがサブスクライブされた Amazon SQSFIFOキューに配信するメッセージに含まれます。
特定の重複排除 ID を持つメッセージが Amazon SNSFIFOトピックに正常に発行されると、5 分間の重複排除間隔内に同じ重複排除 ID で発行されたメッセージは受け入れられますが、配信されません。Amazon SNSFIFOトピックは、メッセージがサブスクライブされたエンドポイントに配信された後も、メッセージ重複排除 ID を追跡し続けます。
メッセージ本文が発行されたメッセージごとに一意であることが保証されている場合は、Amazon SNSFIFOトピックとサブスクライブされた Amazon SQSFIFOキューに対してコンテンツベースの重複排除を有効にできます。Amazon SNS はメッセージ本文を使用して、各メッセージの重複排除 ID として使用する一意のハッシュ値を生成するため、各メッセージを送信するときに重複排除 ID を設定する必要はありません。
注記
メッセージ属性はハッシュ計算に含まれません。
Amazon SNSFIFOトピックでコンテンツベースの重複除外が有効になっており、メッセージが重複除外 ID で発行されている場合、発行された重複除外 ID は生成されたコンテンツベースの重複除外 ID を上書きします。
自動車部品価格管理のユースケース例では、価格更新ごとに汎用的に一意の重複除外 ID を設定する必要があります。これは、メッセージ属性が卸売と小売で異なる場合でも、メッセージ本文が同一になる可能性があるためです。ただし、企業が製品 ID と製品料金とともにメッセージ本文にビジネスタイプ (卸売または小売) を追加した場合、Amazon SNSFIFOトピックとサブスクライブされた Amazon SQSFIFOキューでコンテンツベースの重複を有効にすることができます。
Amazon SNSFIFOトピックでは、メッセージの順序付けと重複排除に加えて、 AWS KMS キーを使用したメッセージサーバー側の暗号化 (SSE) と、 を使用したVPCエンドポイントを介したメッセージプライバシーがサポートされています AWS PrivateLink。詳細については、「FIFO トピックの Amazon SNS メッセージセキュリティ」を参照してください。