yandex-cloud / python-sdk

Yandex.Cloud Python SDK
MIT License
75 stars 24 forks source link

Не получается запросить список ВМ в compute #61

Closed beatstream69 closed 1 year ago

beatstream69 commented 1 year ago

Добрый день Пытаюсь написать сервис на python (3.7.3) + asyncio для автоматизации управления ресурсами yandexcloud=0.184.0 (пробовал также мастер отсюда) protobuf=3.20.2 grpcio=1.49.1 Код примерно такой:

from yandex.cloud.compute.v1.instance_service_pb2_grpc import InstanceServiceStub
from yandex.cloud.compute.v1.instance_service_pb2 import ListInstancesRequest
...
        token = await self.get_iam_token()
        self.sdk = yandexcloud.SDK(iam_token=token)
...
        def get_vm_list(self):
                instance_service = self.sdk.client(InstanceServiceStub)
                operation = instance_service.List(ListInstancesRequest(folder_id=self.config.yc.folder_id))
                response = self.sdk.wait_operation_and_get_result(operation)
                print(f"vm list: {response.instances}")

Успешно получаю IAM токен, делаю запрос, но получаю ошибку:

Traceback (most recent call last):
  File "main.py", line 40, in <module>
    asyncio.run(start())
  File "/usr/lib/python3.7/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
  File "main.py", line 18, in start
    yc.get_vm_list()
  File "/home/user/tst/service_cloud_mgr/client_yc.py", line 47, in get_vm_list
    response = self.sdk.wait_operation_and_get_result(operation)
  File "/home/user/tst/service_cloud_mgr/yandexcloud/_sdk.py", line 53, in wait_operation_and_get_result
    return _operation_waiter.get_operation_result(self, operation, response_type, meta_type, timeout, logger)
  File "/home/user/tst/service_cloud_mgr/yandexcloud/_operation_waiter.py", line 47, in get_operation_result
    created_at = datetime.fromtimestamp(operation.created_at.seconds)
AttributeError: created_at

Подскажите, что я делаю не так?

beatstream69 commented 1 year ago

Разобрался, метод List работает без операций и сразу возвращает результат