Class JobsV1Beta3Client

public class JobsV1Beta3Client implements BackgroundResource

Service Description: Provides a method to create and modify Google Cloud Dataflow jobs. A Job is a multi-stage computation graph run by the Cloud Dataflow service.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   CreateJobRequest request =
       CreateJobRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setJob(Job.newBuilder().build())
           .setView(JobView.forNumber(0))
           .setReplaceJobId("replaceJobId441554788")
           .setLocation("location1901043637")
           .build();
   Job response = jobsV1Beta3Client.createJob(request);
 }
 

Note: close() needs to be called on the JobsV1Beta3Client object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of JobsV1Beta3Settings to create(). For example:

To customize credentials:


 JobsV1Beta3Settings jobsV1Beta3Settings =
     JobsV1Beta3Settings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create(jobsV1Beta3Settings);
 

To customize the endpoint:


 JobsV1Beta3Settings jobsV1Beta3Settings =
     JobsV1Beta3Settings.newBuilder().setEndpoint(myEndpoint).build();
 JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create(jobsV1Beta3Settings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > JobsV1Beta3Client

Implements

BackgroundResource

Constructors

JobsV1Beta3Client(JobsV1Beta3Settings settings)

protected JobsV1Beta3Client(JobsV1Beta3Settings settings)

Constructs an instance of JobsV1Beta3Client, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsJobsV1Beta3Settings

JobsV1Beta3Client(JobsV1Beta3Stub stub)

protected JobsV1Beta3Client(JobsV1Beta3Stub stub)
Parameter
NameDescription
stubJobsV1Beta3Stub

Methods

aggregatedListJobs(ListJobsRequest request)

public final JobsV1Beta3Client.AggregatedListJobsPagedResponse aggregatedListJobs(ListJobsRequest request)

List the jobs of a project across all regions.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   ListJobsRequest request =
       ListJobsRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setView(JobView.forNumber(0))
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setLocation("location1901043637")
           .build();
   for (Job element : jobsV1Beta3Client.aggregatedListJobs(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListJobsRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
JobsV1Beta3Client.AggregatedListJobsPagedResponse

aggregatedListJobsCallable()

public final UnaryCallable<ListJobsRequest,ListJobsResponse> aggregatedListJobsCallable()

List the jobs of a project across all regions.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   ListJobsRequest request =
       ListJobsRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setView(JobView.forNumber(0))
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setLocation("location1901043637")
           .build();
   while (true) {
     ListJobsResponse response = jobsV1Beta3Client.aggregatedListJobsCallable().call(request);
     for (Job element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListJobsRequest,ListJobsResponse>

aggregatedListJobsPagedCallable()

public final UnaryCallable<ListJobsRequest,JobsV1Beta3Client.AggregatedListJobsPagedResponse> aggregatedListJobsPagedCallable()

List the jobs of a project across all regions.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   ListJobsRequest request =
       ListJobsRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setView(JobView.forNumber(0))
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setLocation("location1901043637")
           .build();
   ApiFuture
Returns
TypeDescription
UnaryCallable<ListJobsRequest,AggregatedListJobsPagedResponse>

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

checkActiveJobs(CheckActiveJobsRequest request)

public final CheckActiveJobsResponse checkActiveJobs(CheckActiveJobsRequest request)

Check for existence of active jobs in the given project across all regions.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   CheckActiveJobsRequest request =
       CheckActiveJobsRequest.newBuilder().setProjectId("projectId-894832108").build();
   CheckActiveJobsResponse response = jobsV1Beta3Client.checkActiveJobs(request);
 }
 
Parameter
NameDescription
requestCheckActiveJobsRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
CheckActiveJobsResponse

checkActiveJobsCallable()

public final UnaryCallable<CheckActiveJobsRequest,CheckActiveJobsResponse> checkActiveJobsCallable()

Check for existence of active jobs in the given project across all regions.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   CheckActiveJobsRequest request =
       CheckActiveJobsRequest.newBuilder().setProjectId("projectId-894832108").build();
   ApiFuture
Returns
TypeDescription
UnaryCallable<CheckActiveJobsRequest,CheckActiveJobsResponse>

close()

public final void close()

create()

public static final JobsV1Beta3Client create()

Constructs an instance of JobsV1Beta3Client with default settings.

Returns
TypeDescription
JobsV1Beta3Client
Exceptions
TypeDescription
IOException

create(JobsV1Beta3Settings settings)

public static final JobsV1Beta3Client create(JobsV1Beta3Settings settings)

Constructs an instance of JobsV1Beta3Client, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsJobsV1Beta3Settings
Returns
TypeDescription
JobsV1Beta3Client
Exceptions
TypeDescription
IOException

create(JobsV1Beta3Stub stub)

public static final JobsV1Beta3Client create(JobsV1Beta3Stub stub)

Constructs an instance of JobsV1Beta3Client, using the given stub for making calls. This is for advanced usage - prefer using create(JobsV1Beta3Settings).

Parameter
NameDescription
stubJobsV1Beta3Stub
Returns
TypeDescription
JobsV1Beta3Client

createJob(CreateJobRequest request)

public final Job createJob(CreateJobRequest request)

Creates a Cloud Dataflow job.

To create a job, we recommend using projects.locations.jobs.create with a regional endpoint. Using projects.jobs.create is not recommended, as your job will always start in us-central1.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   CreateJobRequest request =
       CreateJobRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setJob(Job.newBuilder().build())
           .setView(JobView.forNumber(0))
           .setReplaceJobId("replaceJobId441554788")
           .setLocation("location1901043637")
           .build();
   Job response = jobsV1Beta3Client.createJob(request);
 }
 
Parameter
NameDescription
requestCreateJobRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Job

createJobCallable()

public final UnaryCallable<CreateJobRequest,Job> createJobCallable()

Creates a Cloud Dataflow job.

To create a job, we recommend using projects.locations.jobs.create with a regional endpoint. Using projects.jobs.create is not recommended, as your job will always start in us-central1.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   CreateJobRequest request =
       CreateJobRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setJob(Job.newBuilder().build())
           .setView(JobView.forNumber(0))
           .setReplaceJobId("replaceJobId441554788")
           .setLocation("location1901043637")
           .build();
   ApiFuture
Returns
TypeDescription
UnaryCallable<CreateJobRequest,Job>

getJob(GetJobRequest request)

public final Job getJob(GetJobRequest request)

Gets the state of the specified Cloud Dataflow job.

To get the state of a job, we recommend using projects.locations.jobs.get with a regional endpoint. Using projects.jobs.get is not recommended, as you can only get the state of jobs that are running in us-central1.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   GetJobRequest request =
       GetJobRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setJobId("jobId101296568")
           .setView(JobView.forNumber(0))
           .setLocation("location1901043637")
           .build();
   Job response = jobsV1Beta3Client.getJob(request);
 }
 
Parameter
NameDescription
requestGetJobRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Job

getJobCallable()

public final UnaryCallable<GetJobRequest,Job> getJobCallable()

Gets the state of the specified Cloud Dataflow job.

To get the state of a job, we recommend using projects.locations.jobs.get with a regional endpoint. Using projects.jobs.get is not recommended, as you can only get the state of jobs that are running in us-central1.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   GetJobRequest request =
       GetJobRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setJobId("jobId101296568")
           .setView(JobView.forNumber(0))
           .setLocation("location1901043637")
           .build();
   ApiFuture
Returns
TypeDescription
UnaryCallable<GetJobRequest,Job>

getSettings()

public final JobsV1Beta3Settings getSettings()
Returns
TypeDescription
JobsV1Beta3Settings

getStub()

public JobsV1Beta3Stub getStub()
Returns
TypeDescription
JobsV1Beta3Stub

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listJobs(ListJobsRequest request)

public final JobsV1Beta3Client.ListJobsPagedResponse listJobs(ListJobsRequest request)

List the jobs of a project.

To list the jobs of a project in a region, we recommend using projects.locations.jobs.list with a regional endpoint. To list the all jobs across all regions, use projects.jobs.aggregated. Using projects.jobs.list is not recommended, as you can only get the list of jobs that are running in us-central1.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   ListJobsRequest request =
       ListJobsRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setView(JobView.forNumber(0))
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setLocation("location1901043637")
           .build();
   for (Job element : jobsV1Beta3Client.listJobs(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListJobsRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
JobsV1Beta3Client.ListJobsPagedResponse

listJobsCallable()

public final UnaryCallable<ListJobsRequest,ListJobsResponse> listJobsCallable()

List the jobs of a project.

To list the jobs of a project in a region, we recommend using projects.locations.jobs.list with a regional endpoint. To list the all jobs across all regions, use projects.jobs.aggregated. Using projects.jobs.list is not recommended, as you can only get the list of jobs that are running in us-central1.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   ListJobsRequest request =
       ListJobsRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setView(JobView.forNumber(0))
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setLocation("location1901043637")
           .build();
   while (true) {
     ListJobsResponse response = jobsV1Beta3Client.listJobsCallable().call(request);
     for (Job element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListJobsRequest,ListJobsResponse>

listJobsPagedCallable()

public final UnaryCallable<ListJobsRequest,JobsV1Beta3Client.ListJobsPagedResponse> listJobsPagedCallable()

List the jobs of a project.

To list the jobs of a project in a region, we recommend using projects.locations.jobs.list with a regional endpoint. To list the all jobs across all regions, use projects.jobs.aggregated. Using projects.jobs.list is not recommended, as you can only get the list of jobs that are running in us-central1.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   ListJobsRequest request =
       ListJobsRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setView(JobView.forNumber(0))
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setLocation("location1901043637")
           .build();
   ApiFuture
Returns
TypeDescription
UnaryCallable<ListJobsRequest,ListJobsPagedResponse>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

snapshotJob(SnapshotJobRequest request)

public final Snapshot snapshotJob(SnapshotJobRequest request)

Snapshot the state of a streaming job.

Sample code:


 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);
 }
 
Parameter
NameDescription
requestSnapshotJobRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Snapshot

snapshotJobCallable()

public final UnaryCallable<SnapshotJobRequest,Snapshot> snapshotJobCallable()

Snapshot the state of a streaming job.

Sample code:


 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
Returns
TypeDescription
UnaryCallable<SnapshotJobRequest,Snapshot>

updateJob(UpdateJobRequest request)

public final Job updateJob(UpdateJobRequest request)

Updates the state of an existing Cloud Dataflow job.

To update the state of an existing job, we recommend using projects.locations.jobs.update with a regional endpoint. Using projects.jobs.update is not recommended, as you can only update the state of jobs that are running in us-central1.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   UpdateJobRequest request =
       UpdateJobRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setJobId("jobId101296568")
           .setJob(Job.newBuilder().build())
           .setLocation("location1901043637")
           .build();
   Job response = jobsV1Beta3Client.updateJob(request);
 }
 
Parameter
NameDescription
requestUpdateJobRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Job

updateJobCallable()

public final UnaryCallable<UpdateJobRequest,Job> updateJobCallable()

Updates the state of an existing Cloud Dataflow job.

To update the state of an existing job, we recommend using projects.locations.jobs.update with a regional endpoint. Using projects.jobs.update is not recommended, as you can only update the state of jobs that are running in us-central1.

Sample code:


 try (JobsV1Beta3Client jobsV1Beta3Client = JobsV1Beta3Client.create()) {
   UpdateJobRequest request =
       UpdateJobRequest.newBuilder()
           .setProjectId("projectId-894832108")
           .setJobId("jobId101296568")
           .setJob(Job.newBuilder().build())
           .setLocation("location1901043637")
           .build();
   ApiFuture
Returns
TypeDescription
UnaryCallable<UpdateJobRequest,Job>