Topik ini menjelaskan cara menginstal dan menggunakan Realtime Compute for Apache Flink SDK untuk Java.
Catatan penggunaan
Alibaba Cloud memperbarui SDK Realtime Compute for Apache Flink pada 19 September 2022. Versi baru kini menjadi versi default untuk pengguna. Pembaruan ini diluncurkan secara bertahap di semua wilayah dari 19 September 2022 hingga 27 Oktober 2022.
Untuk informasi lebih lanjut tentang dampak pembaruan SDK, lihat Pemberitahuan Layanan Realtime Compute for Apache Flink.
Topik ini mencakup SDK versi baru. Untuk melihat dokumen tentang versi SDK sebelumnya, klik OpenAPI SDK untuk mengunduh dokumen.
Prasyarat
Pasangan AccessKey telah dibuat. Untuk informasi lebih lanjut, lihat Mendapatkan Pasangan AccessKey.
CatatanUntuk melindungi pasangan AccessKey akun Alibaba Cloud Anda, disarankan membuat Pengguna Resource Access Management (RAM), memberikan izin kepada Pengguna RAM untuk mengakses Realtime Compute for Apache Flink, dan menggunakan pasangan AccessKey Pengguna RAM untuk memanggil Realtime Compute for Apache Flink SDK. Untuk informasi lebih lanjut, lihat topik-topik berikut:
Java 8 atau yang lebih baru telah diinstal.
Akun yang digunakan memiliki izin akses dan operasi yang diperlukan. Untuk informasi lebih lanjut, lihat Manajemen Izin.
Instal Realtime Compute for Apache Flink SDK untuk Java
SDK untuk Java untuk konsol penjualan Realtime Compute for Apache Flink
Metode instalasi | Kode |
Apache Maven | <dependency> <groupId>com.aliyun</groupId> <artifactId>foasconsole20211028</artifactId> <version>2.1.0</version> </dependency> |
Gradle Groovy DSL | implementation 'com.aliyun:foasconsole20211028:2.1.0' |
Gradle Kotlin DSL | implementation("com.aliyun:foasconsole20211028:2.1.0") |
Scala SBT | libraryDependencies += "com.aliyun" % "foasconsole20211028" % "2.1.0" |
Apache Ivy | <dependency org="com.aliyun" name="foasconsole20211028" rev="2.1.0" /> |
Groovy Grape | @Grapes( @Grab(group='com.aliyun', module='foasconsole20211028', version='2.1.0') ) |
Leiningen | [com.aliyun/foasconsole20211028 "2.1.0"] |
Apache Buildr | 'com.aliyun:foasconsole20211028:jar:2.1.0' |
SDK untuk Java untuk konsol pengembangan Realtime Compute for Apache Flink
Metode instalasi | Kode |
Apache Maven | <dependency> <groupId>com.aliyun</groupId> <artifactId>ververica20220718</artifactId> <version>1.7.0</version> </dependency> |
Gradle Groovy DSL | implementation 'com.aliyun:ververica20220718:1.7.0' |
Gradle Kotlin DSL | implementation("com.aliyun:ververica20220718:1.7.0") |
Scala SBT | libraryDependencies += "com.aliyun" % "ververica20220718" % "1.7.0" |
Apache Ivy | <dependency org="com.aliyun" name="ververica20220718" rev="1.7.0" /> |
Groovy Grape | @Grapes( @Grab(group='com.aliyun', module='ververica20220718', version='1.7.0') ) |
Leiningen | [com.aliyun/ververica20220718 "1.7.0"] |
Apache Buildr | 'com.aliyun:ververica20220718:jar:1.7.0' |
Lakukan debugging online dan hasilkan contoh kode SDK
Anda dapat menggunakan OpenAPI Explorer untuk memanggil operasi API secara online, mencari operasi API, dan menghasilkan contoh kode SDK secara dinamis. Ini menyederhanakan penggunaan operasi API. Anda dapat melihat dan mengunduh contoh kode SDK dari operasi API yang diperlukan di halaman Realtime Compute for Apache Flink dan halaman Konsol Penjualan Realtime Compute dari OpenAPI Explorer. Untuk informasi lebih lanjut, lihat Memulai dengan Alibaba Cloud Darabonba SDK untuk Java.

