nodejsアプリケーションをEBでWebサーバー+ワーカーの組み合わせとして展開する予定です。 Webサーバーは、json(要求本体内)をSQSキューに挿入します。 Workerはそのキューを読み取り、いくつかの作業を行います。AWS EB Workerを使用している場合のカスタムヘッダー
問題は私のワーカーにも必要です。要求にヘッダーを設定して作業者が使用できるようにする方法はありますか?
nodejsアプリケーションをEBでWebサーバー+ワーカーの組み合わせとして展開する予定です。 Webサーバーは、json(要求本体内)をSQSキューに挿入します。 Workerはそのキューを読み取り、いくつかの作業を行います。AWS EB Workerを使用している場合のカスタムヘッダー
問題は私のワーカーにも必要です。要求にヘッダーを設定して作業者が使用できるようにする方法はありますか?
はい、json bodyとmessage属性を設定できます。私はこれを確認しました。ここで私はEBのSQSデーモンから受信したヘッダのログがある(私のカスタムフィールドは、「ABC」と「DEF」です):
2017-09-10 16:19:53,689; INFO ; headers received:
X-Aws-Sqsd-Attr-Abc: 205
X-Aws-Sqsd-Attr-Def: 2017-09-10T16:19:53.537679+00:00
X-Aws-Sqsd-Msgid: bfd25652-9923-4c4c-86f2-9fea9fa2fas
X-Aws-Sqsd-Receive-Count: 1
X-Aws-Sqsd-Path:
X-Aws-Sqsd-Queue: myqueue
Content-Length: 16
User-Agent: aws-sqsd/2.3
X-Aws-Sqsd-First-Received-At: 2017-09-10T16:19:53Z
X-Aws-Sqsd-Sender-Id: AIDAJP6NVOXNJ7HY7QYOM
X-Aws-Sqsd-Sent-At: 2017-09-10T16:19:53Z
Host: localhost
Content-Type: application/json
は、ドキュメントを参照してください:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features-managing-env-tiers.html#worker-daemon
私はトラブルのメッセージを取得していましたAWSの実装やドキュメントにエラーがあることが判明しました。なぜなら、問題は私のメッセージ属性のキー名にアンダースコアを使用していたためです。おそらくサポートされていますが、実際にはHTTPヘッダーはメッセージ属性を含めることができません。