Créer un instantané de l'état d'une tâche de traitement par flux (asynchrone)

Explique comment prendre un instantané de l'état d'une tâche de traitement par flux de manière asynchrone.

Exemple de code

C#

Pour vous authentifier auprès de Dataflow, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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

Pour vous authentifier auprès de Dataflow, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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

Pour vous authentifier auprès de Dataflow, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

/**
 * 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

Pour vous authentifier auprès de Dataflow, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

# 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)

Étapes suivantes

Pour rechercher et filtrer des exemples de code pour d'autres produits Google Cloud, consultez l'explorateur d'exemples Google Cloud.