Python способ опроса долгосрочных операций от имени операции в Google Cloud? - PullRequest
0 голосов
/ 15 ноября 2018

Я вызываю облачную функцию Google, которая возвращает объект Operation, реализующий интерфейс google.longrunning.Operations. Я хочу опросить эту операцию из другого процесса Python, который получит только имя операции (не будет иметь доступа к самому объекту операции). Поэтому мне нужно что-то вроде:

operation = getOperation(operationName)
isdone = operation.done()

AFAIK, вы не можете сделать первый шаг выше. Я не нашел его здесь: https://google -cloud-python.readthedocs.io / en / stable / core / operation.html

Я хотел бы сделать то, что объясняется в документации по интерфейсу google.longrunning (https://cloud.google.com/speech-to-text/docs/reference/rpc/google.longrunning#google.longrunning.Operations.GetOperation):

rpc GetOperation(GetOperationRequest) returns (Operation)

Там, где GetOperationRequest просто требуется имя операции. Есть ли способ «воссоздать» операцию, используя функции из библиотеки google-cloud-python?

1 Ответ

0 голосов
/ 15 ноября 2018

Вы можете использовать get_operation метод «Длительного клиента операций» :

from google.api_core import operations_v1
api = operations_v1.OperationsClient()
name = ...
response = api.get_operation(name)
...