Vérifier l'état de l'opération

Cette page explique comment lister toutes les opérations de longue durée et afficher l'état d'une opération de longue durée.

Pour vérifier l'état et afficher d'autres informations d'erreur d'une opération de longue durée, vous devez d'abord obtenir la valeur de OPERATION_NAME, puis demander l'état.

ListOperations

Pour répertorier toutes les opérations de longue durée, envoyez la requête suivante:

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://blockchainnodeengine.googleapis.com/v1/projects/PROJECT_ID/\
locations/LOCATION/operations

Où :

  • PROJECT_ID est l'ID de votre Google Cloud projet. Exemple : my-project-id.
  • LOCATION est l'emplacement dans lequel vos ressources sont hébergées. Par exemple, us-central1.

Voici un exemple de réponse à la commande ci-dessus:

{
  "operations": [
    {
      "name": "projects/my-project-id/locations/us-central1/operations/operation-1683321573175-5faf8d8696fe0-5f1906e4-eb1b6828",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.blockchainnodeengine.v1.OperationMetadata",
        "createTime": "2023-05-05T21:19:33.245698045Z",
        "endTime": "2023-05-05T21:58:44.520319810Z",
        "target": "projects/my-project-id/locations/us-central1/blockchainNodes/my-new-node-2",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.blockchainnodeengine.v1.BlockchainNode",
        "name": "projects/my-project-id/locations/us-central1/blockchainNodes/my-new-node-2",
        "createTime": "2023-05-05T21:19:33.308756Z",
        "updateTime": "2023-05-05T21:58:44.513286Z",
        "labels": {
          "label-key": "label-value"
        },
        "blockchainType": "ETHEREUM",
        "connectionInfo": {
          "ipInfo": {
            "rpcIpv4Address": "203.0.113.1"
          },
          "endpointInfo": {
            "jsonRpcApiEndpoint": "json-rpc.4amkczs2vkh8hjtghcipu7y2t.blockchainnodeengine.com",
            "websocketsApiEndpoint": "ws.4amkczs2vkh8hjtghcipu7y2t.blockchainnodeengine.com"
          }
        },
        "ethereumDetails": {
          "network": "MAINNET",
          "nodeType": "FULL",
          "executionClient": "GETH",
          "consensusClient": "LIGHTHOUSE",
          "apiEnableAdmin": false,
          "apiEnableDebug": false,
          "additionalEndpoints": {
            "beaconApiEndpoint": "beacon.4amkczs2vkh8hjtghcipu7y2t.blockchainnodeengine.com",
            "beaconPrometheusMetricsApiEndpoint": "bc-mc.4amkczs2vkh8hjtghcipu7y2t.blockchainnodeengine.com"
          }
        },
        "state": "RUNNING"
      }
    }
  ]
}

Notez le OPERATION_ID, qui se présente comme suit:

"name": "projects/my-project-id/locations/us-central1/operations/
    operation-1683321573175-5faf8d8696fe0-5f1906e4-eb1b6828",

GetOperation

Lorsque vous envoyez une requête et que vous recevez une réponse, par exemple de CreateBlockchainNode ou de DeleteBlockchainNode, la réponse inclut OPERATION_ID:

  "name": "projects/my-project-id/locations/us-central1/operations/
    operation-1683321573175-5faf8d8696fe0-5f1906e4-eb1b6828",

Dans cet exemple, vous devez définir OPERATION_NAME sur operation-1683321573175-5faf8d8696fe0-5f1906e4-eb1b6828.

Vous pouvez également obtenir le nom de l'opération à partir des résultats de la commande ListOperations.

Une fois que vous avez la valeur de OPERATION_NAME, envoyez la requête suivante:

curl \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
https://blockchainnodeengine.googleapis.com/v1/projects/PROJECT_ID/\
locations/LOCATION/operations/OPERATION_NAME

Où :

  • PROJECT_ID est l'ID de votre Google Cloud projet. Par exemple, my-project-id.
  • LOCATION est l'emplacement dans lequel vos ressources sont hébergées. Par exemple, us-central1.
  • OPERATION_NAME est une chaîne spécifiant l'opération. Exemple :operation-1683321573175-5faf8d8696fe0-5f1906e4-eb1b6828

Voici un exemple de réponse à la commande ci-dessus:

{
  "name": "projects/my-project-id/locations/us-central1/operations/operation-1683321573175-5faf8d8696fe0-5f1906e4-eb1b6828",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.blockchainnodeengine.v1.OperationMetadata",
    "createTime": "2023-05-05T21:19:33.245698045Z",
    "endTime": "2023-05-05T21:58:44.520319810Z",
    "target": "projects/my-project-id/locations/us-central1/blockchainNodes/my-new-node-2",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.blockchainnodeengine.v1.BlockchainNode",
    "name": "projects/my-project-id/locations/us-central1/blockchainNodes/my-new-node-2",
    "createTime": "2023-05-05T21:19:33.308756Z",
    "updateTime": "2023-05-05T21:58:44.513286Z",
    "labels": {
      "label-key": "label-value"
    },
    "blockchainType": "ETHEREUM",
    "connectionInfo": {
      "ipInfo": {
        "rpcIpv4Address": "203.0.113.1"
      },
      "endpointInfo": {
        "jsonRpcApiEndpoint": "json-rpc.4amkczs2vkh8hjtghcipu7y2t.blockchainnodeengine.com",
        "websocketsApiEndpoint": "ws.4amkczs2vkh8hjtghcipu7y2t.blockchainnodeengine.com"
      }
    },
    "ethereumDetails": {
      "network": "MAINNET",
      "nodeType": "FULL",
      "executionClient": "GETH",
      "consensusClient": "LIGHTHOUSE",
      "apiEnableAdmin": false,
      "apiEnableDebug": false,
      "additionalEndpoints": {
        "beaconApiEndpoint": "beacon.4amkczs2vkh8hjtghcipu7y2t.blockchainnodeengine.com",
        "beaconPrometheusMetricsApiEndpoint": "bc-mc.4amkczs2vkh8hjtghcipu7y2t.blockchainnodeengine.com"
      }
    },
    "state": "RUNNING"
  }
}