Batch 작업은 하나 또는 여러 개의 태스크로 구성됩니다. 이 샘플은 특정 작업에 있는 모든 태스크의 이름과 현재 상태를 검색합니다.
더 살펴보기
이 코드 샘플이 포함된 자세한 문서는 다음을 참조하세요.
코드 샘플
Go
자세한 내용은 Batch Go API 참조 문서를 확인하세요.
import (
"context"
"fmt"
"io"
batch "cloud.google.com/go/batch/apiv1"
"cloud.google.com/go/batch/apiv1/batchpb"
"google.golang.org/api/iterator"
)
// Lists all tasks in the given project and region
func listTasks(w io.Writer, projectID, region, jobName, taskGroup string) error {
// projectID := "your_project_id"
// region := "us-central1"
// jobName := "some-job"
// taskGroup := "group0" // defaults to "group0" on job creation unless overridden
ctx := context.Background()
batchClient, err := batch.NewClient(ctx)
if err != nil {
return fmt.Errorf("NewClient: %v", err)
}
defer batchClient.Close()
req := &batchpb.ListTasksRequest{
Parent: fmt.Sprintf("projects/%s/locations/%s/jobs/%s/taskGroups/%s", projectID, region, jobName, taskGroup),
}
var tasks []*batchpb.Task
it := batchClient.ListTasks(ctx, req)
for {
task, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
return fmt.Errorf("unable to list tasks: %v", err)
}
tasks = append(tasks, task)
}
fmt.Fprintf(w, "Tasks: %v\n", tasks)
return nil
}
Java
자세한 내용은 Batch Java API 참조 문서를 확인하세요.
import com.google.cloud.batch.v1.BatchServiceClient;
import com.google.cloud.batch.v1.Task;
import java.io.IOException;
public class ListTasks {
public static void main(String[] args) throws IOException {
// TODO(developer): Replace these variables before running the sample.
// Project ID or project number of the Cloud project you want to use.
String projectId = "YOUR_PROJECT_ID";
// Name of the region hosts the job.
String region = "europe-central2";
// Name of the job which tasks you want to list.
String jobName = "JOB_NAME";
// Name of the group of tasks. Usually it's `group0`.
String groupName = "group0";
listTasks(projectId, region, jobName, groupName);
}
// Get a list of all jobs defined in given region.
public static void listTasks(String projectId, String region, String jobName, String groupName)
throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the `batchServiceClient.close()` method on the client to safely
// clean up any remaining background resources.
try (BatchServiceClient batchServiceClient = BatchServiceClient.create()) {
String parent = String.format("projects/%s/locations/%s/jobs/%s/taskGroups/%s", projectId,
region, jobName, groupName);
for (Task task : batchServiceClient.listTasks(parent).iterateAll()) {
System.out.println(task.getName());
}
}
}
}
Node.js
자세한 내용은 Batch Node.js API 참조 문서를 확인하세요.
/**
* TODO(developer): Uncomment and replace these variables before running the sample.
*/
// const projectId = 'YOUR_PROJECT_ID';
/**
* The region that hosts the job.
*/
// const region = 'us-central-1';
/**
* The name of the job which tasks you want to list.
*/
// const jobName = 'YOUR_JOB_NAME';
/**
* The name of the group of tasks. Usually it's `group0`.
*/
// const groupName = 'group0';
// Imports the Batch library
const batchLib = require('@google-cloud/batch');
// Instantiates a client
const batchClient = new batchLib.v1.BatchServiceClient();
async function callListTasks() {
// Construct request
const request = {
parent: `projects/${projectId}/locations/${region}/jobs/${jobName}/taskGroups/${groupName}`,
};
// Run request
const iterable = await batchClient.listTasksAsync(request);
for await (const response of iterable) {
console.log(response);
}
}
callListTasks();
Python
자세한 내용은 Batch Python API 참조 문서를 확인하세요.
from typing import Iterable
from google.cloud import batch_v1
def list_tasks(project_id: str, region: str, job_name: str, group_name: str) -> Iterable[batch_v1.Task]:
"""
Get a list of all jobs defined in given region.
Args:
project_id: project ID or project number of the Cloud project you want to use.
region: name of the region hosting the jobs.
job_name: name of the job which tasks you want to list.
group_name: name of the group of tasks. Usually it's `group0`.
Returns:
An iterable collection of Task objects.
"""
client = batch_v1.BatchServiceClient()
return client.list_tasks(parent=f"projects/{project_id}/locations/{region}/jobs/{job_name}/taskGroups/{group_name}")
다음 단계
다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저를 참조하세요.