yui*_*hou 2 azure azure-functions
我使用azure函数将消息从eventhub保存到azure表.但我被一些编码问题困扰了.
我的场景是一个进程是向eventhub发送一个ascii编码缓冲区,然后将azure函数保存到表中.
但是,eventhub中的azure函数get参数变为UTF8字符串.这会导致一些无效的UTF8字节松散.
现在我怀疑我可以通过以下两种方式解决问题:
或者有另一种更好的方法来解决这个问题?
绑定支持字节数组.这是一个c#示例:
using System;
using System.Text;
public static void Run(byte[] myEventHubMessage, TraceWriter log)
{
string s1 = Encoding.UTF8.GetString(myEventHubMessage);
log.Info($"C# Event Hub trigger function processed a message: {s1}");
}
Run Code Online (Sandbox Code Playgroud)
并且对于Node,将数据类型设置为二进制.示例function.json
{
"bindings": [
{
"type": "httpTrigger",
"name": "req",
"direction": "in",
"dataType": "binary"
},
{
"type": "http",
"name": "res",
"direction": "out"
}
]
}
Run Code Online (Sandbox Code Playgroud)
对应的index.js:
module.exports = function (context, req) {
var body = req.body;
context.log("TestResult:", {
isBuffer: Buffer.isBuffer(body),
length: body.length
});
context.res = {
status: 200,
body: "Success!"
};
context.done();
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
698 次 |
| 最近记录: |