AzureBlobStorageOnIoTEdge:未指定错误目标容器连接,上传已关闭

AzureBlobStorageOnIoTEdge: Error Target container connection not specified, upload turned off

我的本地 blob 存储没有将 blob 上传到我的云存储帐户。它报告回来

        "configurationValidation": {
            "deviceAutoDeleteProperties": {
                "deleteOn": {
                    "Status": "Success"
                },
                "deleteAfterMinutes": {
                    "Status": "Warning",
                    "Message": "Auto Delete after minutes value not specified, auto deletion turned off."
                },
                "retainWhileUploading": {
                    "Status": "Success"
                }
            },
            "deviceToCloudUploadProperties": {
                "uploadOn": {
                    "Status": "Success"
                },
                "cloudStorageAccountName": {
                    "Status": "Error",
                    "Message": "Target container connection not specified, upload turned off."
                },
                "cloudStorageAccountKey": {
                    "Status": "Error",
                    "Message": "Target container connection not specified, upload turned off."
                },
                "uploadOrder": {
                    "Status": "Success"
                },
                "deleteAfterUpload": {
                    "Status": "Success"
                }
            }
        },

我很确定它应该有效。我想要的属性是

            "deviceToCloudUploadProperties": {
                "uploadOn": true,
                "uploadOrder": "OldestFirst",
                "cloudStorageConnectionString": "DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=******;EndpointSuffix=core.windows.net",
                "storageContainersForUpload": {
                    "***": {
                        "target": "***"
                    }
                },
                "deleteAfterUpload": true
            }

容器存在于本地和云站点上。我将主连接字符串从我的本地存储帐户复制到配置中。本地存储正在工作,我可以看到我的容器已创建并包含数据,但它不想与云同步。为什么说“未指定目标容器连接,上传已关闭。”?这部分好像少了

                "storageContainersForUpload": {
                    "***": {
                        "target": "***"
                    }
                },

但显然不是。

我正在使用此服务的最新 docker 图片。有机会使用旧版本吗?几个月前,我已经可以让它工作了。我尝试使用不同的版本,例如 mcr.microsoft.com/azure-blob-storage:1.4.0 但它不接受除 latest.

之外的任何其他标签

谢谢!

我的本地 blob 存储模块的工作版本和我的非工作版本之间的区别是非工作版本是由部署计划部署的。在部署计划中,您不能像 https://docs.microsoft.com/en-us/azure/iot-edge/how-to-deploy-blob?view=iotedge-2020-11

那样只粘贴 IoT edge 上 blob 存储文档的模块孪生设置

您需要将配置分成两部分,第一部分如下所示

第二部分看起来像这样

这完全有道理。如果你想更新你的模块,你可能想保留你的配置,因为可能已经做了一些更改,例如由客户。这使您可以稍后将一些属性添加到您的初始配置中,而无需更改任何已配置的内容。事实上,每个设备都可以随时保持其个人配置。

我错误配置的报告属性隐藏在建议的默认路径“properties.desired.settings”中,因此边缘运行时无法找到它。