すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:Java用SDK (最新)

最終更新日:Mar 18, 2025

このトピックでは、Realtime Compute for Apache Flink Java用SDKのインストール方法と使用方法について説明します。

使用上の注意

Alibaba Cloudは、2022年9月19日にRealtime Compute for Apache Flink SDKを更新しました。新しいSDKバージョンは、現在、ユーザーのデフォルトバージョンとなっています。この更新は、2022年9月19日から2022年10月27日にかけて、すべてのリージョンに段階的に展開されました。

説明

前提条件

  • AccessKeyペアが作成されていること。詳細については、「AccessKeyペアを取得する」をご参照ください。

    説明

    Alibaba CloudアカウントのAccessKeyペアを保護するために、Resource Access Management (RAM) ユーザーを作成し、Realtime Compute for Apache Flinkにアクセスするための権限をRAMユーザーに付与してから、RAMユーザーのAccessKeyペアを使用してRealtime Compute for Apache Flink SDKを呼び出すことをお勧めします。詳細については、以下のトピックをご参照ください。

  • Java 8以降がインストールされていること。

  • 使用するアカウントに必要なアクセス権限と操作権限が付与されていること。詳細については、「権限管理」をご参照ください。

Realtime Compute for Apache Flink Java用SDKをインストールする

Realtime Compute for Apache Flink開発コンソールのJava用SDK

インストール方法

コード

Apache Maven

<dependency>

<groupId>com.aliyun</groupId>

<artifactId>ververica20220718</artifactId>

<version>1.3.0</version>

</dependency>

Gradle Groovy DSL

implementation 'com.aliyun:ververica20220718:1.3.0'

Gradle Kotlin DSL

implementation("com.aliyun:ververica20220718:1.3.0")

Scala SBT

libraryDependencies += "com.aliyun" % "ververica20220718" % "1.3.0"

Apache Ivy

<dependency org="com.aliyun" name="ververica20220718" rev="1.3.0" />

Groovy Grape

@Grapes(

@Grab(group='com.aliyun', module='ververica20220718', version='1.3.0')

)

Leiningen

[com.aliyun/ververica20220718 "1.3.0"]

Apache Buildr

'com.aliyun:ververica20220718:jar:1.3.0'

Realtime Compute for Apache Flink販売コンソールのJava用SDK

インストール方法

コード

Apache Maven

<dependency>

<groupId>com.aliyun</groupId>

<artifactId>foasconsole20211028</artifactId>

<version>1.0.6</version>

</dependency>

Gradle Groovy DSL

implementation 'com.aliyun:foasconsole20211028:1.0.6'

Gradle Kotlin DSL

implementation("com.aliyun:foasconsole20211028:1.0.6")

Scala SBT

libraryDependencies += "com.aliyun" % "foasconsole20211028" % "1.0.6"

Apache Ivy

<dependency org="com.aliyun" name="foasconsole20211028" rev="1.0.6" />

Groovy Grape

@Grapes(

@Grab(group='com.aliyun', module='foasconsole20211028', version='1.0.6')

)

Leiningen

[com.aliyun/foasconsole20211028 "1.0.6"]

Apache Buildr

'com.aliyun:foasconsole20211028:jar:1.0.6'

オンラインデバッグを実行し、SDKサンプルコードを生成する

OpenAPI Explorerを使用して、API操作をオンラインで呼び出し、API操作を検索し、SDKサンプルコードを動的に生成できます。これにより、API操作の使用が簡素化されます。OpenAPI Explorerの [Realtime Compute for Apache Flink] ページと [Realtime Compute販売コンソール] ページで、必要なAPI操作のSDKサンプルコードを表示およびダウンロードできます。詳細については、「IDE での Alibaba Cloud SDK for Python の使用」をご参照ください。

image

説明
  • Realtime Compute for Apache Flink販売コンソールのエンドポイントの詳細については、[OpenAPI Explorer] をご参照ください。

  • Realtime Compute for Apache Flink開発コンソールのエンドポイントの詳細については、[OpenAPI Explorer] をご参照ください。

購入したワークスペースを照会する

リージョンで購入したRealtime Compute for Apache Flinkワークスペースの詳細を照会できます。必須のリクエストパラメータ:

Region: リージョン ID 詳細については、「OpenAPI Explorer」をご参照ください。 例: cn-hangzhou。

package com.aliyun.sample;
import com.aliyun.foasconsole20211028.models.DescribeInstancesResponse;
import com.aliyun.tea.*;
import com.alibaba.fastjson2.JSON;

