작업 실행 세부정보 가져오기(비동기)

작업의 실행 상태에 대한 자세한 정보를 비동기식으로 요청하는 방법을 보여줍니다.

코드 샘플

Dataflow에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

using Google.Api.Gax;
using Google.Cloud.Dataflow.V1Beta3;
using System;
using System.Linq;
using System.Threading.Tasks;

public sealed partial class GeneratedMetricsV1Beta3ClientSnippets
{
    /// <summary>Snippet for GetJobExecutionDetailsAsync</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 GetJobExecutionDetailsRequestObjectAsync()
    {
        // Create client
        MetricsV1Beta3Client metricsV1Beta3Client = await MetricsV1Beta3Client.CreateAsync();
        // Initialize request argument(s)
        GetJobExecutionDetailsRequest request = new GetJobExecutionDetailsRequest
        {
            ProjectId = "",
            JobId = "",
            Location = "",
        };
        // Make the request
        PagedAsyncEnumerable<JobExecutionDetails, StageSummary> response = metricsV1Beta3Client.GetJobExecutionDetailsAsync(request);

        // Iterate over all response items, lazily performing RPCs as required
        await response.ForEachAsync((StageSummary item) =>
        {
            // Do something with each item
            Console.WriteLine(item);
        });

        // Or iterate over pages (of server-defined size), performing one RPC per page
        await response.AsRawResponses().ForEachAsync((JobExecutionDetails page) =>
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (StageSummary item in page)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
        });

        // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
        int pageSize = 10;
        Page<StageSummary> singlePage = await response.ReadPageAsync(pageSize);
        // Do something with the page of items
        Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
        foreach (StageSummary item in singlePage)
        {
            // Do something with each item
            Console.WriteLine(item);
        }
        // Store the pageToken, for when the next page is required.
        string nextPageToken = singlePage.NextPageToken;
    }
}

Dataflow에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.

import com.google.api.core.ApiFuture;
import com.google.dataflow.v1beta3.GetJobExecutionDetailsRequest;
import com.google.dataflow.v1beta3.MetricsV1Beta3Client;
import com.google.dataflow.v1beta3.StageSummary;

public class AsyncGetJobExecutionDetails {

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

  public static void asyncGetJobExecutionDetails() 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 (MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.create()) {
      GetJobExecutionDetailsRequest request =
          GetJobExecutionDetailsRequest.newBuilder()
              .setProjectId("projectId-894832108")
              .setJobId("jobId101296568")
              .setLocation("location1901043637")
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .build();
      ApiFuture<StageSummary> future =
          metricsV1Beta3Client.getJobExecutionDetailsPagedCallable().futureCall(request);
      // Do something.
      for (StageSummary element : future.get().iterateAll()) {
        // doThingsWith(element);
      }
    }
  }
}

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.
 */
/**
 *  A project id.
 */
// const projectId = 'abc123'
/**
 *  The job to get execution details for.
 */
// const jobId = 'abc123'
/**
 *  The regional endpoint 
 *  (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
 *  contains the job specified by job_id.
 */
// const location = 'abc123'
/**
 *  If specified, determines the maximum number of stages to
 *  return.  If unspecified, the service may choose an appropriate
 *  default, or may return an arbitrarily large number of results.
 */
// const pageSize = 1234
/**
 *  If supplied, this should be the value of next_page_token returned
 *  by an earlier call. This will cause the next page of results to
 *  be returned.
 */
// const pageToken = 'abc123'

// Imports the Dataflow library
const {MetricsV1Beta3Client} = require('@google-cloud/dataflow').v1beta3;

// Instantiates a client
const dataflowClient = new MetricsV1Beta3Client();

async function callGetJobExecutionDetails() {
  // Construct request
  const request = {
  };

  // Run request
  const iterable = dataflowClient.getJobExecutionDetailsAsync(request);
  for await (const response of iterable) {
      console.log(response);
  }
}

callGetJobExecutionDetails();

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_get_job_execution_details():
    # Create a client
    client = dataflow_v1beta3.MetricsV1Beta3AsyncClient()

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

    # Make the request
    page_result = client.get_job_execution_details(request=request)

    # Handle the response
    async for response in page_result:
        print(response)

다음 단계

다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저를 참조하세요.