有奖捉虫:行业应用 & 管理与支持文档专题 HOT

gRPC 场景使用协议文件

gRPC 等协议需要用户上传协议文件,压测引擎依赖协议文件完成请求的序列化。支持用户上传文件或目录,文件名需要保持唯一,同名文件将会被新上传的文件覆盖。如果用户上传 zip 文件,PTS 会解压文件,并展示解压后的文件结构。如果目录或者 zip 包中包含非 Proto 文件,PTS 将忽略这些文件。



如果主 pb 文件依赖其他 proto 文件,那么也需要一并上传(谷歌提供的标准 proto 文件:google/protobuf/*.proto 不需要额外上传,PTS 会自动加载)。用户只需要加载主 pb 即可, 主 pb 依赖的其他 pb 文件,会根据主 pb 文件中 import 的路径自动递归加载。
import grpc from 'pts/grpc';

const client = new grpc.Client();
client.load([],'addsvc/addsvc.proto');

export default () => {
client.connect('grpcb.in:9000', {insecure: true});

const rsp = client.invoke('addsvc.Add/Sum', {
a: 1,
b: 2,
});
console.log(JSON.stringify(rsp));
console.log(rsp.data.v); // 3

client.close();
};