Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Managed Service for Apache Flink でランタイムプロパティを使用する
「ランタイムプロパティ」を使用すると、アプリケーションコードを再コンパイルせずにアプリケーションを設定できます。
このトピックには、次のセクションが含まれています。
コンソールを使用してランタイムプロパティを管理する
を使用して、Managed Service for Apache Flink アプリケーションからランタイムプロパティを追加、更新、または削除できます AWS Management Console。
注記
以前にサポートされているバージョンの Apache Flink を使用していて、既存のアプリケーションを Apache Flink 1.19.1 にアップグレードする場合は、インプレース Apache Flink バージョンアップグレードを使用してアップグレードできます。インプレースバージョンアップグレードでは、スナップショット、ログ、メトリクス、タグ、Flink 設定など、Apache Flink バージョンARN全体で 1 つの に対してアプリケーションのトレーサビリティを維持します。この機能は、 RUNNING
および READY
状態で使用できます。詳細については、「Apache Flink のインプレースバージョンアップグレードを使用する」を参照してください。
Apache Flink アプリケーション用 Managed Serviceのランタイムプロパティの更新
https://console.aws.amazon.com/flink で Managed Service for Apache Flink コンソールを開きます。
Apache Flink アプリケーション用 Managed Serviceを選択します。[Application details (アプリケーションの詳細)] を選択します。
アプリケーションのページで、構成 をクリックします。
「プロパティ」セクションを展開します。
「プロパティ」セクションのコントロールを使用して、キーと値のペアを含むプロパティグループを定義します。これらのコントロールを使用して、プロパティグループとランタイムプロパティを追加、更新、削除します。
[Update] (更新) を選択します。
を使用してランタイムプロパティを管理する CLI
「AWS CLI」を使用してランタイムプロパティを追加、更新、削除できます。
このセクションでは、アプリケーションのランタイムプロパティを設定するためのAPIアクションのリクエスト例を示します。API アクションの入力にJSONファイルを使用する方法については、「」を参照してくださいManaged Service for Apache Flink APIのサンプルコード。
注記
サンプルアカウント ID (
) を、アカウント ID とともに次の例で示します。012345678901
アプリケーションの作成時にランタイムプロパティを追加する
以下の「CreateApplication
」アクションリクエスト例では、アプリケーションの作成時に 2 つのランタイムプロパティグループ (ProducerConfigProperties
と ConsumerConfigProperties
) を追加します。
{ "ApplicationName": "MyApplication", "ApplicationDescription": "my java test app", "RuntimeEnvironment": "FLINK-1_19", "ServiceExecutionRole": "arn:aws:iam::012345678901:role/MF-stream-rw-role", "ApplicationConfiguration": { "ApplicationCodeConfiguration": { "CodeContent": { "S3ContentLocation": { "BucketARN": "arn:aws:s3:::ka-app-code-
username
", "FileKey": "java-getting-started-1.0.jar" } }, "CodeContentType": "ZIPFILE" }, "EnvironmentProperties": { "PropertyGroups": [ { "PropertyGroupId": "ProducerConfigProperties", "PropertyMap" : { "flink.stream.initpos" : "LATEST", "aws.region" : "us-west-2", "AggregationEnabled" : "false" } }, { "PropertyGroupId": "ConsumerConfigProperties", "PropertyMap" : { "aws.region" : "us-west-2" } } ] } } }
既存のアプリケーションでランタイムプロパティを追加および更新する
以下の「UpdateApplication
」アクションリクエスト例は、既存のアプリケーションのランタイムプロパティを追加または更新します。
{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 2, "ApplicationConfigurationUpdate": { "EnvironmentPropertyUpdates": { "PropertyGroups": [ { "PropertyGroupId": "ProducerConfigProperties", "PropertyMap" : { "flink.stream.initpos" : "LATEST", "aws.region" : "us-west-2", "AggregationEnabled" : "false" } }, { "PropertyGroupId": "ConsumerConfigProperties", "PropertyMap" : { "aws.region" : "us-west-2" } } ] } } }
注記
プロパティグループに対応するランタイムプロパティがないキーを使用すると、Apache Flink 用 Managed Service はそのキーと値のペアを新しいプロパティとして追加します。プロパティグループ内の既存のランタイムプロパティのキーを使用すると、Apache Flink 用 Managed Service はそのプロパティ値を更新します。
ランタイムプロパティを削除する
以下の「UpdateApplication
」アクションリクエスト例では、既存のアプリケーションからすべてのランタイムプロパティとプロパティグループを削除します。
{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 3, "ApplicationConfigurationUpdate": { "EnvironmentPropertyUpdates": { "PropertyGroups": [] } } }
重要
既存のプロパティグループまたはプロパティグループ内の既存のプロパティキーを省略すると、そのプロパティグループまたはプロパティは削除されます。
Managed Service for Apache Flink アプリケーションのランタイムプロパティにアクセスする
Java アプリケーションコード内のランタイムプロパティは、Map<String, Properties>
オブジェクトを返す静的 KinesisAnalyticsRuntime.getApplicationProperties()
メソッドを使用して取得します。
次の Java コードの例では、アプリケーションのランタイムプロパティを取得します。
Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties();
プロパティグループを (Java.Util.Properties
オブジェクトとして) 次のように取得します。
Properties consumerProperties = applicationProperties.get("ConsumerConfigProperties");
Apache Flink のソースまたはシンクは、通常、個々のプロパティを取得せずに Properties
オブジェクトを渡すことで設定します。以下のコード例は、ランタイムプロパティから取得した Properties
オブジェクトを渡して Flink ソースを作成する方法を示しています。
private static FlinkKinesisProducer<String> createSinkFromApplicationProperties() throws IOException { Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties(); FlinkKinesisProducer<String> sink = new FlinkKinesisProducer<String>(new SimpleStringSchema(), applicationProperties.get("ProducerConfigProperties")); sink.setDefaultStream(outputStreamName); sink.setDefaultPartition("0"); return sink; }
コード例については、Managed Service for Apache Flink アプリケーションの作成と使用の例 を参照してください。