Répertorier les messages des tâches (asynchrone)

Explique comment demander une liste de messages de tâche 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 Google.Protobuf.WellKnownTypes;
using System;
using System.Linq;
using System.Threading.Tasks;

public sealed partial class GeneratedMessagesV1Beta3ClientSnippets
{
    /// <summary>Snippet for ListJobMessagesAsync</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 ListJobMessagesRequestObjectAsync()
    {
        // Create client
        MessagesV1Beta3Client messagesV1Beta3Client = await MessagesV1Beta3Client.CreateAsync();
        // Initialize request argument(s)
        ListJobMessagesRequest request = new ListJobMessagesRequest
        {
            ProjectId = "",
            JobId = "",
            MinimumImportance = JobMessageImportance.Unknown,
            StartTime = new Timestamp(),
            EndTime = new Timestamp(),
            Location = "",
        };
        // Make the request
        PagedAsyncEnumerable<ListJobMessagesResponse, JobMessage> response = messagesV1Beta3Client.ListJobMessagesAsync(request);

        // Iterate over all response items, lazily performing RPCs as required
        await response.ForEachAsync((JobMessage 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((ListJobMessagesResponse page) =>
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (JobMessage 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<JobMessage> 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 (JobMessage 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.JobMessage;
import com.google.dataflow.v1beta3.JobMessageImportance;
import com.google.dataflow.v1beta3.ListJobMessagesRequest;
import com.google.dataflow.v1beta3.MessagesV1Beta3Client;
import com.google.protobuf.Timestamp;

public class AsyncListJobMessages {

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

  public static void asyncListJobMessages() 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 (MessagesV1Beta3Client messagesV1Beta3Client = MessagesV1Beta3Client.create()) {
      ListJobMessagesRequest request =
          ListJobMessagesRequest.newBuilder()
              .setProjectId("projectId-894832108")
              .setJobId("jobId101296568")
              .setMinimumImportance(JobMessageImportance.forNumber(0))
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .setStartTime(Timestamp.newBuilder().build())
              .setEndTime(Timestamp.newBuilder().build())
              .setLocation("location1901043637")
              .build();
      ApiFuture<JobMessage> future =
          messagesV1Beta3Client.listJobMessagesPagedCallable().futureCall(request);
      // Do something.
      for (JobMessage 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.
 */
/**
 *  A project id.
 */
// const projectId = 'abc123'
/**
 *  The job to get messages about.
 */
// const jobId = 'abc123'
/**
 *  Filter to only get messages with importance >= level
 */
// const minimumImportance = {}
/**
 *  If specified, determines the maximum number of messages 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'
/**
 *  If specified, return only messages with timestamps >= start_time.
 *  The default is the job creation time (i.e. beginning of messages).
 */
// const startTime = {}
/**
 *  Return only messages with timestamps < end_time. The default is now
 *  (i.e. return up to the latest messages available).
 */
// const endTime = {}
/**
 *  The regional endpoint
 *  (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that
 *  contains the job specified by job_id.
 */
// const location = 'abc123'

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

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

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

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

callListJobMessages();

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

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

    # Make the request
    page_result = client.list_job_messages(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.