2017-10-25 8 views
2

私は異なる環境/リソースグループで複製できるように、私は反復可能(自動)な方法でセットアップしたいと思う蒼穹関数のアプリケーションを持っています。私は紺碧のcliを介して関数のアプリケーションを作成することができますが、私はまた、私はブラウザから呼び出すことができるようにCORSオプションを設定する必要があります。Azure関数:オートメーションを使用してCORSを設定する方法は?

「プラットフォームの機能」タブ(https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings#cors)のazureポータルウェブui でどこを行ったのかがわかりましたが、azure cliまたはVSTSを使用してその設定を変更する方法は見つかりませんでした私がアプリケーションの機能を変更したときにリリースを行うように設定したデプロイメントタスク。

ローカル開発用のCORS設定をlocal.settisg.jsonで指定することもできますが、ローカル(https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local#local-settings)にのみ適用されます。 azure関数ツールcliを使用してアプリケーションをデプロイしていたのですが、デプロイ時に--publish-local-settingsフラグを指定することができましたが、そのようには展開していません。

Web UIを使用せずにCORS設定を変更する方法が必要なようですが、見つからないのですか?

答えて

2

ファビオの答えが正しいか、Azureのリソースマネージャテンプレートは、このために働きます。彼がリンクした例は、ぼんやりした関数ではなくロジックアプリケーションに関するものだったので、テンプレートを正しく取得するにはいくつかの変更が必要でした。

テンプレートを手作業で作成するには、手動で作成した関数アプリケーションからオートメーションテンプレートをダウンロードしてから、最小限だと思うようになるまで要素を削除してしまいました。ここで私が使用しているものです:

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { 
    "function_app_name": { 
     "defaultValue": "my-function-app", 
     "type": "string" 
    } 
    }, 
    "variables": {}, 
    "resources": [ 
    { 
     "comments": "CORS allow origins *.", 
     "type": "Microsoft.Web/sites/config", 
     "name": "[concat(parameters('function_app_name'), '/web')]", 
     "apiVersion": "2016-08-01", 
     "properties": { 
     "cors": { 
      "allowedOrigins": [ 
      "*" 
      ] 
     } 
     }, 
     "dependsOn": [] 
    } 
    ] 
} 

私もこのようになりますこれで行くパラメータファイルがあります。

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { 
     "function_app_name": { 
      "value": null 
     } 
    } 
} 

をして、私はこれを展開し、私のリリース定義でAzure Resource Group Deploymentステップを持っています私が配備している環境に応じて、目的の関数のアプリケーション名を置き換えます。

関連する問題