python - 尝试在 Azure 表中写入时出错 ('' 不是分区键或行键的有效值)

标签 python azure azure-storage azure-table-storage

我是 Azure 的初学者。我正在尝试使用 Python 在 Azure 表存储中添加一行。 我遵循了 Microsoft 文档的简单示例:

https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-table-output?tabs=in-process%2Cstorage-extension&pivots=programming-language-python#example

但是,我收到此错误:Microsoft.Azure.WebJobs.Extensions.Tables:“”不是有效值 对于分区键或行键,但我没有看到在 MicrosoftAzure 存储资源管理器中创建的表。

我已经有一个功能性的 azure 函数,其中 queueTrigger 作为输入绑定(bind)。因此,我在配置文件“function.json”中添加了一个输出绑定(bind)表:

{
    "scriptFile": "__init__.py",
    "bindings": [
     {
      "name": "dataSetId",
      "type": "queueTrigger",
      "direction": "in",
      "queueName": "local-toprep",
      "connection": "AzureWebJobsStorage"
     },
     {
      "type": "table",
      "direction": "out",
      "name": "message",
      "tableName": "messages",
      "partitionKey": "message",
      "connection": "AzureWebJobsStorage"
     }
   ]
}

在我的主函数中,我在参数中添加了表“消息”,并添加了这些行:

rowKey = str(uuid.uuid4())
data = {
         "Name": "Output binding message",
         "PartitionKey": "message",
         "RowKey": rowKey
        }
message.set(json.dumps(data))

提前感谢您的帮助:)

最佳答案

所以,我的问题出在 host.js 文件中。 Azure 表仅适用于版本 2。

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[2.*, 3.0.0)"
  }
}

关于python - 尝试在 Azure 表中写入时出错 ('' 不是分区键或行键的有效值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73233485/

相关文章:

Python:使用守护线程一段时间后终止多线程程序

python - 根据 Python 中的一组索引将列表拆分为多个部分

azure - 如何在 Azure 容器应用程序上打开端口

javascript - 无法从下载的 blob 中读取 ulatedStreamBody

linux - Azure Blob 存储是否支持 http2?

python - 线程和进程混合的奇怪行为

python - 通过 Python 打开 vSwitch 配置?

azure - 超时超过 3 小时 Automation Runbook Azure

azure - 下载 azure 诊断日志?

Azure REST API 创建容器,.NET 客户端配置文件,403 禁止,找到的 MAC 签名与任何计算的签名不同