演示如何异步截取流处理作业的状态快照。
代码示例
C#
如需向 Dataflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
using Google.Cloud.Dataflow.V1Beta3;
using Google.Protobuf.WellKnownTypes;
using System.Threading.Tasks;
public sealed partial class GeneratedJobsV1Beta3ClientSnippets
{
/// <summary>Snippet for SnapshotJobAsync</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
public async Task SnapshotJobRequestObjectAsync()
{
// Create client
JobsV1Beta3Client jobsV1Beta3Client = await JobsV1Beta3Client.CreateAsync();
// Initialize request argument(s)
SnapshotJobRequest request = new SnapshotJobRequest
{
ProjectId = "",
JobId = "",
Ttl = new Duration(),
Location = "",
SnapshotSources = false,
Description = "",
};
// Make the request
Snapshot response = await jobsV1Beta3Client.SnapshotJobAsync(request);
}
}
Java
如需向 Dataflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
import com.google.api.core.ApiFuture;
import com.google.dataflow.v1beta3.JobsV1Beta3Client;
import com.google.dataflow.v1beta3.Snapshot;
import com.google.dataflow.v1beta3.SnapshotJobRequest;
import com.google.protobuf.Duration;
public class AsyncSnapshotJob {
public static void main(String[] args) throws Exception {
asyncSnapshotJob();
}
public static void asyncSnapshotJob() throws Exception {
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
SnapshotJobRequest request =
SnapshotJobRequest.newBuilder()
.setProjectId("projectId-894832108")
.setJobId("jobId101296568")
.setTtl(Duration.newBuilder().build())
.setLocation("location1901043637")
.setSnapshotSources(true)
.setDescription("description-1724546052")
.build();
ApiFuture<Snapshot> future = jobsV1Beta3Client.snapshotJobCallable().futureCall(request);
// Do something.
Snapshot response = future.get();
}
}
}
Node.js
如需向 Dataflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* The project which owns the job to be snapshotted.
*/
// const projectId = 'abc123'
/**
* The job to be snapshotted.
*/
// const jobId = 'abc123'
/**
* TTL for the snapshot.
*/
// const ttl = {}
/**
* The location that contains this job.
*/
// const location = 'abc123'
/**
* If true, perform snapshots for sources which support this.
*/
// const snapshotSources = true
/**
* User specified description of the snapshot. Maybe empty.
*/
// const description = 'abc123'
// Imports the Dataflow library
const {JobsV1Beta3Client} = require('@google-cloud/dataflow').v1beta3;
// Instantiates a client
const dataflowClient = new JobsV1Beta3Client();
async function callSnapshotJob() {
// Construct request
const request = {
};
// Run request
const response = await dataflowClient.snapshotJob(request);
console.log(response);
}
callSnapshotJob();
Python
如需向 Dataflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataflow_v1beta3
async def sample_snapshot_job():
# Create a client
client = dataflow_v1beta3.JobsV1Beta3AsyncClient()
# Initialize request argument(s)
request = dataflow_v1beta3.SnapshotJobRequest(
)
# Make the request
response = await client.snapshot_job(request=request)
# Handle the response
print(response)
后续步骤
如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。