2017-12-12 11 views
0

Visual Studio Team ServicesでAzure App Service Deploy(ASP.NET Core 2.0 Web Api)を実行していて、appsettings.jsonの値を置き換えて読みたいhttps://docs.microsoft.com/en-us/vsts/build-release/tasks/transforms-variable-substitution#jsonvarsubsですが、ファイルのネストされたレベルの値をピリオド(。)で連結して値を代入する方法について説明しています。Azure Key Vaultの秘密VSTS JSON変数置換

Azure Key Vaultでピリオド(。)を使用できないという問題があります。

Azure Key VaultのSecretsを使用してappsettings.jsonファイル内の変数をネストされたレベルに置き換える方法を知っている人はいますか?

+1

私はキーテンプレートから設定を設定するためにARMテンプレートを使用しました。 Webアプリケーションをプロビジョニングし、キーボートから値を読み取り、appsettingsを設定するために値を使用するARMテンプレートを作成します。 keyvaultから.parameters.jsonファイルを使用してそれらを読み取るか、またはネストされたテンプレートを使用できます。このようにして、ピリオド(。)を使用して、キーセット内のキー設定を変更することができます。 –

+0

@ClemensReijnenありがとう、あなたは正しい方向に私を操縦した、私の答えを参照してください。 – Erwin

答えて

0

私はAzure Key Vaultの秘密鍵として 'ConnectionStrings - Database'を使用しました。

次にAzure Key VaultにリンクするVSTS(https://docs.microsoft.com/en-us/vsts/build-release/concepts/library/variable-groups)に「変数グループ」を追加します。

'ConnectionStrings.Databaseという名前の' Process Variable 'に' $(ConnectionStrings - Database) 'の値を追加します。

これは、プロセス変数の値をAzure Key Vaultの値に置き換え、appsettings.json内の 'Process Variable'の名前を置き換えます。

+0

'.'を置き換えるには' .'を使ってください。また、「鍵ボールトの秘密の作成と設定値のロード(基本サンプル)」のドキュメントのhttps://docs.microsoft.com/en-us/aspnet/core/security/key-vault-configuration?tabs=aspnetcore2xのドキュメントもあります。 #creation-key-vault-secrets-and-loading-configuration-values-basic-sample: '階層値(設定セクション)はセパレータとして' - (2つのダッシュ)を使用します。 –

+0

@ MarinaLiu-MSFT、Azure Vaultをキーで使用すると、appsettings.jsonの値が置き換えられることはありません。 appsettings.jsonの構造は{"ConnectionStrings":{ "Database": "databaseconnectionstring"} – Erwin

+0

Azure App Service Deployタスクのビルドログは何ですか? –

0

[コメントから回答に移動]私はARMテンプレートを使用して、キーセットから設定を設定しました。 Webアプリケーションをプロビジョニングし、キーボートから値を読み取り、appsettingsを設定するために値を使用するARMテンプレートを作成します。 keyvaultから.parameters.jsonファイルを使用してそれらを読み取るか、またはネストされたテンプレートを使用できます。このようにして、ピリオド(。)を使用して、キーセット内のキー設定を変更することができます。

関連する問題