public class Sample {
    /**
     * <b>説明</b> :
     * <p>AccessKey IDとAccessKeyシークレットを使用してクライアントを初期化します。</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.foasconsole20211028.Client createClient() throws Exception {
        // プロジェクトコードが漏洩した場合、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。次のサンプルコードは参照用にのみ提供されています。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_ID環境変数が設定されていることを確認してください。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        config.endpoint = "foasconsole.aliyuncs.com";
        return new com.aliyun.foasconsole20211028.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        com.aliyun.foasconsole20211028.Client client = Sample.createClient();
        com.aliyun.foasconsole20211028.models.DescribeInstancesRequest describeInstancesRequest = new com.aliyun.foasconsole20211028.models.DescribeInstancesRequest()
                .setRegion("cn-beijing");
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            DescribeInstancesResponse response = client.describeInstancesWithOptions(describeInstancesRequest, runtime);
            System.out.println(response.statusCode);
            // ワークスペースのリージョンIDを照会します。
            System.out.println(response.getBody().getInstances().get(0).zoneId);
            // ワークスペースのリソースグループIDを照会します。
            System.out.println(response.getBody().getInstances().get(0).resourceGroupId);
            System.out.println(JSON.toJSON(response));

        } catch (TeaException error) {
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

デプロイメントを作成する

SQLデプロイメント

SQLデプロイメントを作成できます。必須のリクエストパラメータ:

  • workspace: ワークスペースの ID です。[DescribeInstances] オペレーションを呼び出し、レスポンスの ResourceId パラメーターからワークスペース ID を取得できます。例:adf9e514****。

  • namespace: 名前空間の名前。例: test-default。

  • body.name: デプロイメントの名前。例: mysql_data_holo_test。

  • body.engineVersion: エンジンバージョン。例: vvr-8.0.7-flink-1.17。ListEngineVersionMetadata オペレーションを呼び出して、サポートされているエンジンバージョンをクエリできます。

  • body.sqlArtifact.sqlScript: SQLデプロイのテキストコンテンツ。例: CREATE TEMPORARY TABLE datagen_source( name VARCHAR ) WITH ( 'connector' = 'datagen' ); CREATE TEMPORARY TABLE blackhole_sink( name VARCHAR ) with ( 'connector' = 'blackhole' ); INSERT INTO blackhole_sink SELECT name from datagen_source;

  • body.sqlArtifact.kind: デプロイの種類。例: SQLSCRIPT。

  • body.deploymentTarget.mode: デプロイモード。値を PER_JOB に設定します。

  • body.deploymentTarget.name: デプロイメントのキュー。例: default-queue。

  • body.executionMode: 実行モード。例:STREAMING。

  • body.streamingResourceSetting.resourceSettingMode: ストリーミングモードで使用されるリソース構成モードです。例:BASIC。

  • body.streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.cpu: JobManager の CPU コア数。例: 2。

  • body.streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.memory: JobManager のメモリ。例: 4.0 GiB。

  • body.streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.cpu: TaskManager の CPU コア数。例: 2。

  • body.streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.memory: TaskManager のメモリ。例: 4.0 GiB。

package com.aliyun.sample;
import com.aliyun.tea.*;

public class Sample {

    /**
     * <b>説明</b> :
     * <p>AccessKey IDとAccessKeyシークレットを使用してクライアントを初期化します。</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.teaopenapi.Client createClient() throws Exception {
        // プロジェクトコードが漏洩した場合、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。次のサンプルコードは参照用にのみ提供されています。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_ID環境変数が設定されていることを確認してください。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        config.endpoint = "ververica.cn-beijing.aliyuncs.com";
        return new com.aliyun.teaopenapi.Client(config);
    }

    /**
     * <b>説明</b> :
     * <p>操作固有のパラメータ</p>
     *
     * @param path params
     * @return OpenApi.Params
     */
    public static com.aliyun.teaopenapi.models.Params createApiInfo(String namespace) throws Exception {
        com.aliyun.teaopenapi.models.Params params = new com.aliyun.teaopenapi.models.Params()
                // 実行する操作。
                .setAction("CreateDeployment")
                // 操作のバージョン番号。
                .setVersion("2022-07-18")
                // 操作のプロトコル。
                .setProtocol("HTTPS")
                // 操作のHTTPメソッド。
                .setMethod("POST")
                .setAuthType("AK")
                .setStyle("ROA")
                // 操作のURL。
                .setPathname("/api/v2/namespaces/" + namespace + "/deployments")
                // リクエストボディの形式。
                .setReqBodyType("json")
                // レスポンスボディの形式。
                .setBodyType("json");
        return params;
    }

