Python
首先阅读 gRPC 指南,创建平台 API 令牌并下载 platform.proto。在包含此文件的目录中运行以下命令。
安装 Python gRPC 代码生成器,并生成消息类和客户端类:
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。