我使用这些功能并在本地环境中运行Azure Functions。
Azure函数核心工具(2.0.3)
函数运行时版本:2.0.12115.0
azurite@2.7.0
我尝试按照Microsoft文档中的说明进行操作。 这是functions.json
{
"bindings": [
{
"name": "input",
"type": "httpTrigger",
"direction": "in"
},
{
"tableName": "Person",
"connection": "MyStorageConnectionAppSetting",
"name": "tableBinding",
"type": "table",
"direction": "out"
}
],
"disabled": false
}
这是local.settings.json
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "node",
"MyStorageConnectionAppSetting": "UseDevelopmentStorage=true"
}
}
这是index.js
module.exports = function (context) {
context.bindings.tableBinding = [];
for (var i = 1; i < 10; i++) {
context.bindings.tableBinding.push({
PartitionKey: "Test",
RowKey: i.toString(),
Name: "Name " + i
});
}
context.done();
};
已安装扩展程序。
$ func extensions install -p Microsoft.Azure.WebJobs.Extensions.Storage --version 3.0.0
从mac终端运行功能,发送http请求,出现此错误。
System.Private.CoreLib:执行函数时发生异常: 功能测试。 Microsoft.Azure.WebJobs.Host:处理时出错 函数返回后的参数_binder :。 Microsoft.Azure.WebJobs.Extensions.Storage:未实现(HTTP 状态码501 :。 )。 Microsoft.WindowsAzure.Storage:未实现。
表存储错误
POST / devstoreaccount1 / $ batch 501 0.980 ms-45
有帮助吗?
答案 0 :(得分:0)
UseDevelopmentStorage=true
表示将功能设置为使用Storage emulator,该功能提供了一个本地环境,该环境可以模拟Azure存储Blob,队列和表服务以进行开发。但是不幸的是,它仅在Windows OS上可用,因此在Mac上获得了Not Implemented
。
解决方法是使用真实的存储帐户,按照tutorial获取连接字符串,如果您没有存储帐户,则可能必须先create one。
还有一个建议是install最新的Azure Functions核心工具,现在是2.1.725。