    public static void main(String[] args_) throws Exception {
        java.util.List<String> args = java.util.Arrays.asList(args_);
        com.aliyun.teaopenapi.Client client = Sample.createClient();
        com.aliyun.teaopenapi.models.Params params = Sample.createApiInfo("test-default");
        // body params
        java.util.Map<String, Object> body = TeaConverter.buildMap(
                new TeaPair("name", "mysql_data_holo_test"),
                new TeaPair("engineVersion", "vvr-8.0.7-flink-1.17"),
                new TeaPair("artifact", TeaConverter.buildMap(
                        new TeaPair("sqlArtifact", TeaConverter.buildMap(
                                new TeaPair("sqlScript", "CREATE TEMPORARY TABLE datagen_source(   name VARCHAR ) WITH (   'connector' = 'datagen' ); CREATE TEMPORARY TABLE blackhole_sink(   name  VARCHAR ) with (   'connector' = 'blackhole' ); INSERT INTO blackhole_sink SELECT name from datagen_source;")
                        )),
                        new TeaPair("kind", "SQLSCRIPT")
                )),
                new TeaPair("deploymentTarget", TeaConverter.buildMap(
                        new TeaPair("mode", "PER_JOB"),
                        new TeaPair("name", "default-queue")
                )),
                new TeaPair("executionMode", "STREAMING"),
                new TeaPair("streamingResourceSetting", TeaConverter.buildMap(
                        new TeaPair("resourceSettingMode", "BASIC"),
                        new TeaPair("basicResourceSetting", TeaConverter.buildMap(
                                new TeaPair("jobmanagerResourceSettingSpec", TeaConverter.buildMap(
                                        new TeaPair("cpu", 2),
                                        new TeaPair("memory", "4")
                                )),
                                new TeaPair("taskmanagerResourceSettingSpec", TeaConverter.buildMap(
                                        new TeaPair("cpu", 2),
                                        new TeaPair("memory", "4")
                                ))
                        ))
                ))
        );
        // header params
        java.util.Map<String, String> headers = new java.util.HashMap<>();
        headers.put("workspace", "ab2*******884d");
        // runtime options
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        com.aliyun.teaopenapi.models.OpenApiRequest request = new com.aliyun.teaopenapi.models.OpenApiRequest()
                .setHeaders(headers)
                .setBody(body);
        // 戻り値はMap型です。戻り値には、レスポンスボディ、レスポンスヘッダー、HTTPステータスコードなどのデータが含まれています。
        client.callApi(params, request, runtime);
        java.util.Map<String, ?> response = client.callApi(params, request, runtime);
        System.out.println(response);
    }
}

JARデプロイメント

JARデプロイメントを作成できます。必須のリクエストパラメータ:

説明
  • JARパッケージがオブジェクトストレージサービス(OSS)バケットにアップロードされており、Realtime Compute for Apache Flinkワークスペースにアクセスするための権限があることを確認してください。詳細については、「シンプルアップロード」をご参照ください。

  • JARパッケージのOSS URLは、https://<Bucket>.oss-<Region>.aliyuncs.com/<FileName> です。

  • workspace: ワークスペースの ID です。[DescribeInstances] オペレーションを呼び出し、レスポンスの ResourceId パラメーターからワークスペース ID を取得できます。例:adf9e514****。

  • namespace: 名前空間の名前。例: test-default。

  • body.name: デプロイの名前。例: my-test-jar。

  • body.engineVersion: エンジンバージョン。例: vvr-8.0.7-flink-1.17。ListEngineVersionMetadata オペレーションを呼び出して、サポートされているエンジンバージョンをクエリできます。

  • body.jarArtifact.kind: デプロイの種類。例: JAR。

  • body.jarArtifact.jarUri: JAR パッケージの OSS URL。例: https://myBucket/oss-cn-hangzhou/test.jar。

  • body.jarArtifact.entryClass: エントリポイントクラスの完全な名前。例: org.apache.flink.test。

  • body.deploymentTarget.mode: デプロイモード。値を PER_JOB に設定します。

  • body.deploymentTarget.name: デプロイメントのキュー。例:default-queue。

  • body.executionMode: 実行モード。例:STREAMING。

  • body.streamingResourceSetting.resourceSettingMode: ストリーミングモードで使用されるリソース構成モード。例: BASIC。

  • body.streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.cpu: JobManager の CPU コア数。例: 2。

  • body.streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.memory: JobManager のメモリ。例: 4.0 GiB。

  • body.streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.cpu: TaskManager の CPU コア数。例: 2。

  • body.streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.memory: TaskManager のメモリ。例: 4.0 GiB。

