我有一个带有servicebus触发器和blob输入绑定的python函数。 blob的名称与队列消息的内容相匹配。 我function.json文件看起来像这样:Azure函数 - c# - 带Blob绑定的ServicebusTrigger
{
"bindings": [
{
"type": "serviceBusTrigger",
"name": "inputMessage",
"connection": "Omnibus_Validation_Listen_Servicebus",
"queueName": "validation-input-queue",
"accessRights": "listen",
"direction": "in"
},
{
"type": "blob",
"name": "inputBlob",
"path": "baselines/{inputMessage}",
"connection": "Omnibus_Blob_Storage",
"direction": "in"
}
],
"disabled": false
}
而且它的工作就像一个魅力。
我想创建一个具有相同绑定的C#函数,但它似乎不工作。 我使用了相同的function.json
文件。
我有一个project.json
文件:
{
"frameworks": {
"net46": {
"dependencies": {
"WindowsAzure.Storage": "8.5.0"
}
}
}
}
和我run.csx
文件看起来像这样:
public static void Run(string inputMessage, Stream inputBlob, TraceWriter log)
{
log.Info($"C# ServiceBus queue trigger function processed message: {inputMessage}");
}
当我保存/运行功能,我收到此错误:
Function ($import-baseline) Error: Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.import-baseline'. Microsoft.Azure.WebJobs.Host: No binding parameter exists for 'inputMessage'.
这种python和c#sdk之间有什么区别吗?绑定?
看起来不错。尝试删除project.json,在这种情况下不需要。 – Mikhail
@Mikhail,不工作:-( – Thomas
是的......问题出在'baselines/{inputMessage}'的语法,但有趣的是它在python中有效...... – Mikhail