タスクを削除

このドキュメントでは、タスクを削除する方法について説明します。Fleet Engine が設定されていることを前提としています。Fleet Engine を設定するをご覧ください。

タスクの削除の基本

次の状況では、システムが Fleet Engine を使用してタスクを削除することがあります。

  • Fleet Engine API のテスト中にクリーンアップ オペレーションを実行する。
  • 不要になったタスクをすぐに削除するには、

タスクを削除するには、gRPC または REST を使用してリクエストを送信します。

  • DeleteTask() メソッド: gRPC または REST
  • DeleteTaskRequest メッセージ: gRPC のみ

Fleet Engine: サービス アカウントのロールの説明に従って、プロジェクトのサービス アカウントに適切な認証情報を使用してください。

例: タスクを削除する

次の例は、Fleet Engine でタスクを削除する方法を示しています。

static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String TASK_ID = "task-8241890";

String taskName = "providers/" + PROJECT_ID + "/tasks/" + TASK_ID;

DeliveryServiceBlockingStub deliveryService = DeliveryServiceGrpc.newBlockingStub(channel);

// Delete task request.
DeleteTaskRequest deleteTaskRequest = DeleteTaskRequest.newBuilder()
    .setName(taskName)
    .build();

// Error handling.
try {
  deliveryService.deleteTask(deleteTaskRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case NOT_FOUND:           // The task doesn't exist.
      break;
    case FAILED_PRECONDITION: // Task is active and assigned to a delivery vehicle.
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

エラーを処理する

タスクを削除するときに FAILED_PRECONDITION エラーが発生することがあります。この場合、タスクはアクティブで、配送車両に割り当てられています。削除を続行するには、タスクを閉じる

次のステップ