Package google.longrunning

Index

Vorgänge

Verwaltet lang andauernde Vorgänge mit einem API-Dienst.

Wenn eine API-Methode in der Regel viel Zeit in Anspruch nimmt, kann sie so gestaltet werden, dass sie Operation an den Client zurückgibt. Der Client kann diese Schnittstelle dann verwenden, um die echte Antwort asynchron durch Abfragen der Vorgangsressource zu empfangen oder die Vorgangsressource an eine andere API (zum Beispiel Pub/Sub API) zu übergeben, damit diese die Antwort erhält. Jeder API-Dienst, der lang andauernde Vorgänge zurückgibt, sollte die Operations-Schnittstelle implementieren, damit Entwickler eine konsistente Clientumgebung erhalten.

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

Bricht eine Übertragung ab. Mit der Methode transferOperations.get kannst du prüfen, ob der Vorgang erfolgreich abgebrochen oder trotz der cancel-Anfrage abgeschlossen wurde.

Wenn Sie einen Vorgang abbrechen, wird die aktuell laufende Übertragung unterbrochen. Bei wiederkehrenden Übertragungsjobs wird die nächste Instanz des Übertragungsjobs weiterhin ausgeführt. Wenn Ihr Job beispielsweise so konfiguriert ist, dass er jeden Tag um 13:00 Uhr ausgeführt wird, und Sie die Ausführung für Montag um 13:05 Uhr abbrechen, wird die Übertragung für Montag beendet. Am Dienstag wird jedoch weiterhin versucht, eine Übertragung durchzuführen.

Das gilt nur für derzeit laufende Vorgänge. Wenn derzeit kein Vorgang ausgeführt wird, passiert bei cancel nichts.

Wenn Sie einen Job abbrechen, berechnet der nächste Job ein Delta der Dateien und kann inkonsistente Status korrigieren. Wenn Sie beispielsweise jeden Tag einen Job ausführen und bei der heutigen Ausführung 10 neue Dateien gefunden und fünf Dateien übertragen wurden, bevor Sie den Job abgebrochen haben, wird bei der Übertragung am nächsten Tag ein neues Delta mit den fünf Dateien berechnet, die heute nicht kopiert wurden, sowie allen neuen Dateien, die morgen gefunden werden.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

  • https://www.googleapis.com/auth/cloud-platform

Weitere Informationen finden Sie unter Authentication Overview.

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

Letzten Status eines lang andauernden Vorgangs abrufen. Clients können diese Methode nutzen, um die Ergebnisse eines Vorgangs nach gewissen Zeitabständen zu testen, wie vom API-Dienst empfohlen.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

  • https://www.googleapis.com/auth/cloud-platform

Weitere Informationen finden Sie unter Authentication Overview.

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

Listet Übertragungsvorgänge auf. Die Vorgänge werden in umgekehrter chronologischer Reihenfolge nach dem Erstellungszeitpunkt sortiert.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

  • https://www.googleapis.com/auth/cloud-platform

Weitere Informationen finden Sie unter Authentication Overview.

CancelOperationRequest

Die Anfragenachricht für Operations.CancelOperation.

Felder
name

string

Der Name der abzubrechenden Vorgangsressource

GetOperationRequest

Die Anfragenachricht für Operations.GetOperation.

Felder
name

string

Der Name der Vorgangsressource.

ListOperationsRequest

Die Anfragenachricht für Operations.ListOperations.

Felder
name

string

Pflichtangabe. Der Name des aufgelisteten Typs; muss transferOperations sein.

filter

string

Pflichtangabe. Eine Liste von Abfrageparametern, die als JSON-Text im folgenden Format angegeben ist: {"projectId":"my_project_id", "jobNames":["jobid1","jobid2",...], "jobNamePattern": "job_name_pattern", "operationNames":["opid1","opid2",...], "operationNamePattern": "operation_name_pattern", "minCreationTime": "min_creation_time", "maxCreationTime": "max_creation_time", "transferStatuses":["status1","status2",...]}

Da jobNames, operationNames und transferStatuses mehrere Werte unterstützen, müssen sie in Arrayschreibweise angegeben werden. projectId ist das einzige erforderliche Argument. Falls angegeben, müssen jobNamePattern und operationNamePattern mit dem vollständigen Job- bzw. Vorgangsnamen übereinstimmen. „*“ ist ein Platzhalter, der null oder mehr Zeichen entspricht. minCreationTime und maxCreationTime sollten Zeitstempel sein, die als String im Format RFC 3339 codiert sind. Für transferStatuses sind folgende Werte zulässig, unabhängig von der Groß- und Kleinschreibung: IN_PROGRESS, PAUSED, SUCCESS, FAILED und ABORTED.

page_size

int32

Die Größe der Listenseite. Der maximal zulässige Wert ist 256.

page_token

string

Das Token der Listenseite.

ListOperationsResponse

Die Antwortnachricht für Operations.ListOperations.

Felder
operations[]

Operation

Eine Liste der Vorgänge, die zu dem angegebenen Filter in der Anfrage passen.

next_page_token

string

Das Standardtoken für die nächste Listenseite.

Vorgang

Diese Ressource steht für einen lange laufenden Vorgang, der das Ergebnis eines Netzwerk-API-Aufrufs ist.

Felder
name

string

Der vom Server zugewiesene eindeutige Name. Das Format von name ist transferOperations/some/unique/name.

metadata

Any

Stellt das Objekt für den Übertragungsvorgang dar. Wenn du ein TransferOperation-Objekt anfordern möchtest, verwende transferOperations.get.

done

bool

Ist der Wert false, bedeutet das, dass der Vorgang noch läuft. Ist der Wert hingegen true, ist der Vorgang abgeschlossen und entweder error oder response ist verfügbar.

Union-Feld result. Das Ergebnis des Vorgangs kann entweder ein error oder eine gültige response sein. Wenn done = false ist, wird weder error noch response festgelegt. Wenn done = true ist, kann genau ein error oder eine response festgelegt werden. Einige Dienste liefern das Ergebnis möglicherweise nicht. Für result ist nur einer der folgenden Werte zulässig:
error

Status

Das Fehlerergebnis des Vorgangs im Fall eines Fehlers oder Abbruchs.

response

Any

Die normale, erfolgreiche Antwort des Vorgangs. Wenn die ursprüngliche Methode im Erfolgsfall keine Daten zurückgibt, wie bei Delete, lautet die Antwort google.protobuf.Empty. Ist die ursprüngliche Methode standardmäßig Get/Create/Update, sollte die Antwort die Ressource sein. Bei anderen Methoden sollte die Antwort vom Typ XxxResponse sein, wobei Xxx der Name der ursprünglichen Methode ist. Lautet der ursprüngliche Methodenname beispielsweise TakeSnapshot(), ist der abgeleitete Antworttyp TakeSnapshotResponse.