Tre*_*ent 13 metadata protocol-buffers node.js grpc
我想知道如何向nodejs grpc函数调用添加元数据.我可以在制作客户端时使用频道凭据
var client = new proto.Document('some.address:8000',
grpc.credentials.createInsecure()
)
Run Code Online (Sandbox Code Playgroud)
使用时发送哪些client.Send(doc, callback),但go grpc服务器在呼叫元数据中查找我必须设置的标识信息.我尝试使用grpc.credentials.combineChannelCredentials不安全的连接和一个grpc.Metadata实例,但我找不到正确的方法来做到这一点.
我遇到的错误是TypeError: compose's first argument must be a CallCredentials object.我试图跟进它,但它进入c代码失去了我,我无法看到我必须给予什么javascript类型comebineChannelCredentials来实现我正在寻找的东西,文档有点稀疏如何实现这一点.
mur*_*d99 22
您可以将元数据作为可选参数直接传递给方法调用.所以,例如,你可以这样做:
var meta = new grpc.Metadata();
meta.add('key', 'value');
client.send(doc, meta, callback);
Run Code Online (Sandbox Code Playgroud)
Vic*_*son 10
为了完整起见,我将延伸@ murgatroid99的答案.
要将元数据附加到客户端上的消息,您可以使用:
var meta = new grpc.Metadata();
meta.add('key', 'value');
client.send(doc, meta, callback);
Run Code Online (Sandbox Code Playgroud)
在服务器端调用RPC方法时,如果要获取数据,可以使用:
function(call, callback){
var myVals = call.metadata.get("key");
//My vals will be an array, so if you want to grab a single value:
var myVal = myVals[0];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5440 次 |
| 最近记录: |