タスクキューの例から移行するためのタスクを作成します。
コードサンプル
Java
Cloud Tasks 用のクライアント ライブラリをインストールして使用する方法については、Cloud Tasks のクライアント ライブラリをご覧ください。
import com.google.cloud.tasks.v2.AppEngineHttpRequest;
import com.google.cloud.tasks.v2.CloudTasksClient;
import com.google.cloud.tasks.v2.HttpMethod;
import com.google.cloud.tasks.v2.QueueName;
import com.google.cloud.tasks.v2.Task;
import com.google.protobuf.ByteString;
import java.nio.charset.Charset;
public class CreateTask {
public static void createTask(String projectId, String locationId, String queueId)
throws Exception {
try (CloudTasksClient client = CloudTasksClient.create()) {
// TODO(developer): Uncomment these lines and replace with your values.
// String projectId = "your-project-id";
// String locationId = "us-central1";
// String queueId = "default";
String key = "key";
// Construct the fully qualified queue name.
String queueName = QueueName.of(projectId, locationId, queueId).toString();
// Construct the task body.
Task taskParam =
Task.newBuilder()
.setAppEngineHttpRequest(
AppEngineHttpRequest.newBuilder()
.setRelativeUri("/worker?key=" + key)
.setHttpMethod(HttpMethod.GET)
.build())
.build();
Task taskPayload =
Task.newBuilder()
.setAppEngineHttpRequest(
AppEngineHttpRequest.newBuilder()
.setBody(ByteString.copyFrom(key, Charset.defaultCharset()))
.setRelativeUri("/worker")
.setHttpMethod(HttpMethod.POST)
.build())
.build();
// Send create task request.
Task[] tasks = new Task[] {taskParam, taskPayload};
for (Task task : tasks) {
Task response = client.createTask(queueName, task);
System.out.println(response);
}
}
}
}
Python
Cloud Tasks 用のクライアント ライブラリをインストールして使用する方法については、Cloud Tasks のクライアント ライブラリをご覧ください。
client = tasks.CloudTasksClient()
# TODO(developer): Uncomment these lines and replace with your values.
# project = 'my-project-id'
# location = 'us- central1'
# queue = 'default'
amount = 10
parent = client.queue_path(project, location, queue)
task = {
'app_engine_http_request': {
'http_method': tasks.HttpMethod.POST,
'relative_uri': '/update_counter',
'app_engine_routing': {
'service': 'worker'
},
'body': str(amount).encode()
}
}
response = client.create_task(parent=parent, task=task)
eta = response.schedule_time.strftime("%m/%d/%Y, %H:%M:%S")
print('Task {} enqueued, ETA {}.'.format(response.name, eta))