Publish

publish Map
publish セクションを使用すると、サービスは 1 つまたは複数の SNS トピックにメッセージをパブリッシュできます。

publish:
  topics:
    - name: orderEvents

上記の例では、この Manifest は、Copilot の Environment にデプロイされた他の Worker Service がサブスクライブできる orderEvents という名前の SNS トピックを定義しています。COPILOT_SNS_TOPIC_ARNS という名前の環境変数が、JSON 文字列としてワークロードに設定されます。

JavaScriptでは、次のように記述できます。

const {orderEvents} = JSON.parse(process.env.COPILOT_SNS_TOPIC_ARNS)
詳しくは、パブリッシュ / サブスクライブのページをご覧ください。

publish.topics Array of topics
topic オブジェクトのリスト。

publish.topics.topic Map
1 つの SNS トピックの設定を保持します。

publish.topics.topic.name String 必須項目。SNS トピックの名前です。大文字、小文字、数字、ハイフン、アンダースコアのみを含む必要があります。

publish.topics.topic.fifo Boolean or Map FIFO (first in, first out) SNS トピック設定。 true と指定した場合、 Copilot は FIFO でトピックを作成します。

publish:
  topics:
    - name: mytopic
      fifo: true

また, SNS FIFO トピックの高度な設定も可能です。

publish:
  topics:
    - name: mytopic
      fifo:
        content_based_deduplication: true

publish.topics.topic.fifo.content_based_deduplication Boolean パブリッシュされたメッセージごとにメッセージ本文が一意であることが保証されている場合、SNS FIFO トピックの重複排除を有効化できます。