我正在尝试使用该OperationsClient get_operation()功能,以便我可以轮询长时间运行的任务并获取其状态。https://google-cloud-python.readthedocs.io/en/stable/core/operations_client.html#google.api_core.operations_v1.OperationsClient.get_operation代码看起来相当简单:api = operations_v1.OperationsClient()response = api.get_operation(name)但是, 的初始化OperationClient需要一个通道:OperationsClient(channel)。我对频道做什么或如何创建一无所知。任何帮助表示赞赏。谢谢
2 回答
临摹微笑
TA贡献1982条经验 获得超2个赞
从您链接的文档中:
channel( grpc.Channel ) – 与实现google.longrunning.operations接口的服务关联的 gRPC 通道。
因此,如果它是您自己的 gRPC 服务,您将需要执行以下操作:
import grpc
channel = grpc.insecure_channel('localhost:50051')
api = operations_v1.OperationsClient(channel)
response = api.get_operation(name)
根据您尝试轮询的长时间运行的服务,您可能需要改用其通道。
守着星空守着你
TA贡献1799条经验 获得超8个赞
这是我最终使用的代码。
operation = self.stt_client.transport._operations_client.get_operation(operation_name)response = operation_core.from_gapic( operation, self.stt_client.transport._operations_client, types.LongRunningRecognizeResponse, metadata_type=types.LongRunningRecognizeMetadata, )
添加回答
举报
0/150
提交
取消