package com.aliyun.sample;
import com.aliyun.tea.*;

public class Sample {

    /**
     * <b>説明</b> :
     * <p>AccessKey IDとAccessKeyシークレットを使用してクライアントを初期化します。</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.teaopenapi.Client createClient() throws Exception {
        // プロジェクトコードが漏洩した場合、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。次のサンプルコードは参照用にのみ提供されています。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_ID環境変数が設定されていることを確認してください。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        config.endpoint = "ververica.cn-hangzhou.aliyuncs.com";
        return new com.aliyun.teaopenapi.Client(config);
    }

    /**
     * <b>説明</b> :
     * <p>操作固有のパラメータ</p>
     *
     * @param path params
     * @return OpenApi.Params
     */
    public static com.aliyun.teaopenapi.models.Params createApiInfo(String namespace) throws Exception {
        com.aliyun.teaopenapi.models.Params params = new com.aliyun.teaopenapi.models.Params()
                // 実行する操作。
                .setAction("CreateDeployment")
                // 操作のバージョン番号。
                .setVersion("2022-07-18")
                // 操作のプロトコル。
                .setProtocol("HTTPS")
                // 操作のHTTPメソッド。
                .setMethod("POST")
                .setAuthType("AK")
                .setStyle("ROA")
                // 操作のURL。
                .setPathname("/api/v2/namespaces/" + namespace + "/deployments")
                // リクエストボディの形式。
                .setReqBodyType("json")
                // レスポンスボディの形式。
                .setBodyType("json");
        return params;
    }

    public static void main(String[] args_) throws Exception {
        java.util.List<String> args = java.util.Arrays.asList(args_);
        com.aliyun.teaopenapi.Client client = Sample.createClient();
        com.aliyun.teaopenapi.models.Params params = Sample.createApiInfo("flink-default");
        // body params
        java.util.Map<String, Object> body = TeaConverter.buildMap(
                new TeaPair("name", "my-test-jar"),
                new TeaPair("engineVersion", "vvr-8.0.7-flink-1.17"),
                new TeaPair("artifact", TeaConverter.buildMap(
                        new TeaPair("kind", "JAR"),
                        new TeaPair("jarArtifact", TeaConverter.buildMap(
                                new TeaPair("jarUri", "https://flink-test.oss-cn-hangzhou.aliyuncs.com/flinkDemo.jar?*****"),
                                new TeaPair("entryClass", "com.aliyun.FlinkDemo")
                        ))
                )),
                new TeaPair("deploymentTarget", TeaConverter.buildMap(
                        new TeaPair("mode", "PER_JOB"),
                        new TeaPair("name", "default-queue")
                )),
                new TeaPair("executionMode", "STREAMING"),
                new TeaPair("streamingResourceSetting", TeaConverter.buildMap(
                        new TeaPair("resourceSettingMode", "BASIC"),
                        new TeaPair("basicResourceSetting", TeaConverter.buildMap(
                                new TeaPair("jobmanagerResourceSettingSpec", TeaConverter.buildMap(
                                        new TeaPair("cpu", 2),
                                        new TeaPair("memory", "4")
                                )),
                                new TeaPair("taskmanagerResourceSettingSpec", TeaConverter.buildMap(
                                        new TeaPair("cpu", 2),
                                        new TeaPair("memory", "4")
                                ))
                        ))
                ))
        );
        // header params
        java.util.Map<String, String> headers = new java.util.HashMap<>();
        headers.put("workspace", "d05a*****e44");
        // runtime options
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        com.aliyun.teaopenapi.models.OpenApiRequest request = new com.aliyun.teaopenapi.models.OpenApiRequest()
                .setHeaders(headers)
                .setBody(body);
        // 戻り値はMap型です。戻り値には、レスポンスボディ、レスポンスヘッダー、HTTPステータスコードなどのデータが含まれています。
        java.util.Map<String, ?> response = client.callApi(params, request, runtime);
        System.out.println(response);
    }
}

デプロイメントのリストを照会する

