작업 메시지 목록을 비동기식으로 요청하는 방법을 보여줍니다.
코드 샘플
C#
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
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
/**
* 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 = await dataflowClient.listJobMessagesAsync(request);
for await (const response of iterable) {
console.log(response);
}
}
callListJobMessages();
Python
# 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)
다음 단계
다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저를 참조하세요.