Snapshot the state of a streaming job

Demonstrates how to snapshot the state of a streaming job.

Code sample

C#

To authenticate to Dataflow, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

using Google.Cloud.Dataflow.V1Beta3;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedJobsV1Beta3ClientSnippets
{
    /// <summary>Snippet for SnapshotJob</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 void SnapshotJobRequestObject()
    {
        // Create client
        JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.Create();
        // Initialize request argument(s)
        SnapshotJobRequest request = new SnapshotJobRequest
        {
            ProjectId = "",
            JobId = "",
            Ttl = new Duration(),
            Location = "",
            SnapshotSources = false,
            Description = "",
        };
        // Make the request
        Snapshot response = jobsV1Beta3Client.SnapshotJob(request);
    }
}

Go

To authenticate to Dataflow, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.


package main

import (
	"context"

	dataflow "cloud.google.com/go/dataflow/apiv1beta3"
	dataflowpb "cloud.google.com/go/dataflow/apiv1beta3/dataflowpb"
)

func main() {
	ctx := context.Background()
	// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataflow.NewJobsV1Beta3Client(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataflowpb.SnapshotJobRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataflow/apiv1beta3/dataflowpb#SnapshotJobRequest.
	}
	resp, err := c.SnapshotJob(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

To authenticate to Dataflow, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

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 SyncSnapshotJob {

  public static void main(String[] args) throws Exception {
    syncSnapshotJob();
  }

  public static void syncSnapshotJob() 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();
      Snapshot response = jobsV1Beta3Client.snapshotJob(request);
    }
  }
}

Python

To authenticate to Dataflow, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

# 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


def sample_snapshot_job():
    # Create a client
    client = dataflow_v1beta3.JobsV1Beta3Client()

    # Initialize request argument(s)
    request = dataflow_v1beta3.SnapshotJobRequest(
    )

    # Make the request
    response = client.snapshot_job(request=request)

    # Handle the response
    print(response)

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.