0

我正在尝试使用 Azure CLI 2.0 在我的存储帐户上配置 CORS,但我不断收到错误消息。

命令:

az storage cors add --connection-string $connstr --origins '*' --methods GET --allowed-headers 'x-ms-meta-abc,content-type,x-ms-blob-type,x-ms-meta-data*,x-ms-meta-target*' --exposed-headers 'x-ms-meta-*' --max-age 200 --services blob

输出:

指定的 XML 在语法上无效。

4

2 回答 2

2

事实证明,这是由于存储命令的错误消息非常差。如果存储帐户上已定义 5 个 CORS 规则,则会收到 XML 错误。

如果您没有遇到 XML 错误,上面的命令将打印 Python 堆栈跟踪,因为该命令需要--services b而不是--services blob.

解决方法是先清除所有CORS规则,然后添加新的:

az storage cors clear --services b --connection-string $connstr
az storage cors add --connection-string $connstr --origins '*' --methods GET --allowed-headers 'x-ms-meta-abc,content-type,x-ms-blob-type,x-ms-meta-data*,x-ms-meta-target*' --exposed-headers 'x-ms-meta-*' --max-age 200 --services blob
于 2017-05-18T02:24:18.043 回答
0

正如lindydonna-msft提到的,我们需要--services b使用--services blob. 如果我们想为多个服务添加 cors,我们可以结合bfqt

为其添加 CORS 规则的存储服务:(b)lob (f)ile (q)ueue (t)able。可以组合。

我们可以从文档中获得有关azure storage cors的 更多详细信息。az storage cors add

于 2017-05-18T02:53:41.300 回答