名前空間内のすべてのデプロイメントに関する情報を照会できます。必須のリクエストパラメータ:

  • workspace: ワークスペースの ID です。[DescribeInstances] オペレーションを呼び出し、レスポンスの ResourceId パラメーターからワークスペース ID を取得できます。例:adf9e514****。

  • namespace: 名前空間の名前。例: test-default。

package com.sample;
import com.aliyun.tea.*;
import com.alibaba.fastjson2.JSON;
import com.aliyun.ververica20220718.models.ListDeploymentsResponse;

public class Sample {
    /**
     * <b>説明</b> :
     * <p>AccessKey IDとAccessKeyシークレットを使用してクライアントを初期化します。</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.ververica20220718.Client createClient() throws Exception {
        // プロジェクトコードが漏洩した場合、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。次のサンプルコードは参照用にのみ提供されています。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_ID環境変数が設定されていることを確認してください。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        config.endpoint = "ververica.cn-hangzhou.aliyuncs.com";
        return new com.aliyun.ververica20220718.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        com.aliyun.ververica20220718.Client client = Sample.createClient();
        com.aliyun.ververica20220718.models.ListDeploymentsHeaders listDeploymentsHeaders = new com.aliyun.ververica20220718.models.ListDeploymentsHeaders()
                .setWorkspace("ab2a******884d");
        com.aliyun.ververica20220718.models.ListDeploymentsRequest listDeploymentsRequest = new com.aliyun.ververica20220718.models.ListDeploymentsRequest();
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            ListDeploymentsResponse response=client.listDeploymentsWithOptions("test-default", listDeploymentsRequest, listDeploymentsHeaders, runtime);
            System.out.println(response.body.data.get(0).name);
            System.out.println(response.body.data.get(0).deploymentId);
            System.out.println(JSON.toJSON(response));
        } catch (TeaException error) {
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

デプロイメントを開始する

名前空間内のデプロイメントを開始できます。必須のリクエストパラメータ:

  • workspace: ワークスペースの ID。例: adf9e5147a****。

  • namespace: 名前空間の名前。例: test-default。

  • deploymentId: デプロイメントの ID です。[ListDeployments] オペレーションを呼び出して、デプロイメント ID をクエリできます。例: 10283a02-c6a6-4f3e-9f93-8dab****。

  • kind: 開始オフセットのタイプ。有効な値:NONE、LATEST_SAVEPOINT、FROM_SAVEPOINT、LATEST_STATE。

package com.aliyun.sample;
import com.aliyun.tea.*;
import com.aliyun.ververica20220718.models.StartJobWithParamsResponse;
import com.alibaba.fastjson2.JSON;

public class Sample {

    /**
     * <b>説明</b> :
     * <p>AccessKey IDとAccessKeyシークレットを使用してクライアントを初期化します。</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.ververica20220718.Client createClient() throws Exception {
        // プロジェクトコードが漏洩した場合、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。次のサンプルコードは参照用にのみ提供されています。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_ID環境変数が設定されていることを確認してください。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        config.endpoint = "ververica.cn-hangzhou.aliyuncs.com";
        return new com.aliyun.ververica20220718.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        com.aliyun.ververica20220718.Client client = Sample.createClient();
        com.aliyun.ververica20220718.models.StartJobWithParamsHeaders startJobWithParamsHeaders = new com.aliyun.ververica20220718.models.StartJobWithParamsHeaders()
                .setWorkspace("ab2a******884d");
        com.aliyun.ververica20220718.models.DeploymentRestoreStrategy jobStartParametersDeploymentRestoreStrategy = new com.aliyun.ververica20220718.models.DeploymentRestoreStrategy()
                .setKind("NONE");
        com.aliyun.ververica20220718.models.JobStartParameters jobStartParameters = new com.aliyun.ververica20220718.models.JobStartParameters()
                .setRestoreStrategy(jobStartParametersDeploymentRestoreStrategy)
                .setDeploymentId("10283a02-****-****-****-8dabf617d52f");
        com.aliyun.ververica20220718.models.StartJobWithParamsRequest startJobWithParamsRequest = new com.aliyun.ververica20220718.models.StartJobWithParamsRequest()
                .setBody(jobStartParameters);
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            StartJobWithParamsResponse response = client.startJobWithParamsWithOptions("test-default", startJobWithParamsRequest, startJobWithParamsHeaders, runtime);
            System.out.println(JSON.toJSON(response.body));
        } catch (TeaException error) {
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

デプロイメントの情報を照会する

デプロイメント内のすべてのジョブに関する情報を照会できます。必須のリクエストパラメータ:

  • workspace: ワークスペースの ID。例: adf9e5147****。

  • namespace: 名前空間の名前。例: test-default。

  • deploymentId: デプロイメントの ID です。 [ListDeployments] オペレーションを呼び出して、デプロイメント ID をクエリできます。例:8489b7ec-****-****-****-cc4c17fa12b0。

package com.aliyun.sample;
import com.aliyun.tea.*;
import com.aliyun.ververica20220718.models.ListJobsResponse;
import com.alibaba.fastjson2.JSON;

public class Sample {

    /**
     * <b>説明</b> :
     * <p>AccessKey IDとAccessKeyシークレットを使用してクライアントを初期化します。</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.ververica20220718.Client createClient() throws Exception {
        // プロジェクトコードが漏洩した場合、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。次のサンプルコードは参照用にのみ提供されています。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_ID環境変数が設定されていることを確認してください。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        config.endpoint = "ververica.cn-beijing.aliyuncs.com";
        return new com.aliyun.ververica20220718.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        com.aliyun.ververica20220718.Client client = Sample.createClient();
        com.aliyun.ververica20220718.models.ListJobsHeaders listJobsHeaders = new com.aliyun.ververica20220718.models.ListJobsHeaders()
                .setWorkspace("ab2a******884d");
        com.aliyun.ververica20220718.models.ListJobsRequest listJobsRequest = new com.aliyun.ververica20220718.models.ListJobsRequest()
                .setDeploymentId("8489b7ec-****-****-****-cc4c17fa12b0");
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            ListJobsResponse response =  client.listJobsWithOptions("test-default", listJobsRequest, listJobsHeaders, runtime);
            // デプロイメントの実行結果を表示します。
            System.out.println("実行結果は次のとおりです:"+ response.body.success);
            // ジョブIDを取得します。このパラメータは、ジョブをキャンセルするために使用されます。
            System.out.println(response.body.getData().get(0).jobId);
            System.out.println(JSON.toJSON(response));
        } catch (TeaException error) {
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

ジョブをキャンセルする

デプロイメント内のジョブをキャンセルできます。必須のリクエストパラメータ:

  • workspace: ワークスペースの ID。例: adf9e5147****。

  • namespace: 名前空間の名前。例: test-default。

  • jobId: ジョブ ID です。[ListJobs] オペレーションを呼び出して、ジョブ ID をクエリできます。例: 3171d4d1-****-****-****-e762493b7765。

  • stopStrategy: ジョブをキャンセルするために使用される戦略。有効な値: NONE、STOP_WITH_SAVEPOINT、および STOP_WITH_DRAIN。

package com.aliyun.sample;
import com.alibaba.fastjson2.JSON;
import com.aliyun.tea.*;
import com.aliyun.ververica20220718.models.StopJobResponse;

public class Sample {

    /**
     * <b>説明</b> :
     * <p>AccessKey IDとAccessKeyシークレットを使用してクライアントを初期化します。</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.ververica20220718.Client createClient() throws Exception {
        // プロジェクトコードが漏洩した場合、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。次のサンプルコードは参照用にのみ提供されています。
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_ID環境変数が設定されていることを確認してください。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必須。コードランタイム環境でALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        config.endpoint = "ververica.cn-hangzhou.aliyuncs.com";
        return new com.aliyun.ververica20220718.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        java.util.List<String> args = java.util.Arrays.asList(args_);
        com.aliyun.ververica20220718.Client client = Sample.createClient();
        com.aliyun.ververica20220718.models.StopJobHeaders stopJobHeaders = new com.aliyun.ververica20220718.models.StopJobHeaders()
                .setWorkspace("ab2a******884d");
        com.aliyun.ververica20220718.models.StopJobRequestBody stopJobRequestBody = new com.aliyun.ververica20220718.models.StopJobRequestBody()
                .setStopStrategy("NONE");
        com.aliyun.ververica20220718.models.StopJobRequest stopJobRequest = new com.aliyun.ververica20220718.models.StopJobRequest()
                .setBody(stopJobRequestBody);
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            StopJobResponse response = client.stopJobWithOptions("test-default", "7970e881-****-****-****-1a3746710878", stopJobRequest, stopJobHeaders, runtime);
            System.out.println(JSON.toJSON(response.getBody().getData()));
        } catch (TeaException error) {
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
            // エラーメッセージ。
            System.out.println(error.getMessage());
            // 対応するエラー診断ページのURL。
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

参考資料

Realtime Compute for Apache Flink Python用SDKの詳細については、「Python用SDK」をご参照ください。