演示如何在阶段中获取关于工作器和工作项的信息。
代码示例
C#
如需向 Dataflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
using Google.Api.Gax;
using Google.Cloud.Dataflow.V1Beta3;
using Google.Protobuf.WellKnownTypes;
using System;
public sealed partial class GeneratedMetricsV1Beta3ClientSnippets
{
/// <summary>Snippet for GetStageExecutionDetails</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 void GetStageExecutionDetailsRequestObject()
{
// Create client
MetricsV1Beta3Client metricsV1Beta3Client = MetricsV1Beta3Client.Create();
// Initialize request argument(s)
GetStageExecutionDetailsRequest request = new GetStageExecutionDetailsRequest
{
ProjectId = "",
JobId = "",
Location = "",
StageId = "",
StartTime = new Timestamp(),
EndTime = new Timestamp(),
};
// Make the request
PagedEnumerable<StageExecutionDetails, WorkerDetails> response = metricsV1Beta3Client.GetStageExecutionDetails(request);
// Iterate over all response items, lazily performing RPCs as required
foreach (WorkerDetails item in response)
{
// Do something with each item
Console.WriteLine(item);
}
// Or iterate over pages (of server-defined size), performing one RPC per page
foreach (StageExecutionDetails page in response.AsRawResponses())
{
// Do something with each page of items
Console.WriteLine("A page of results:");
foreach (WorkerDetails 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<WorkerDetails> singlePage = response.ReadPage(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach (WorkerDetails 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;
}
}
Go
如需向 Dataflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
package main
import (
"context"
dataflow "cloud.google.com/go/dataflow/apiv1beta3"
dataflowpb "cloud.google.com/go/dataflow/apiv1beta3/dataflowpb"
"google.golang.org/api/iterator"
)
func main() {
ctx := context.Background()
// 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://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c, err := dataflow.NewMetricsV1Beta3Client(ctx)
if err != nil {
// TODO: Handle error.
}
defer c.Close()
req := &dataflowpb.GetStageExecutionDetailsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/dataflow/apiv1beta3/dataflowpb#GetStageExecutionDetailsRequest.
}
it := c.GetStageExecutionDetails(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
// TODO: Handle error.
}
// TODO: Use resp.
_ = resp
// If you need to access the underlying RPC response,
// you can do so by casting the `Response` as below.
// Otherwise, remove this line. Only populated after
// first call to Next(). Not safe for concurrent access.
_ = it.Response.(*dataflowpb.StageExecutionDetails)
}
}
Java
如需向 Dataflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
import com.google.dataflow.v1beta3.GetStageExecutionDetailsRequest;
import com.google.dataflow.v1beta3.MetricsV1Beta3Client;
import com.google.dataflow.v1beta3.WorkerDetails;
import com.google.protobuf.Timestamp;
public class SyncGetStageExecutionDetails {
public static void main(String[] args) throws Exception {
syncGetStageExecutionDetails();
}
public static void syncGetStageExecutionDetails() 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()) {
GetStageExecutionDetailsRequest request =
GetStageExecutionDetailsRequest.newBuilder()
.setProjectId("projectId-894832108")
.setJobId("jobId101296568")
.setLocation("location1901043637")
.setStageId("stageId-1897528135")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setStartTime(Timestamp.newBuilder().build())
.setEndTime(Timestamp.newBuilder().build())
.build();
for (WorkerDetails element :
metricsV1Beta3Client.getStageExecutionDetails(request).iterateAll()) {
// doThingsWith(element);
}
}
}
}
Python
如需向 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
def sample_get_stage_execution_details():
# Create a client
client = dataflow_v1beta3.MetricsV1Beta3Client()
# Initialize request argument(s)
request = dataflow_v1beta3.GetStageExecutionDetailsRequest(
)
# Make the request
page_result = client.get_stage_execution_details(request=request)
# Handle the response
for response in page_result:
print(response)
后续步骤
如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。