google云平台的grpc扩展
grpcio-gcp的Python项目详细描述
grpc gcp python的包。
安装
grpc gcp python在grpc可用的任何地方都可用。
来自Pypi
如果在本地安装…
$ pip install grpcio-gcp
其他系统范围(在ubuntu上)…..
$ sudo pip install grpcio-gcp
用法
创建定义API配置的配置文件(例如spanner.grpc.config), 使用channelpoolconfig和methodconfig。
channel_pool: { max_size: 10 max_concurrent_streams_low_watermark: 1 } method: { name: "/google.spanner.v1.Spanner/CreateSession" affinity: { command: BIND affinity_key: "name" } } method: { name: "/google.spanner.v1.Spanner/GetSession" affinity: { command: BOUND affinity_key: "name" } } method: { name: "/google.spanner.v1.Spanner/DeleteSession" affinity: { command: UNBIND affinity_key: "name" } }
将配置文件加载到APIConfig对象。
importgoogle.protobuf.text_formatconfig=grpc_gcp.api_config_from_text_pb(pkg_resources.resource_string(__name__,'spanner.grpc.config'))
使用grpc_gcp创建通道池。
importgrpc_gcpimportgrpccredentials=grpc.ssl_channel_credentials()# Add api config key-value pair to optionsoptions=[(grpc_gcp.API_CONFIG_CHANNEL_ARG,config)]channel_pool=grpc_gcp.secure_channel(target,credentials,options)
生成的通道池继承自原始的grpc.channel, 支持多个GRPC频道。