Répertorier des tâches (asynchrone)

Explique comment répertorier les tâches 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 la page Configurer l'authentification pour un environnement de développement local.

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

public sealed partial class GeneratedJobsV1Beta3ClientSnippets
{
    /// <summary>Snippet for ListJobsAsync</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 ListJobsRequestObjectAsync()
    {
        // Create client
        JobsV1Beta3Client jobsV1Beta3Client = await JobsV1Beta3Client.CreateAsync();
        // Initialize request argument(s)
        ListJobsRequest request = new ListJobsRequest
        {
            ProjectId = "",
            Filter = ListJobsRequest.Types.Filter.Unknown,
            Location = "",
        };
        // Make the request
        PagedAsyncEnumerable<ListJobsResponse, Job> response = jobsV1Beta3Client.ListJobsAsync(request);

        // Iterate over all response items, lazily performing RPCs as required
        await response.ForEachAsync((Job 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((ListJobsResponse page) =>
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (Job 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<Job> 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 (Job 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;
    }
}

Java

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

import com.google.api.core.ApiFuture;
import com.google.dataflow.v1beta3.Job;
import com.google.dataflow.v1beta3.JobView;
import com.google.dataflow.v1beta3.JobsV1Beta3Client;
import com.google.dataflow.v1beta3.ListJobsRequest;

public class AsyncListJobs {

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

  public static void asyncListJobs() 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()) {
      ListJobsRequest request =
          ListJobsRequest.newBuilder()
              .setProjectId("projectId-894832108")
              .setView(JobView.forNumber(0))
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .setLocation("location1901043637")
              .build();
      ApiFuture<Job> future = jobsV1Beta3Client.listJobsPagedCallable().futureCall(request);
      // Do something.
      for (Job element : future.get().iterateAll()) {
        // doThingsWith(element);
      }
    }
  }
}

Node.js

Pour vous authentifier auprès de Dataflow, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page 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 kind of filter to use.
 */
// const filter = {}
/**
 *  The project which owns the jobs.
 */
// const projectId = 'abc123'
/**
 *  If there are many jobs, limit response to at most this many.
 *  The actual number of jobs returned will be the lesser of max_responses
 *  and an unspecified server-defined limit.
 */
// const pageSize = 1234
/**
 *  Set this to the 'next_page_token' field of a previous response
 *  to request additional results in a long list.
 */
// const pageToken = 'abc123'
/**
 *  The regional endpoint
 *  (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
 *  contains this job.
 */
// const location = 'abc123'

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

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

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

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

callListJobs();

Python

Pour vous authentifier auprès de Dataflow, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page 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_list_jobs():
    # Create a client
    client = dataflow_v1beta3.JobsV1Beta3AsyncClient()

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

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

    # Handle the response
    async for response in page_result:
        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.