問題タブ [localstack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Celery コンシューマーが LocalStack の SQS キューからメッセージを受信しない
LocalStack サーバーに SQS キューがあり、そこからのメッセージを Celery コンシューマーで消費しようとしています。
コンシューマが queue などのキューに適切に接続されていることは継ぎ目ですが、コマンドsqs-test-queueでメッセージを送信しようとしてもメッセージを受信しません。aws
私celeryconfig.pyはこのように見えます:
私のtasks.pyモジュールは次のようになります。
それを実行しようとしましたがcelery -A tasks worker -l INFO -Q sqs-test-queue、すべてがうまくいきました:
でメッセージを送信しようとしてaws sqs send-message --endpoint-url=http://<IP>:<PORT> --queue-url=http://localhost:<PORT>/queue/sqs-test-queue --message-body="Test message"も、何も起こりません。
私は何を間違っていますか?多分設定で何かを見逃しましたか?
PS:コマンドを実行しようとするとaws sqs receive-message --endpoint-url=http://<IP>:<PORT> --queue-url=http://localhost:<PORT>/queue/sqs-test-queue、メッセージを取得できます。
ノート:
私は使用Python 3.7.0していますが、私のpip freeze見た目は次のようになります。
node.js - Kinesis Consumer の DynamoDB エンドポイントをオーバーライドできません
aws-sdk、localstack、および aws-kcl を使用してローカル環境をセットアップできません。コンシューマーを作成してローカル環境で実行しようとすると、資格情報が正しくないというエラーが表示されます。そのため、Kinesis コンシューマーは常に実際の Amazon DynamoDB にアクセスし、ローカルスタックの dynamodb を指すことはできません。問題は、どうすればそれを自分のローカル dynamodb に向けることができるかということです。