如何使用绑定从 Azure Functions 添加记录到 Azure Table 存储?
How to add record to Azure Table Storage from Azure Functions with binding?
我在本地环境中使用这些和 运行 Azure Functions。
Azure Functions Core Tools (2.0.3)
Function Runtime Version:2.0.12115.0
azurite@2.7.0
我按微软文档说的试试。
这里是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: Exception while executing function:
Functions.test. Microsoft.Azure.WebJobs.Host: Error while handling
parameter _binder after function returned:.
Microsoft.Azure.WebJobs.Extensions.Storage: Not Implemented (HTTP
status code 501: . ). Microsoft.WindowsAzure.Storage: Not Implemented.
来自 Table 存储的错误
POST /devstoreaccount1/$batch 501 0.980 ms - 45
有什么帮助吗?
UseDevelopmentStorage=true
表示函数设置为使用 Storage emulator,它提供了一个模拟 Azure 存储 Blob、队列和 Table 服务的本地环境以用于开发目的。但不幸的是,它仅在 OS Windows 上可用,因此您在 Mac 上获得了 Not Implemented
。
解决方法是使用真实世界的存储帐户,首先遵循tutorial to get the Connection string, if you don't have a Storage account you may have to create one。
另一个建议是 install 最新的 Azure Functions Core Tools,现在是 2.1.725。
我在本地环境中使用这些和 运行 Azure Functions。
Azure Functions Core Tools (2.0.3)
Function Runtime Version:2.0.12115.0
azurite@2.7.0
我按微软文档说的试试。 这里是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: Exception while executing function: Functions.test. Microsoft.Azure.WebJobs.Host: Error while handling parameter _binder after function returned:. Microsoft.Azure.WebJobs.Extensions.Storage: Not Implemented (HTTP status code 501: . ). Microsoft.WindowsAzure.Storage: Not Implemented.
来自 Table 存储的错误
POST /devstoreaccount1/$batch 501 0.980 ms - 45
有什么帮助吗?
UseDevelopmentStorage=true
表示函数设置为使用 Storage emulator,它提供了一个模拟 Azure 存储 Blob、队列和 Table 服务的本地环境以用于开发目的。但不幸的是,它仅在 OS Windows 上可用,因此您在 Mac 上获得了 Not Implemented
。
解决方法是使用真实世界的存储帐户,首先遵循tutorial to get the Connection string, if you don't have a Storage account you may have to create one。
另一个建议是 install 最新的 Azure Functions Core Tools,现在是 2.1.725。