Перейти к основному содержимому

Python

Начните с руководства gRPC, чтобы создать токен API платформы и скачать platform.proto. Следующие команды запускайте из каталога с этим файлом.

Установите генератор кода gRPC для Python и сгенерируйте классы сообщений и клиента:

python -m pip install grpcio grpcio-tools
python -m grpc_tools.protoc -I. \
--python_out=. --grpc_python_out=. platform.proto

Сохраните это как example.py рядом со сгенерированными файлами:

import os
import grpc
import platform_pb2
import platform_pb2_grpc

target = os.getenv("CR_reconstruct.dev:443", "reconstruct.dev:443")
metadata = (("authorization", f"Bearer {os.environ['CR_RECONSTRUCT_API_TOKEN']}"),)

with grpc.secure_channel(target, grpc.ssl_channel_credentials()) as channel:
client = platform_pb2_grpc.PlatformServiceStub(channel)
page = client.ListCatalogs(
platform_pb2.ListCatalogsRequest(page_size=10),
metadata=metadata,
timeout=10,
)
for catalog in page.catalogs:
detail = client.GetCatalog(
platform_pb2.GetCatalogRequest(catalog_id=catalog.catalog_id),
metadata=metadata,
timeout=10,
)
print(detail.catalog_id, detail.description)

Выполните python example.py. Нативная цель gRPC имеет вид host:port, поэтому не включает /api/v1.