Contoh
Untuk informasi lebih lanjut tentang titik akhir Konsol Penjualan Realtime Compute for Apache Flink, kunjungi OpenAPI Explorer.
Untuk informasi lebih lanjut tentang titik akhir Konsol Pengembangan Realtime Compute for Apache Flink, kunjungi OpenAPI Explorer.
Permintaan ruang kerja yang dibeli
Anda dapat meminta detail ruang kerja Realtime Compute for Apache Flink yang dibeli di wilayah tertentu. Parameter permintaan yang diperlukan:
Region: ID wilayah. Untuk informasi lebih lanjut, kunjungi OpenAPI Explorer. Contoh: cn-hangzhou.
package com.aliyun.sample;
import com.aliyun.foasconsole20211028.models.DescribeInstancesResponse;
import com.aliyun.tea.*;
import com.alibaba.fastjson2.JSON;
public class Sample {
/**
* :
* <p>Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.foasconsole20211028.Client createClient() throws Exception {
// Jika kode proyek bocor, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya dalam akun Anda mungkin terganggu. Contoh kode berikut disediakan hanya untuk referensi.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi di lingkungan runtime kode.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi di lingkungan runtime kode.
.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);
// Permintaan ID wilayah ruang kerja.
System.out.println(response.getBody().getInstances().get(0).zoneId);
// Permintaan ID grup sumber daya ruang kerja.
System.out.println(response.getBody().getInstances().get(0).resourceGroupId);
System.out.println(JSON.toJSON(response));
} catch (TeaException error) {
// Tangani pengecualian dengan hati-hati dalam skenario bisnis nyata dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// Tangani pengecualian dengan hati-hati dalam skenario bisnis nyata dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}
Buat penyebaran
Penyebaran SQL
Anda dapat membuat penyebaran SQL. Parameter permintaan yang diperlukan:
workspace: ID dari ruang kerja. Anda dapat memanggil operasi DescribeInstances dan mendapatkan ID ruang kerja dari parameter ResourceId dalam respons. Contoh: adf9e514****.namespace: nama dari namespace. Contoh: test-default.body.name: nama dari penyebaran. Contoh: mysql_data_holo_test.body.engineVersion: versi mesin. Contoh: vvr-8.0.7-flink-1.17. Anda dapat memanggil operasi ListEngineVersionMetadata untuk menanyakan versi mesin yang didukung.body.sqlArtifact.sqlScript: konten teks dari penyebaran SQL. Contoh: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: jenis penyebaran. Contoh: SQLSCRIPT.body.deploymentTarget.mode: mode penyebaran. Atur nilainya menjadi PER_JOB.body.deploymentTarget.name: antrian dari penyebaran. Contoh: default-queue.body.executionMode: mode eksekusi. Contoh: STREAMING.body.streamingResourceSetting.resourceSettingMode: mode konfigurasi sumber daya yang digunakan untuk mode streaming. Contoh: BASIC.body.streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.cpu: jumlah inti CPU dari JobManager. Contoh: 2.body.streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.memory: memori dari JobManager. Contoh: 4.0 GiB.body.streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.cpu: jumlah inti CPU dari TaskManager. Contoh: 2.body.streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.memory: memori dari TaskManager. Contoh: 4.0 GiB.
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* :
* <p>Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.teaopenapi.Client createClient() throws Exception {
// Jika kode proyek bocor, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya di akun Anda mungkin terganggu. Kode sampel berikut disediakan hanya untuk referensi.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi dalam lingkungan runtime kode.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi dalam lingkungan runtime kode.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
config.endpoint = "ververica.cn-beijing.aliyuncs.com";
return new com.aliyun.teaopenapi.Client(config);
}
/**
* :
* <p>Parameter spesifik operasi</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()
// Operasi yang ingin Anda lakukan.
.setAction("CreateDeployment")
// Nomor versi operasi.
.setVersion("2022-07-18")
// Protokol operasi.
.setProtocol("HTTPS")
// Metode HTTP operasi.
.setMethod("POST")
.setAuthType("AK")
.setStyle("ROA")
// URL operasi.
.setPathname("/api/v2/namespaces/" + namespace + "/deployments")
// Format badan permintaan.
.setReqBodyType("json")
// Format badan respons.
.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");
// parameter body
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");
// opsi runtime
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);
// Nilai pengembalian adalah tipe Map. Nilai pengembalian berisi jenis data berikut: badan respons, header respons, dan kode status HTTP.
client.callApi(params, request, runtime);
java.util.Map<String, ?> response = client.callApi(params, request, runtime);
System.out.println(response);
}
}Penyebaran JAR
Anda dapat membuat penyebaran JAR. Parameter permintaan yang diperlukan:
Pastikan paket JAR diunggah ke bucket Object Storage Service (OSS) dan Anda memiliki izin untuk mengakses ruang kerja Realtime Compute for Apache Flink. Untuk informasi lebih lanjut, lihat Unggah Sederhana.
URL OSS dari paket JAR adalah https://<Bucket>.oss-<Region>.aliyuncs.com/<NamaFile>.
workspace: ID dari ruang kerja. Anda dapat memanggil operasi DescribeInstances dan mendapatkan ID ruang kerja dari parameter ResourceId dalam respons. Contoh: adf9e514****.namespace: nama dari namespace. Contoh: test-default.body.name: nama dari penyebaran. Contoh: my-test-jar.body.engineVersion: versi mesin. Contoh: vvr-8.0.7-flink-1.17. Anda dapat memanggil operasi ListEngineVersionMetadata untuk menanyakan versi mesin yang didukung.body.jarArtifact.kind: tipe penyebaran. Contoh: JAR.body.jarArtifact.jarUri: URL OSS dari paket JAR. Contoh: https://myBucket/oss-cn-hangzhou/test.jar.body.jarArtifact.entryClass: nama lengkap dari kelas titik masuk. Contoh: org.apache.flink.test.body.deploymentTarget.mode: mode penyebaran. Atur nilainya menjadi PER_JOB.body.deploymentTarget.name: antrian dari penyebaran. Contoh: default-queue.body.executionMode: mode eksekusi. Contoh: STREAMING.body.streamingResourceSetting.resourceSettingMode: mode konfigurasi sumber daya yang digunakan untuk mode streaming. Contoh: BASIC.body.streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.cpu: jumlah core CPU dari JobManager. Contoh: 2.body.streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.memory: memori dari JobManager. Contoh: 4.0 GiB.body.streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.cpu: jumlah core CPU dari TaskManager. Contoh: 2.body.streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.memory: memori dari TaskManager. Contoh: 4.0 GiB.
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* :
* <p>Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.teaopenapi.Client createClient() throws Exception {
// Jika kode proyek bocor, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya dalam akun Anda mungkin terganggu. Kode sampel berikut disediakan hanya untuk referensi.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi di lingkungan runtime kode.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi di lingkungan runtime kode.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
config.endpoint = "ververica.cn-hangzhou.aliyuncs.com";
return new com.aliyun.teaopenapi.Client(config);
}
/**
* :
* <p>Parameter spesifik operasi</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()
// Operasi yang ingin Anda lakukan.
.setAction("CreateDeployment")
// Nomor versi operasi.
.setVersion("2022-07-18")
// Protokol operasi.
.setProtocol("HTTPS")
// Metode HTTP operasi.
.setMethod("POST")
.setAuthType("AK")
.setStyle("ROA")
// URL operasi.
.setPathname("/api/v2/namespaces/" + namespace + "/deployments")
// Format dari badan permintaan.
.setReqBodyType("json")
// Format dari badan respons.
.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");
// parameter body
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")
))
))
))
);
// parameter header
java.util.Map<String, String> headers = new java.util.HashMap<>();
headers.put("workspace", "d05a*****e44");
// opsi runtime
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);
// Nilai pengembalian bertipe Map. Nilai pengembalian berisi jenis data berikut: badan respons, header respons, dan kode status HTTP.
java.util.Map<String, ?> response = client.callApi(params, request, runtime);
System.out.println(response);
}
}Query a list of deployments
Anda dapat meminta informasi tentang semua penyebaran di dalam sebuah namespace. Parameter permintaan yang diperlukan:
workspace: ID dari workspace. Anda dapat memanggil operasi DescribeInstances dan mendapatkan ID workspace dari parameter ResourceId dalam respons. Contoh: adf9e514****.namespace: nama dari namespace. Contoh: test-default.
package com.sample;
import com.aliyun.tea.*;
import com.alibaba.fastjson2.JSON;
import com.aliyun.ververica20220718.models.ListDeploymentsResponse;
public class Sample {
/**
* :
* <p>Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.ververica20220718.Client createClient() throws Exception {
// Jika kode proyek bocor, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya dalam akun Anda mungkin terganggu. Kode sampel berikut disediakan hanya untuk referensi.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi di lingkungan waktu proses kode.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi di lingkungan waktu proses kode.
.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) {
// Tangani pengecualian dengan hati-hati dalam skenario bisnis nyata dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// Tangani pengecualian dengan hati-hati dalam skenario bisnis nyata dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}Mulai penyebaran
Anda dapat memulai penyebaran di dalam namespace. Parameter permintaan yang diperlukan:
workspace: ID dari workspace. Contoh: adf9e5147a****.namespace: nama dari namespace. Contoh: test-default.deploymentId: ID dari penyebaran. Anda dapat memanggil operasi ListDeployments untuk menanyakan ID penyebaran. Contoh: 10283a02-c6a6-4f3e-9f93-8dab****.kind: jenis offset awal. Nilai valid: NONE, LATEST_SAVEPOINT, FROM_SAVEPOINT, dan LATEST_STATE.
package com.aliyun.sample;
import com.aliyun.tea.*;
import com.aliyun.ververica20220718.models.StartJobWithParamsResponse;
import com.alibaba.fastjson2.JSON;
public class Sample {
/**
* :
* <p>Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.ververica20220718.Client createClient() throws Exception {
// Jika kode proyek bocor, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya dalam akun Anda mungkin terganggu. Kode sampel berikut disediakan hanya untuk referensi.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi di lingkungan waktu proses kode.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi di lingkungan waktu proses kode.
.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) {
// Tangani pengecualian dengan hati-hati dalam skenario bisnis nyata dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// Tangani pengecualian dengan hati-hati dalam skenario bisnis nyata dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}Query the information about a deployment
Anda dapat menanyakan informasi tentang semua job dalam sebuah deployment. Parameter permintaan yang diperlukan:
workspace: ID dari workspace. Contoh: adf9e5147****.namespace: nama dari namespace. Contoh: test-default.deploymentId: ID dari deployment. Anda dapat memanggil operasi ListDeployments untuk menanyakan ID deployment. Contoh: 8489b7ec-****-****-****-cc4c17fa12b0.
package com.aliyun.sample;
import com.aliyun.tea.*;
import com.aliyun.ververica20220718.models.ListJobsResponse;
import com.alibaba.fastjson2.JSON;
public class Sample {
/**
* :
* <p>Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.ververica20220718.Client createClient() throws Exception {
// Jika kode proyek bocor, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya dalam akun Anda mungkin terganggu. Contoh kode berikut disediakan hanya untuk referensi.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi di lingkungan runtime kode.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi di lingkungan runtime kode.
.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);
// Lihat hasil eksekusi dari deployment.
System.out.println("Hasil eksekusi adalah:"+ response.body.success);
// Dapatkan ID job. Parameter ini digunakan untuk membatalkan job.
System.out.println(response.body.getData().get(0).jobId);
System.out.println(JSON.toJSON(response));
} catch (TeaException error) {
// Tangani pengecualian dengan hati-hati dalam skenario bisnis nyata dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// Tangani pengecualian dengan hati-hati dalam skenario bisnis nyata dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}Cancel a job
Anda dapat membatalkan pekerjaan dalam penyebaran. Parameter permintaan yang diperlukan:
workspace: ID dari ruang kerja. Contoh: adf9e5147****.namespace: nama dari namespace. Contoh: test-default.jobId: ID pekerjaan. Anda dapat memanggil operasi ListJobs untuk menanyakan ID pekerjaan. Contoh: 3171d4d1-****-****-****-e762493b7765.stopStrategy: strategi yang digunakan untuk membatalkan pekerjaan. Nilai valid: NONE, STOP_WITH_SAVEPOINT, dan 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 {
/**
* :
* <p>Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.ververica20220718.Client createClient() throws Exception {
// Jika kode proyek bocor, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya dalam akun Anda mungkin terganggu. Kode sampel berikut disediakan hanya untuk referensi.
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi di lingkungan waktu proses kode.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Diperlukan. Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi di lingkungan waktu proses kode.
.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) {
// Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual dan jangan pernah abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi.
// Pesan kesalahan.
System.out.println(error.getMessage());
// URL halaman diagnostik kesalahan yang sesuai.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}Referensi
Untuk informasi lebih lanjut tentang Realtime Compute for Apache Flink SDK for Python, lihat Flink SDK for Python.