データは App Configuration にキー値として格納され、値は既定で文字列型として扱われます。 ただし、各キー値に関連付けられているコンテンツ タイプ プロパティを使用して、カスタム タイプを指定できます。 このプロセスでは、データの元の種類が保持されるか、コンテンツ タイプに基づいてアプリケーションの動作が異なります。
概要
App Configuration では、キー値のコンテンツ タイプとして JSON メディアの種類を使用して、次の利点を利用できます。
- よりシンプルなデータ管理: 配列などのキー値の管理は、Azure portal ではるかに簡単になります。
- 拡張データ エクスポート: プリミティブ型、配列、および JSON オブジェクトは、データのエクスポート時に保持されます。
- App Configuration プロバイダーのネイティブ サポート: JSON コンテンツ タイプのキー値は、アプリケーションの App Configuration プロバイダー ライブラリで使用すると正常に動作します。
有効な JSON コンテンツ タイプ
ここで定義されているメディア タイプは、各キー値に関連付けられているコンテンツ タイプに割り当てることができます。
メディアの種類は、型とサブタイプで構成されます。 型が application
され、サブタイプ (またはサフィックス) が json
されている場合、メディアの種類は有効な JSON コンテンツ タイプと見なされます。
有効な JSON コンテンツ タイプの例を次に示します。
application/json
application/activity+json
application/vnd.foobar+json;charset=utf-8
有効な JSON 値
キー値に JSON コンテンツ タイプがある場合、クライアントが正しく処理するには、その値が有効な JSON 形式である必要があります。 そうしないと、クライアントが失敗したりフォールバックしたりして、文字列形式として扱われる可能性があります。 有効な JSON 値の例を次に示します。
"John Doe"
723
false
null
"2020-01-01T12:34:56.789Z"
[1, 2, 3, 4]
{"ObjectSetting":{"Targeting":{"Default":true,"Level":"Information"}}}
注
この記事の残りの部分では、有効な JSON コンテンツ タイプと有効な JSON 値を持つ App Configuration のキー値を JSON キー値と呼びます。
このチュートリアルで学習する内容は次のとおりです。
- App Configuration で JSON キー値を作成します。
- JSON キー値を JSON ファイルからインポートします。
- JSON キー値を JSON ファイルにエクスポートします。
- アプリケーションで JSON キー値を使用する。
Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
[前提条件]
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の概要」を参照してください。
CLI 参照コマンドをローカルで実行する場合は、Azure CLI を インストール します。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「 Azure CLI を使用した Azure への認証」を参照してください。
メッセージが表示されたら、最初に使用するときに Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
- アプリ設定ストア。 ストアを作成する。
- このチュートリアルでは、バージョン 2.10.0 以降の Azure CLI が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。
App Configuration で JSON キー値を作成する
JSON キー値は、Azure portal、Azure CLI、または JSON ファイルからインポートして作成できます。 このセクションでは、3 つのすべてのメソッドを使用して同じ JSON キー値を作成する手順について説明します。
Azure portal を使用して JSON キー値を作成する
App Configuration ストアに次のキーと値を追加します。 ラベルは既定値のままにします。 Azure portal または CLI を使用してストアにキーと値を追加する方法の詳細については、キーと値の作成に関する記事を参照してください。
鍵 | 価値 | コンテンツ タイプ |
---|---|---|
Settings:BackgroundColor | "緑" | アプリケーション /json |
Settings:FontSize | 24 | アプリケーション /json |
設定:デフォルトルーティングの使用 (Use Default Routing) | 偽 | アプリケーション /json |
設定:ブロックされたユーザー | ヌル | アプリケーション /json |
Settings:ReleaseDate | "2020-08-04T12:34:56.789Z" | アプリケーション /json |
設定:RolloutPercentage | [25,50,75,100] | アプリケーション /json |
設定:ログ記録 | {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}} | アプリケーション /json |
- を選択してを適用します。
Azure CLI を使用して JSON キー値を作成する
次のコマンドを実行すると、App Configuration ストアに JSON キー値が作成されます。
<appconfig_name>
を App Configuration ストアの名前に置き換えます。
appConfigName=<appconfig_name>
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BackgroundColor --value \"Green\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:FontSize --value 24
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:UseDefaultRouting --value false
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BlockedUsers --value null
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:ReleaseDate --value \"2020-08-04T12:34:56.789Z\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:RolloutPercentage --value [25,50,75,100]
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:Logging --value {\"Test\":{\"Level\":\"Debug\"},\"Prod\":{\"Level\":\"Warning\"}}
Von Bedeutung
Azure CLI または Azure Cloud Shell を使用して JSON キー値を作成する場合、指定する値はエスケープされた JSON 文字列である必要があります。
ファイルから JSON キー値をインポートする
次の内容を含む Import.json
という JSON ファイルを作成し、キー値として App Configuration にインポートします。
{
"Settings": {
"BackgroundColor": "Green",
"BlockedUsers": null,
"FontSize": 24,
"Logging": {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}},
"ReleaseDate": "2020-08-04T12:34:56.789Z",
"RolloutPercentage": [25,50,75,100],
"UseDefaultRouting": false
}
}
az appconfig kv import -s file --format json --path "~/Import.json" --content-type "application/json" --separator : --depth 2
注
--depth
引数は、ファイルの階層データをキー値にフラット化するために使用されます。 このチュートリアルでは、JSON オブジェクトを App Configuration の値として格納できることを示す深さを指定します。 深度が指定されていない場合、JSON オブジェクトは既定で最も深いレベルにフラット化されます。
作成した JSON キー値は、App Configuration では次のようになります。
これを確認するには、Azure portal で App Configuration リソースを開き、 構成エクスプローラーに移動します。
JSON キー値をファイルにエクスポートする
JSON キー値を使用する主な利点の 1 つは、エクスポート中に値の元のデータ型を保持できることです。 App Configuration のキー値に JSON コンテンツ タイプがない場合、その値は文字列として扱われます。
JSON コンテンツ タイプのない次のキー値を検討してください。
鍵 | 価値 | コンテンツ タイプ |
---|---|---|
設定:フォントサイズ | 二十四 | |
Settings:UseDefaultRouting | 偽り |
これらのキー値を JSON ファイルにエクスポートすると、値は文字列としてエクスポートされます。
{
"Settings": {
"FontSize": "24",
"UseDefaultRouting": "false"
}
}
ただし、JSON キー値をファイルにエクスポートすると、すべての値が元のデータ型を保持します。 このプロセスを確認するには、App Configuration から JSON ファイルにキー値をエクスポートします。 エクスポートされたファイルの内容は、以前にインポートした Import.json
ファイルと同じことがわかります。
az appconfig kv export -d file --format json --path "~/Export.json" --separator :
注
App Configuration ストアに JSON コンテンツ タイプのないキー値がある場合は、文字列形式で同じファイルにもエクスポートされます。
アプリケーションでの JSON キー値の使用
アプリケーションで JSON キー値を使用する最も簡単な方法は、App Configuration プロバイダー ライブラリを使用することです。 プロバイダー ライブラリでは、JSON キー値の特別な処理をアプリケーションに実装する必要はありません。 これらは、アプリケーションのネイティブ構成に合わせて解析および変換されます。
たとえば、App Configuration に次のキー値がある場合です。
鍵 | 価値 | コンテンツ タイプ |
---|---|---|
設定 | {"FontSize":24,"UseDefaultRouting":false} | application/json |
.NET アプリケーションの構成には、次のキー値があります。
鍵 | 価値 |
---|---|
設定:フォントサイズ | 二十四 |
Settings:UseDefaultRouting | 偽り |
新しいキーに直接アクセスすることも、 構成値を .NET オブジェクトのインスタンスにバインドすることもできます。
Von Bedeutung
JSON キー値のネイティブ サポートは、.NET 構成プロバイダー バージョン 4.0.0 (またはそれ以降) で利用できます。 詳細については、「 次のステップ 」セクションを参照してください。
SDK または REST API を使用して、コンテンツ タイプに基づいて App Configuration からキー値を読み取る場合、アプリケーションは JSON キー値の値を解析します。
リソースをクリーンアップする
この記事で作成したリソースを継続して使用しない場合は、ここで作成したリソース グループを削除して課金されないようにしてください。
Von Bedeutung
リソース グループを削除すると、元に戻すことができません。 リソース グループとそのすべてのリソースは完全に削除されます。 間違ったリソース グループやリソースをうっかり削除しないようにしてください。 この記事のリソースを、保持したい他のリソースを含むリソース グループ内に作成した場合は、リソース グループを削除する代わりに、各リソースをそれぞれのペインから個別に削除します。
- Azure portal にサインインし、 [リソース グループ] を選択します。
- [名前でフィルター] ボックスにリソース グループの名前を入力します。
- 結果一覧でリソース グループ名を選択し、概要を表示します。
- [リソース グループの削除] を選択します。
- リソース グループの削除の確認を求めるメッセージが表示されます。 確認のためにリソース グループの名前を入力し、 [削除] を選択します。
しばらくすると、リソース グループとそのすべてのリソースが削除されます。
次のステップ
App Configuration ストアで JSON キー値を操作する方法を確認したら、次のキー値を使用するためのアプリケーションを作成します。