2016-12-15 9 views
3

Я пытаюсь установить правило CORS для моей учетной записи хранилища, как предложено здесь под Configure CORS с помощью диспетчера Azure ресурсов инструменты: https://docs.microsoft.com/en-us/azure/app-service-api/app-service-api-cors-consume-javascriptНастройка CORS с помощью шаблона Azure Resource Manager

путем добавления свойств CORS:

"resources": [ 
    { 
     "type": "Microsoft.Storage/storageAccounts", 
     "sku": { 
      "name": "Standard_RAGRS", 
      "tier": "Standard" 
     }, 
     "kind": "Storage", 
     "name": "[parameters('storageAccounts_teststoragejkjk_name')]", 
     "apiVersion": "2016-01-01", 
     "location": "westus", 
     "tags": {}, 
     "properties": { 
      "cors": {"allowedOrigins": ["*"]} 
     }, 
     "resources": [], 
     "dependsOn": [] 
    } 
] 

Deployment возвращает succes, и я могу видеть операцию Write StorageAccount в разделе Activity Log in Azure Portal, но правила Cors не добавляются нигде, и когда я загружаю шаблон из Azure, у него нет этого свойства «cors».

Я также попытался вручную добавлять правила Corse (мне это нужно только на мой Blob) и скрипты автоматизации (включая deployment.ps) по-прежнему выглядит так же ...

Любое предложение о том, как настроить правило Корс на сгустка хранилище с использованием шаблонов ARM?

ответ

1

Какой у вас клиент развертывания? Если вы используете Powershell для развертывания ARM (вероятно, вы), почему бы не использовать Set-AzureStorageCORSRule?

PS C:\>$CorsRules = (@{ 
[email protected]("x-ms-blob-content-type","x-ms-blob-content-disposition"); 
AllowedO[email protected]("*"); 
MaxAgeInSeconds=30; 
[email protected]("Get","Connect")}, 
@{ 
[email protected]("http://www.fabrikam.com","http://www.contoso.com"); 
[email protected]("x-ms-meta-data*","x-ms-meta-customheader"); 
[email protected]("x-ms-meta-target*","x-ms-meta-customheader"); 
MaxAgeInSeconds=30; 
[email protected]("Put")}) 

PS C:\> Set-AzureStorageCORSRule -ServiceType Blob -CorsRules $CorsRules

+0

Я думаю, что нет никакого способа сделать это с помощью шаблона, так что я с вами согласен: – letlampa

+0

Я использовал Set-AzureStorageCORSRule -ServiceType Blob -CorsRules $ CorsRules -Context $ StorageAccountContext – letlampa

+0

@letlampa Рад помочь вам :) Дон» Не забывайте отмечать вопрос как ответ – EvertonMc

1

Я пытаюсь установить правило CORS для моей учетной записи для хранения

создать подобный ARM template создать ресурс учетной записи для хранения, я считаю, что это, кажется, не признает/принимать CORS и другие свойства (такие как val, которые я определяю), кроме accountType.

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { }, 
    "variables": { }, 
    "resources": [ 
    { 
     "type": "Microsoft.Storage/storageAccounts", 
     "apiVersion": "2015-06-15", 
     "name": "[concat('storage', uniqueString(resourceGroup().id))]", 
     "location": "[resourceGroup().location]", 
     "properties": { 
     "accountType": "Standard_LRS", 
     "cors": { 
      "allowedHeaders": [ "*" ], 
      "allowedMethods": [ "get", "post", "put" ], 
      "allowedOrigins": [ "*" ], 
      "exposedHeaders": [ "*" ], 
      "maximumAge": 5 
     }, 
     "val": "123" 
     } 
    } 
    ], 
    "outputs": { } 
} 

Кроме того, как известно, мы могли бы настроить Cors установки для услуг лазури хранения (блобо, таблицы, очередь и акция файла), то кажется, что он не позволяет конфигурировать настройки Корса на счете хранения уровня при развертывании шаблона учетной записи хранилища. enter image description here

0

Хранилища CORS в настоящее время не поддерживается провайдером хранения ресурсов, поэтому он не может быть установлен с помощью шаблонов. Как указывает Фред, CORS можно установить только на службе через data plane API.