2017-12-07 7 views
1

私はAWSの一般的な質問があります。 AWS sdkの使用を開始しましたが、AWS(例:cloudwatchイベント)からイベントを非同期で受信したい場合、ラムダ関数が唯一の方法です。イベント用のAWSコールバックを登録するシンプルなアプリケーションを作成したいと思いますが、ラムダを使用したくないので、私は自分のアプリケーションからポーリングしています。ポーリングが唯一の選択肢である場合、またはポーリングなしでそれを解決するより良い方法がある場合は、教えてください。AWS - ラムダなしでイベントを非同期的に受信する方法はありますか

答えて

3

にイベントを送信することができますがあります。

あなたはCloudWatchのイベントのターゲットとして、以下のAWSサービスを設定することができます:ちょうどラムダより多くよりですので、私はラムダがOであることをあなたがあなたの質問に述べる理由はわからない

Amazon EC2 instances 
AWS Lambda functions 
Streams in Amazon Kinesis Streams 
Delivery streams in Amazon Kinesis Firehose 
Amazon ECS tasks 
SSM Run Command 
SSM Automation 
Step Functions state machines 
Pipelines in AWS CodePipeline 
Amazon Inspector assessment templates 
Amazon SNS topics 
Amazon SQS queues 
Built-in targets 
The default event bus of another AWS account 

nlyオプション。 Amazon EC2 instancesAmazon SNS topicsのオプションはどちらも、Amazonがサービスをポーリングする代わりにイベントをサービスに「プッシュ」する方法を提供します。

+0

情報ありがとう。私はSNSを試して、ちょうど私がhttp/httpsエンドポイントに通知をプッシュできることを学んだ。 Amazon EC2インスタンスをターゲットとして使用する方法を見つけることができません – PMat

+1

ええ、この文書のEC2インスタンスのことは、今考えてみるとあまり意味がありません。私はそれがEC2ステータスの失敗のような特定のCloudWatchイベントによってトリガーされる特定のEC2アクションだと思います。間違いなくSNSはあなたのユースケースのために行く方法です。 –

+0

は、プライベートIP上のec2で残りのエンドポイントを実行し、そのエンドポイントにSNCサブスクライバのプライベートIPを提供することが可能です。 – PMat

3

cloudwatch eventsでは、ルールを設定し、EC2インスタンスからポーリングできるSQSキューを含むさまざまなターゲットをトリガーできます。

ラムダは確かに人気のエンドポイントであるが、docsに基づいて、他のターゲットはあなたがthe documentationから

+0

私はそれについて知っていました、私はポーリングしたくない、私はポーリングをしないようにしようとしています – PMat

+1

あなたは何を達成しようとしていますか?ラムダは、通常、クラウドウォッチイベントに応答するための適切なソリューションです。ラムダを使用したくない理由は何ですか? – tkwargs

+0

ラムダをバイパスできるかどうかを確認したい。質問は基本的にSDKに関するものです。私の場合、GOlangを使用しています。私は定期的にgeteventsをポーリング以外のコールバックメソッドが表示されない – PMat

2

すでに上記の回答が参考になる場合もありますが、問題に対処するための選択肢の1つがこれに該当する可能性があります。

AWS SNSサービスを利用すると、AWSリソースのイベントを購読することができます。そして、SNSはアプリケーションエンドポイントにイベントを公開することができます。パブ/サブモデル以外は何もありません。

は、エンドポイントは、あなたのHTTPまたはHTTPSベースのアプリケーション可能性がありhttp://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html

このリンクを参照してください。

関連する問題