1

我们的订阅中有一些 Azure 表存储表,出于性能原因,希望将它们迁移到 CosmosDB 表 API。为此,我通过选择 Table API 开始创建 cosmos db 帐户,但我的部署失败并出现以下错误。当我尝试使用 SQL API 时,它可以工作。

{"code":"DeploymentFailed","message":"至少一项资源部署操作失败。请列出部署操作以了解详细信息。"details":[{"code":"BadRequest","message":"{\ r\n \"code\": \"BadRequest\",\r\n \"message\": \"此 API 不支持 CORS 规则\rMicrosoft.Azure.Documents.Common/2.1.0.0\"\ r\n}"}]}

有人可以让我知道这可能是什么原因吗?

4

2 回答 2

2

@AngiSen,可能与 Azure Cosmos DB 资源提供程序 ( Microsoft.DocumentDb/databaseAccounts ) 的最近(重大)更新有关,因为我今天(2018 年 11 月 28 日)刚刚注意到之前运行的部署(截至 2018 年 11 月 23 日) Cosmos DB Table API 现在失败并出现同样的错误:

9:16:23 AM - Resource Microsoft.DocumentDb/databaseAccounts 'xxx-xxx-xxx' failed with message '{ "code": "BadRequest", "message": "CORS rules are not supported for this API\r\nActivityId: xxx, Microsoft.Azure.Documents.Common/2.1.0.0" }'

在我的情况下,我使用2015-04-08版本和 Table API,但我没有明确配置 CORS 部分,无论如何资源提供程序中没有这样的配置选项。

使用https://resources.azure.com深入研究现有的 Cosmos DB 实例,发现确实有一个 CORS 成员是定义的一部分:

{ "id": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.DocumentDB/databaseAccounts/xxx", "name": "xxx", "location": "North Europe", "type": "Microsoft.DocumentDB/databaseAccounts", "kind": "GlobalDocumentDB", "tags": {}, "properties": { "provisioningState": "Succeeded", "documentEndpoint": "https://xxx.documents.azure.com:443/", "tableEndpoint": "https://xxx.table.cosmosdb.azure.com:443/", "ipRangeFilter": "", "enableAutomaticFailover": false, "enableMultipleWriteLocations": false, "isVirtualNetworkFilterEnabled": false, "virtualNetworkRules": [], "EnabledApiTypes": "Table, Sql", "databaseAccountOfferType": "Standard", "consistencyPolicy": { "defaultConsistencyLevel": "BoundedStaleness", "maxIntervalInSeconds": 86400, "maxStalenessPrefix": 1000000 }, "configurationOverrides": {}, "writeLocations": [ { "id": "xxx-northeurope", "locationName": "North Europe", "documentEndpoint": "https://xxx-northeurope.documents.azure.com:443/", "provisioningState": "Succeeded", "failoverPriority": 0 } ], "readLocations": [ { "id": "xxx-northeurope", "locationName": "North Europe", "documentEndpoint": "https://xxx-northeurope.documents.azure.com:443/", "provisioningState": "Succeeded", "failoverPriority": 0 } ], "locations": [ { "id": "xxx-northeurope", "locationName": "North Europe", "documentEndpoint": "https://xxx-northeurope.documents.azure.com:443/", "provisioningState": "Succeeded", "failoverPriority": 0 } ], "failoverPolicies": [ { "id": "xxx-northeurope", "locationName": "North Europe", "failoverPriority": 0 } ], "cors": [], "capabilities": [ { "name": "EnableTable" } ] } }

如果它确实是一个重大变化,希望它会很快得到修复......

于 2018-11-28T10:12:02.510 回答
1

想在这里发表官方声明。我已经与 Cosmos DB 团队进行了交谈,他们已经准备好修复,应该在今晚进行部署。如果您有任何问题,请告诉我。感谢您发布问题。

于 2018-11-28T18:48:38.287 回答