翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
例: Kinesis Data Analytics アプリケーションにリファレンスデータを追加する
この実習では、既存の Amazon Kinesis Data Analytics アプリケーションにリファレンスデータを追加します。リファレンスデータについては、次のトピックを参照してください。
この実習では、Kinesis Data Analytics で作成したアプリケーションにリファレンスデータを追加します。開始方法演習。リファレンスデータは、各ティッカーシンボルの会社名を提供します。次に例を示します。
Ticker, Company AMZN,Amazon ASD, SomeCompanyA MMB, SomeCompanyB WAS, SomeCompanyC
まず、使用開始の演習のステップを完了してスターターアプリケーションを作成します。次に、以下のステップに従ってリファレンスデータを設定し、アプリケーションに追加します。
-
データを準備する
-
Amazon Simple Storage Service (Amazon S3) では、前述のリファレンスデータをオブジェクトとして保存します。
-
ユーザーに代わって Amazon S3 オブジェクトを読み取るためにKinesis Data Analytics が引き受けることができる IAM ロールを作成します。
-
-
アプリケーションにリファレンスデータソースを追加します。
Kinesis Data Analytics は Amazon S3 オブジェクトを読み取り、アプリケーションコードでクエリできるアプリケーション内リファレンステーブルを作成します。
-
コードをテストします。
アプリケーションコード内に、アプリケーション内ストリームをアプリケーション内リファレンステーブルに結合して各ティッカーシンボルの会社名を取得する結合クエリを作成できます。
ステップ 1: Prepare
このセクションでは、サンプルのリファレンスデータを Amazon S3 バケットにオブジェクトとして保存します。また、ユーザーに代わってオブジェクトを読み取るためにKinesis Data Analytics が引き受けることができる IAM ロールを作成します。
Amazon S3 オブジェクトとしてのリファレンスデータの保存
このステップでは、サンプルのリファレンスデータを Amazon S3 オブジェクトとして保存します。
-
テキストエディタを開き、以下のデータを追加して、ファイルを
TickerReference.csv
として保存します。Ticker, Company AMZN,Amazon ASD, SomeCompanyA MMB, SomeCompanyB WAS, SomeCompanyC
-
TickerReference.csv
ファイルを S3 バケットにアップロードします。手順については、以下を参照してください。Amazon S3 へのオブジェクトのアップロードのAmazon Simple Storage Service ユーザーガイド。
IAM ロールを作成します。
次に、Kinesis Data Analytics が Amazon S3 オブジェクトを引き受け、読み取ることができる IAM ロールを作成します。
-
AWS Identity and Access Management (IAM) で、
KinesisAnalytics-ReadS3Object
という名前の IAM ロールを作成します。ロールを作成するには、「」の手順に従ってください。Amazon Service 用のロールの作成 (AWS Management Console)のIAM ユーザーガイド。IAM コンソールで、以下を指定します。
-
を使用する場合ロールタイプの選択で、AWS Lambda。ロールの作成が完了したら、Kinesis Data Analytics (ではありません) を許可するように信頼ポリシーを変更します。AWS Lambda) をロールを引き受けることができる。
-
[Attach Policy] ページでポリシーをアタッチしないでください。
-
-
IAM ロールポリシーを更新します。
-
IAM コンソールで、作成したロールを選択します。
-
リポジトリの []信頼関係タブで、信頼ポリシーを更新してロールを引き受ける権限を Kinesis Data Analytics に付与します。以下に信頼ポリシーを示します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanalytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
リポジトリの []アクセス許可タブで、という Amazon が管理するポリシーを添付します。AmazonS3ReadOnlyAccess。これにより、Amazon S3 オブジェクトを読み取るアクセス権限をロールに付与します。このポリシーを以下に示します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "*" } ] }
-
ステップ 2: アプリケーション設定へのリファレンスデータソースを追する
このステップでは、リファレンスデータソースをアプリケーション設定に追加します。最初に、次の情報が必要です。
-
S3 バケット名およびオブジェクトキー名
-
IAM ロールの Amazon リソースネーム (ARN)
アプリケーションのメインページで [Connect reference data (リファレンスデータの接続)] を選択します。
左参照データソースのConnectページで、リファレンスデータオブジェクトを含む Amazon S3 バケットを選択し、オブジェクトのキー名を入力します。
Enter
CompanyName
向けのアプリケーション内リファレンステーブル名。[Access to chosen resources (選択したリソースへのアクセス)] セクションで、[Choose from IAM roles that Kinesis Analytics can assume (Kinesis Analytics が引き受ける IAM ロール)] を選択後、前のセクションで作成した IAM ロール [KinesisAnalytics-ReadS3Object] を選択します。
[Discover schema] (スキーマの検出) を選択します。コンソールによって、リファレンスデータの 2 つの列が検出されます。
[Save and close] (保存して閉じる) を選択します。
ステップ 3: テスト アプリケーション内リファレンステーブルをクエリする
アプリケーション内リファレンステーブル CompanyName
をクエリできるようになりました。ティッカー価格データをリファレンステーブルに結合することにより、リファレンス情報を使用してアプリケーションを強化できます。結果に会社名が表示されます。
-
アプリケーションコードを以下に置き換えます。クエリはアプリケーション内入力ストリームをアプリケーション内リファレンステーブルと結合します。アプリケーションコードは、結果を別のアプリケーション内ストリーム、
DESTINATION_SQL_STREAM
に書き込みます。CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), "Company" varchar(20), sector VARCHAR(12), change DOUBLE, price DOUBLE); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM ticker_symbol, "c"."Company", sector, change, price FROM "SOURCE_SQL_STREAM_001" LEFT JOIN "CompanyName" as "c" ON "SOURCE_SQL_STREAM_001".ticker_symbol = "c"."Ticker";
-
アプリケーション出力が [SQLResults] タブに表示されていることを確認します。一部の行に会社名が表示されることを確認します (サンプルのリファレンスデータには、すべての会社名はありません)。