Auf dieser Seite wird beschrieben, wie Sie Vorgänge mit langer Ausführungszeit verwenden, die durch Methodenaufrufe in Cloud Storage initiiert werden. Ausführliche Informationen zur Semantik eines Vorgangs mit langer Ausführungszeit, der von einem bestimmten Methodenaufruf zurückgegeben wird, finden Sie in der funktionsspezifischen Dokumentation.
Erforderliche Rollen abrufen
Bitten Sie Ihren Administrator, Ihnen die Rolle „Storage-Administrator“ (roles/storage.admin) oder die Rolle „Storage Legacy Bucket Owner“ (roles/storage.legacyBucketOwner) für den Bucket oder das Projekt zuzuweisen, mit dem der zugrunde liegende Vorgang ausgeführt wird, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Vorgängen mit langer Ausführungszeit in Cloud Storage benötigen.
Diese vordefinierten Rollen enthalten die folgenden Berechtigungen, die zum Verwalten von Vorgängen mit langer Ausführungszeit in Cloud Storage erforderlich sind:
storage.bucketOperations.cancelstorage.bucketOperations.getstorage.bucketOperations.liststorage.buckets.list(Diese Berechtigung ist nur erforderlich, wenn Sie die Google Cloud Console verwenden.)
Informationen zum Zuweisen von Rollen für Buckets finden Sie unter IAM-Richtlinien für Buckets festlegen und verwalten. Informationen zum Zuweisen von Rollen für Projekte finden Sie unter Zugriff verwalten.
Details eines Vorgangs mit langer Ausführungszeit abrufen
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit dem Vorgang mit langer Ausführungszeit verknüpft ist.
Klicken Sie auf den Tab Vorgänge.
Befehlszeile
Mit dem Befehl gcloud storage operations describe können Sie Details zu einem Vorgang mit langer Ausführungszeit abrufen oder den Status prüfen:
gcloud storage operations describe projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Ersetzen Sie:
BUCKET_NAMEdurch den Namen des Buckets, der den Vorgang mit langer Ausführungszeit enthält. Beispiel:my-bucket.OPERATION_IDdurch die ID des Vorgangs mit langer Ausführungszeit, die in der Antwort der von Ihnen aufgerufenen Methoden zurückgegeben wird. Beispielsweise wird beim Aufrufen vongcloud storage restoredie folgende Antwort zurückgegeben und die ID des Vorgangs mit langer Ausführungszeit lautetBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
REST APIs
JSON-API
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Verwenden Sie
cURL, um die JSON-API mit eineroperations.get-ReportConfig-Anfrage aufzurufen:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/operations/OPERATION_ID"
Ersetzen Sie:
BUCKET_NAMEdurch den Namen des Buckets, der mit dem Vorgang mit langer Ausführungszeit verknüpft ist.OPERATION_IDdurch die ID des Vorgangs mit langer Ausführungszeit, die in der Antwort der von Ihnen aufgerufenen Methoden zurückgegeben wird. Beispielsweise wird beim Aufrufen vongcloud storage restoredie folgende Antwort zurückgegeben und die ID des Vorgangs mit langer Ausführungszeit lautetBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Wenn die Anfrage erfolgreich ist, wird eine operations-Ressource zurückgegeben:
{
"kind": "storage#operation",
"name": "projects/_/buckets/bucket/operations/operation_id",
"metadata": {
"@type": OperationMetadataType*,
metadata OperationMetadata*
},
"done": boolean,
"response": {
"@type": ResponseResourceType*,
response ResponseResource*
}
}Vorgänge mit langer Ausführungszeit in einem Bucket auflisten
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Bucket-Liste auf den Namen des gewünschten Buckets.
Klicken Sie auf den Tab Vorgänge.
Befehlszeile
Um die Vorgänge mit langer Ausführungszeit in einem Bucket aufzulisten, verwenden Sie den Befehl gcloud storage operations list:
gcloud storage operations list gs://BUCKET_NAME
Ersetzen Sie:
BUCKET_NAMEdurch den Namen des Buckets, der die Vorgänge mit langer Ausführungszeit enthält. Beispiel:my-bucket.
REST APIs
JSON-API
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Verwenden Sie
cURL, um die JSON-API mit eineroperations.get-ReportConfig-Anfrage aufzurufen:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/operations"
Ersetzen Sie:
BUCKET_NAMEdurch den Namen des Buckets, der mit den Vorgängen mit langer Ausführungszeit verknüpft ist, die Sie auflisten möchten.
Wenn die Anfrage erfolgreich ist, erhalten Sie eine Antwort ähnlich der folgenden:
{
"kind": "storage#operations",
"nextPageToken": string,
"operations": [
operations Resource
]
}Vorgang mit langer Ausführungszeit abbrechen
Console
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit dem Vorgang mit langer Ausführungszeit verknüpft ist, den Sie abbrechen möchten.
Klicken Sie auf den Tab Vorgänge.
Klicken Sie in der Zeile für den Vorgang mit langer Ausführungszeit auf Weitere Optionen und dann auf Abbrechen.
Befehlszeile
Verwenden Sie den Befehl gcloud storage operations cancel, um einen Vorgang mit langer Ausführungszeit abzubrechen:
gcloud storage operations cancel projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Ersetzen Sie:
BUCKET_NAMEdurch den Namen des Buckets, der den Vorgang mit langer Ausführungszeit enthält. Beispiel:my-bucket.OPERATION_IDdurch die ID des Vorgangs mit langer Ausführungszeit, die in der Antwort der von Ihnen aufgerufenen Methoden zurückgegeben wird. Beispielsweise wird beim Aufrufen vongcloud storage restoredie folgende Antwort zurückgegeben und die ID des Vorgangs mit langer Ausführungszeit lautetBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
REST APIs
JSON-API
Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den
Authorization-Header zu generieren.Verwenden Sie
cURL, um die JSON-API mit eineroperations.post-ReportConfig-Anfrage aufzurufen:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/operations/OPERATION_ID/cancel"
Ersetzen Sie:
BUCKET_NAMEdurch den Namen des Buckets, der mit dem Vorgang mit langer Ausführungszeit verknüpft ist, den Sie abbrechen möchten.OPERATION_IDdurch die ID des Vorgangs mit langer Ausführungszeit, die in der Antwort der von Ihnen aufgerufenen Methoden zurückgegeben wird. Beispielsweise wird beim Aufrufen vongcloud storage restoredie folgende Antwort zurückgegeben und die ID des Vorgangs mit langer Ausführungszeit lautetBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Metadaten
Vorgänge mit langer Ausführungszeit sind mit Metadaten verknüpft. Die folgenden Metadaten geben Attribute eines Vorgangs mit langer Ausführungszeit an:
Erstellungszeit: Die Zeitpunkt, zu der der Vorgang mit langer Ausführungszeit erstellt wurde.
Ende: Der Zeitpunkt, zu dem der Vorgang mit langer Ausführungszeit abgeschlossen wurde.
Aktualisierungszeit: Der Zeitpunkt, zu dem der Vorgang mit langer Ausführungszeit zuletzt geändert wurde.
Typ: Der API-Aufruf, mit dem der Vorgang mit langer Ausführungszeit initiiert wurde.
Abbruch angefordert: Gibt an, ob der Nutzer den Abbruch des Vorgangs mit langer Ausführungszeit angefordert hat.
Prozentsatz des Fortschritts: Der geschätzte Fortschritt des Vorgangs mit langer Ausführungszeit in Prozent. Der Wert
-1bedeutet, dass der Fortschritt unbekannt ist.
In der Google Cloud Console werden der Prozentsatz des Fortschritts und die Metadaten zum angeforderten Abbruch in einem kombinierten Status-Feld angezeigt.
Fehlerbehandlung
Vorgänge mit langer Ausführungszeit werden von asynchronen APIs initiiert und erfordern eine andere Fehlerbehandlung als synchrone APIs. Im Gegensatz zu synchronen APIs kann die Antwort auf asynchrone API-Aufrufe auch dann erfolgreich sein, wenn der Vorgang mit langer Ausführungszeit schließlich fehlschlägt. Anstatt sich auf den Statuscode zu verlassen, der in den Antwortheadern zurückgegeben wird, sollten Sie die Metadaten des Vorgangs mit langer Ausführungszeit im Antworttext parsen, um festzustellen, ob ein API-Aufruf erfolgreich war.
Wenn Sie beispielsweise eine Bulk-Wiederherstellungsanfrage für vorläufiges Löschen stellen, wird ein erfolgreicher HTTP-Statuscode (200 OK) zurückgegeben, auch wenn während des Vorgangs ein Fehler auftritt. Um zu prüfen, ob der Bulk-Wiederherstellungsvorgang erfolgreich war, fragen Sie den Status des Vorgangs mit langer Ausführungszeit ab.
Beachten Sie, dass die APIs für Vorgänge mit langer Ausführungszeit (Get, List, Cancel) synchron sind und normale Fehler zurückgeben.