Skip to content

Latest commit

 

History

History
74 lines (48 loc) · 4.72 KB

File metadata and controls

74 lines (48 loc) · 4.72 KB

サーバーレスリファレンスアーキテクチャ: リアルタイムのストリーム処理

AWS Lambda および Amazon Kinesis を使用して、アプリケーションのアクティビティ追跡、トランザクション注文処理、クリックストリーム分析、データクレンジング、メトリックス生成、ログフィルタリング、インデックス作成、ソーシャルメディア分析、および IoT デバイスデータテレメトリと測定のリアルタイムストリーミングデータを処理できます。この に示すアーキテクチャは、AWS CloudFormation テンプレートを使用して作成できます。

テンプレート は以下を実行します。

  • Kinesis Stream を作成する

  • <stackname>-EventData という名前の DynamoDB テーブルを作成する

  • Lambda 関数 1 (<stackname>-DDBEventProcessor) を作成する (この関数は Kinesis からレコードを受け取り、レコードを DynamoDB テーブルに書き込みます)

  • IAM ロールとポリシーを作成し、イベントを処理する Lambda 関数による Kinesis Stream からの読み取りと DynamoDB テーブルへの書き込みを許可する

  • ユーザーが API クライアントで使用する認証情報とともに、イベントを Kinesis ストリームに 配置するアクセス権限を持つ IAM ユーザーを作成する

手順

ステップ 1 - AWS CloudFormation スタックを テンプレート で作成します。AWS CloudFormation テンプレートが、アプリケーションのすべてのコンポーネントの構築、デプロイ、および設定を完全に自動化します。

Launch Real-time Stream Processing into North Virginia with CloudFormation

ステップ 2 - AWS CloudFormation スタックが正常に作成されたら、[Outputs] タブを選択し、次のステップのデモ Twitter クライアントで必要な AWS パラメーターを表示できます。

ステップ 3 - サンプルアプリケーションを実行するには、AWS および Twitter 情報でコードを更新する必要があります。テキストエディターで producer/twitter2kinesis.py を開きます。

ステップ 4 - Twitter API にアクセスするには、アクセストークン を取得する必要があります。これらが利用可能であることを確認し、次のパラメーターに情報を入力します。

Twitter API のパラメーター

consumer_key = ""
consumer_secret = ""
access_token_key = ""
access_token_secret = ""

ステップ 5 - AWS 認証情報および Amazon Kinesis ストリーム名に値を入力します。これは、ステップ 2 で取得した CloudFormation テンプレートの [Outputs] タブからの情報です。

AWS のパラメーター - CloudFormation テンプレートの [Outputs] タブから

access_key = ""
secret_access_key = ""
region = ""
stream_name = ""

ステップ 6 - 最後に、サンプルコードを実行する前に、Python モジュール boto3 と TwitterAPI とともに Python がインストールされている必要があります。すでにモジュールがない場合は、pip を使用してインストールします。

pip install boto3 TwitterAPI

テスト

Client and Stream Processor Diagram

ステップ 1 - コマンドラインから producer/twitter2kinesis.py Python アプリケーションを実行し、Kinesis ストリームへのツィートの送信を開始します。

python twitter2kinesis.py

ステップ 2 - Amazon DynamoDB 管理コンソールで、<stackname>-EventData というテーブルを選択し、レコードを調べます。

クリーンアップ

作成されたすべてのリソースを削除するには、AWS CloudFormation スタックを削除します。