0

開発マシンでLocalstackを使用して AWS SNS をデプロイしましたが、現在、CLI から発行しているメッセージを消費しようとしてawslocalいます (基本的にはaws、ローカルの Localstack インフラに対するものです)。

まず、トピックを作成しました。

$ awslocal sns create-topic --name my-topic

次に、次に対する HTTP サブスクリプションを作成しましたhttp://localhost:8080/sns/publish

$ awslocal sns subscribe --topic-arn "arn:aws:sns:us-east-1:123456789012:my-topic" --protocol http --notification-endpoint http://localhost:8080/sns/publish

localhostポート8080で POST/sns/publishエンドポイントを使用してサーバーを実行しています。サブスクリプションを確認するために呼び出されることになっています。しかし、それは決して呼び出されません。

いくつかの手がかりがあります。Docker を使用して Localstack をデプロイしました。コンテナー ログを確認したところ、次のエラーが表示されました。

2018-07-02T10:20:03:INFO:werkzeug: 127.0.0.1 - - [02/Jul/2018 10:20:03] "POST /sns/publish HTTP/1.1" 405 -

HTTP ERROR 405 は Method Not Allowed エラーに対応しているため、ホスト マシンのエンドポイントではなく、コンテナー エンドポイントを呼び出そうとしています。

どうすればこれを解決できますか?

4

1 に答える 1