API таблицы CosmosDB - правила CORS для этого API не поддерживаются - PullRequest
0 голосов
/ 28 ноября 2018

В нашей подписке есть несколько таблиц хранения таблиц Azure, и мы хотели бы перенести их в API таблиц CosmosDB по соображениям производительности.Чтобы сделать это, я начал создавать учетную запись cosmos db, выбрав Table API, но мое развертывание завершилось ошибкой со следующей ошибкой.Когда я пытался использовать SQL API, он работает.

{"code": "DeploymentFailed", "message": "По крайней мере одна операция развертывания ресурса завершилась неудачно. Пожалуйста, перечислите операции развертывания для подробностей." Details ": [{"code": "BadRequest", "message": "{\ r \ n \" code \ ": \" BadRequest \ ", \ r \ n \" message \ ": \" Правила CORS не являютсяподдерживается для этого API \ rMicrosoft.Azure.Documents.Common / 2.1.0.0 \ "\ r \ n}"}]}

Может кто-нибудь сообщить мне, в чем может быть причина этого?

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Хотел сделать официальное заявление здесь.Я говорил с командой Cosmos DB, и у них есть готовое исправление, которое должно быть развернуто сегодня вечером.Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы.Спасибо за публикацию вопроса.

0 голосов
/ 28 ноября 2018

@ AngiSen, может быть связано с недавним (критическим) обновлением поставщика ресурсов Azure Cosmos DB ( Microsoft.DocumentDb / databaseAccounts ), как я только что заметил сегодня (28 ноября 2018 года), что ранее работавшийРазвертывание (по состоянию на 23 ноября 2018 г.) API-интерфейса Cosmos DB Table теперь завершается с этой же ошибкой:

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, и в любом случае в поставщике ресурсов такой опции конфигурации нет.

Копание в существующий экземпляр Cosmos DB с помощью https://resources.azure.com показывает, что действительно есть член 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" } ] } }

Надеюсь, что это быстро исправят, если это действительно серьезное изменение ...

...