構成データのインポートまたはエクスポート
Azure App Configuration はデータのインポート操作とエクスポート操作をサポートします。 これらの操作を使用して、構成データを一括処理し、お使いの App Configuration ストアとコード プロジェクト間でデータを交換することができます。 たとえば、1 つの App Configuration ストアをテスト用に、もう 1 つを実稼働用に設定できます。 それらの間でアプリケーション設定をコピーできるので、データを 2 回入力する必要がなくなります。
この記事では、Azure portal または Azure CLI を使用してデータをインポートおよびエクスポートするためのガイドを提供します。 コードとしての構成を採用し、GitHub または Azure Devops で構成を管理している場合は、GitHub Actions を使用して継続的な構成ファイルのインポートを設定するか、Azure パイプライン プッシュ タスクを使用できます。
データのインポート
インポートでは、既存のソースから App Configuration ストアに構成データが取り込まれます。 インポート機能は、データを App Configuration ストアに移行したり、複数ソースのデータを集計したりするために使用します。
このガイドでは、App Configuration データをインポートする方法について説明します。
構成ファイルからデータをインポートする
ファイルからキー値をインポートするには、次の手順に従います。
Azure portal から次の手順を実行します。
お使いの App Configuration ストアに移動し、[操作] メニューから [インポート/エクスポート] を選択します。
既定では、[インポート] ラジオ ボタンが選択されています。 [ソースの種類] で、[構成ファイル] を選択します。
フォームに次のパラメーターを入力します。
パラメーター 説明 例 ファイルのタイプ インポートするファイルの種類には、YAML、プロパティ、または JSON を選択します。 Json [参照] ボタンをクリックし、インポートするファイルを選択します。
フォームの次の部分に入力します。
パラメーター 説明 例 ファイル コンテンツ プロファイル コンテンツ プロファイル (Default または KVSet) を選択します。 [Default] ファイル コンテンツ プロファイルとは、既存のプログラミング フレームワークまたはシステムで広く採用されている従来の構成ファイル スキーマを指します。JSON、Yaml、または Properties ファイル形式をサポートします。 KVSet ファイル コンテンツ プロファイルとは、App Configuration キー値のすべてのプロパティを含むファイル スキーマを指します。キー、値、ラベル、コンテンツの種類、タグが含まれています。 既定値 Import モード インポート モードを使用して、同じキー値を無視するかどうかを決定します。 [一致を無視] オプションでは、ストア内のキー値で構成ファイルと同一のものは無視されます。 [すべて]l オプションでは、構成ファイル内のすべてのキー値が更新されます。 一致を無視する フィーチャー フラグを除外する 有効にすると、フィーチャー フラグはインポートされません。 Unchecked 高 チェック ボックスをオンにすると、構成ファイルに含まれていないプレフィックスとラベルが指定されたストア内のキー値は、[ファイル コンテンツ プロファイル] を [Default] に設定したときに削除されます。 [ファイル コンテンツ プロファイル] を [KVSet] に設定した場合、構成ファイルに含まれていないストア内のキー値はすべて削除されます。 チェック ボックスがオフの場合、ストア内のキー値は削除されません。 Unchecked Separator 区切りとは、JSON または YAML ファイルをキー値にフラット化するために使用する区切り記号です。 プロパティ ファイルとフィーチャー フラグでは無視されます。 サポートされる値には、区切り記号なし、ピリオド (.)、コンマ (,)、セミコロン (;)、ハイフン (-)、アンダースコア (_)、二重アンダースコア (__)、スラッシュ (/)、コロン (:) があります。 : 深さ 省略可能。 JSON または YAML ファイルをキーと値のペアにフラット化するうえでの深度。 既定では、区切り記号が選択されている場合、ファイルは最も深いレベルまでフラット化されます。 この設定は、プロパティ ファイルまたはフィーチャー フラグには適用されません。 プレフィックスを追加する 省略可能。 指定すると、インポートされたすべてのキー値のキー名にプレフィックスが追加されます。 TestApp: Add label 省略可能。 指定した場合、指定したラベルがインポートされたすべてのキー値に割り当てられます。 prod コンテンツ タイプを追加する 省略可能。 指定した場合、指定したコンテンツ タイプがインポートされたすべてのキー値に追加されます。 JSON (application/json) タグを追加する 省略可能。 指定した場合、指定したタグがインポートされたすべてのキー値に追加されます。 {tag: tag1} [適用] を選択してインポートを続行します。
JSON ファイルからキー値が正常にインポートされました。 キー名は、区切り記号 :
でフラット化され、プレフィックス TestApp:
が付いています。 インポートされたすべてのキー値には prod
のラベルが付き、コンテンツ タイプは application/json
で、tag: tag1
でタグ付けされています。
App Configuration ストアからデータをインポートする
1 つの App Configuration ストアから別の App Configuration ストアに値をインポートすることや、値を複製して新しいラベルやコンテンツ タイプなどの異なるパラメーターを適用するために、1 つの App Configuration ストアから同じ App Configuration ストアに値をインポートすることができます。
Azure App Configuration ストアからキー値と機能フラグをインポートするには、次の手順に従います。
Azure portal から次の手順を実行します。
お使いの App Configuration ストアに移動し、[操作] メニューから [インポート/エクスポート] を選択します。
既定では、[インポート] ラジオ ボタンが選択されています。 [ソースの種類] で、[App Configuration] を選択します。
データをインポートする元の App Configuration ストアを選択し、フォームに次のパラメーターを入力します。
パラメーター 説明 例 サブスクリプション 現在のサブスクリプションは既定で選択されています。 my-subscription リソース グループ インポートする構成のある App Configuration ストアが含まれるリソース グループを選びます。 現在のリソース グループは既定で選択されています。 my-resource-group リソース インポートする構成が含まれる App Configuration ストアを選びます。 my-other-app-config-store フォームの次の部分に入力します。
パラメーター 説明 例 選択モード 通常のキー値からインポート (既定のオプション) するか、スナップショットからインポートするかを選択します。 既定値 キー フィルター これは、インポートするキー名に基づいてキー値をフィルター処理するのに使用します。 キーが指定されていない場合、すべてのキーが対象となります。 これは、test で始まります。 特定時刻 省略可能。 選択した構成ストアの特定の時点からキー値をインポートするには、このフィールドに入力します。 空のままにすると、既定の動作である現時点でのキー値となります。 07/28/2022 12:00:00 AM 元のラベル 1 つ以上のラベルを選択して、それらのラベルに関連付けられているキー値をインポートします。 ラベルを選択しない場合、すべてのラベルが対象となります。 prod フィーチャー フラグを除外する 有効にすると、フィーチャー フラグはインポートされません。 Unchecked プレフィックスを追加する 省略可能。 指定すると、インポートされたすべてのキー値のキー名にプレフィックスが追加されます。 TestApp: ラベルを上書きする 省略可能。 既定では、ソースからのキー値の元のラベルは保持されます。 それらを上書きするには、チェック ボックスをオンにし、インポートされたキー値の新しいラベルを入力します。 新規 コンテンツ タイプを上書きする 省略可能。 既定では、ソースからのキー値の元のコンテンツ タイプは保持されます。 上書きするには、チェック ボックスをオンにして、インポートされたキー値の新しいコンテンツ タイプを入力します。 フィーチャー フラグのコンテンツ タイプは上書きできないことに注意してください。 JSON (application/json) [適用] を選択してインポートを続行します。
2021 年 1 月 28 日午前 12 時時点の App Configuration ストアからキー値をインポートしました。キー名は test
で始まり、ラベル prod
が付与されています。 キー名には、プレフィックス TestApp:
があります。 インポートされたすべてのキー値には、ラベル new
とコンテンツ タイプ application/json
が割り当てられました。
Azure App Service からデータをインポートする
Azure App Service からキー値をインポートするには、次の手順に従います。
Note
App Service は現在、機能フラグをサポートしていません。 App Service にインポートされたすべての機能フラグは、自動的にキー値に変換されます。 App Service リソースにはキー値のみを含めることができます。
Azure ポータルで次の手順を実行します。
お使いの App Configuration ストアに移動し、[操作] メニューから [インポート/エクスポート] を選択します。
既定では、[インポート] ラジオ ボタンが選択されています。 [ソースの種類] で、[App Services] を選択します。
データをインポートする元の App Configuration ストアを選択し、フォームに次のパラメーターを入力します。
パラメーター 説明 例 サブスクリプション 現在のサブスクリプションは既定で選択されています。 my-subscription リソース グループ インポートする構成のある App Service が含まれるリソース グループを選びます。 my-resource-group リソース インポートする構成が含まれる App Service を選びます。 my-app-service フォームの次の部分に入力します。
パラメーター 説明 例 参照する設定を更新する オンにすると、App Service のアプリ設定が、インポートされたキー値の App Configuration 参照に更新されます。 これにより、今後の App Configuration でアプリ設定を管理できます。 App Service は、App Configuration から現在の値を自動的にプルします。 詳細については、「App Service と Azure Functions の App Configuration 参照を使用する」を参照してください。 オン プレフィックスを追加する 省略可能。 指定すると、インポートされたすべてのキー値のキー名にプレフィックスが追加されます。 TestApp: Add label 省略可能。 指定した場合、指定したラベルがインポートされたすべてのキー値に割り当てられます。 prod コンテンツ タイプを追加する 省略可能。 指定した場合、指定したコンテンツ タイプがインポートされたすべてのキー値に追加されます。 JSON (application/json) [適用] を選択してインポートを続行します。
App Service からすべてのアプリケーション設定をキー値としてインポートし、それらにラベル prod
とプレフィックス TestApp:
を割り当てました。 インポートしたすべてのキーと値のコンテンツ タイプは application/json
に設定されています。
データのエクスポート
エクスポートでは、App Configuration に保存されている構成データが別の保存先に書き込まれます。 エクスポート機能は、たとえば、App Configuration ストアのデータを、デプロイ時にお使いのアプリケーション コードに埋め込むことができるファイルに保存する場合に使用します。
このガイドでは、App Configuration データをエクスポートする方法について説明します。
構成ファイルにデータをエクスポートする
App Configuration ストアから JSON、YAML、またはプロパティ ファイルに構成データをエクスポートするには、次の手順に従います。
Azure portal から次の手順を実行します。
お使いの App Configuration ストアに移動し、[インポート/エクスポート] を選択します。
[エクスポート] ラジオ ボタンを選択し、[ターゲットの種類]で [構成ファイル] を選択します。
フォームに次のパラメーターを入力します。
パラメーター 説明 例 ファイルのタイプ エクスポートするファイルの種類には、YAML、プロパティ、または JSON を選択します。 JSON ファイル コンテンツ プロファイル コンテンツ プロファイル (Default または KVSet) を選択します。 [Default] ファイル コンテンツ プロファイルとは、既存のプログラミング フレームワークまたはシステムで広く採用されている従来の構成ファイル スキーマを指します。JSON、Yaml、または Properties ファイル形式をサポートします。 KVSet ファイル コンテンツ プロファイルとは、App Configuration キー値のすべてのプロパティを含むファイル スキーマを指します。キー、値、ラベル、コンテンツの種類、タグが含まれています。 既定値 選択モード 通常のキー値からエクスポート (既定のオプション) するか、スナップショットからインポートするかを選択します。 既定値 キー フィルター これは、エクスポートするキー名に基づいてキー値をフィルター処理するのに使用します。 キーが指定されていない場合、すべてのキーが対象となります。 これは TestApp: で始まります。 特定時刻 省略可能。 選択した構成ストアの特定の時点からキー値をエクスポートするには、このフィールドに入力します。 空のままにすると、既定の動作である現時点でのキー値となります。 07/28/2022 12:00:00 AM 元のラベル ラベルを選択して、それらのラベルに関連付けられているキー値をエクスポートします。 ラベルを選択しない場合、すべてのラベルが対象となります。 Default
ファイル コンテンツ プロファイルを使用してエクスポートする場合、選択できるラベルは 1 つだけであることに注意してください。 複数のラベルを持つキー値をエクスポートするには、KVSet
ファイル コンテンツ プロファイルを使用します。prod プレフィックスを削除する 省略可能。 指定した場合、それを含むすべてのエクスポートされたキー値のキー名からプレフィックスが削除されます。 TestApp: Separator 区切りとは、キー名をセグメント化し、キー値から JSON または YAML ファイルの階層構成を再構築するために使用する区切り記号です。 プロパティ ファイルとフィーチャー フラグでは無視されます。 サポートされる値には、区切り記号なし、ピリオド (.)、コンマ (,)、セミコロン (;)、ハイフン (-)、アンダースコア (_)、二重アンダースコア (__)、スラッシュ (/)、コロン (:) があります。 : [エクスポート] を選択してエクスポートを完了します。
2021 年 7 月 28 日午前 12 時時点の App Configuration ストアから JSON ファイルに、キー値をエクスポートしました。キー名は TestApp:
で始まり、ラベル prod
が付与されています。 プレフィックス TestApp:
はキー名からトリミングされ、区切り記号 :
を使用してキー名をセグメント化し、階層的な JSON 形式を再構築しました。
App Configuration ストアにデータをエクスポートする
Azure App Configuration ストアにキー値と機能フラグをエクスポートするには、次の手順に従います。
1 つの App Configuration ストアから別の App Configuration ストアに値をエクスポートすることや、値を複製して新しいラベルやコンテンツ タイプなどの異なるパラメーターを適用するために、1 つの App Configuration ストアから同じ App Configuration ストアに値をエクスポートすることができます。
Azure portal から次の手順を実行します。
エクスポートするデータを含む App Configuration ストアに移動し、[操作] メニューから [インポート/エクスポート] を選びます。
[エクスポート] ラジオ ボタンを選択し、[ターゲットの種類]で [App Configuration] を選択します。
フォームに次のパラメーターを入力します。
パラメーター 説明 例 選択モード 通常のキー値からエクスポート (既定のオプション) するか、スナップショットからインポートするかを選択します。 既定値 キー フィルター これは、エクスポートするキー名に基づいてキー値をフィルター処理するのに使用します。 キーが指定されていない場合、すべてのキーが対象となります。 これは TestApp: で始まります。 特定時刻 省略可能。 選択した構成ストアの特定の時点からキー値をエクスポートするには、このフィールドに入力します。 空のままにすると、既定の動作である現時点でのキー値となります。 07/28/2022 12:00:00 AM 元のラベル 1 つ以上のラベルを選択して、それらのラベルに関連付けられているキー値をエクスポートします。 ラベルを選択しない場合、すべてのラベルが対象となります。 prod フィーチャー フラグを除外する オンにすると、フィーチャー フラグはエクスポートされません。 Unchecked 宛先ストアを選択し、フォームに次のパラメーターを入力します。
パラメーター 説明 例 サブスクリプション 現在のサブスクリプションは既定で選択されています。 my-subscription リソース グループ 構成をエクスポートする App Configuration ストアを含むリソース グループを選択します。 現在のリソース グループは既定で選択されています。 my-resource-group リソース 構成をエクスポートする App Configuration ストアを選択します。 my-other-app-config-store フォームの次の部分に入力します。
パラメーター 説明 例 プレフィックスを削除する 省略可能。 指定した場合、それを含むすべてのエクスポートされたキー値のキー名からプレフィックスが削除されます。 TestApp: ラベルを上書きする 省略可能。 既定では、ソースからのキー値の元のラベルは保持されます。 上書きするには、チェック ボックスをオンにし、エクスポートされたキー値の新しいラベルを入力します。 新規 コンテンツ タイプを上書きする 省略可能。 既定では、ソースからのキー値の元のコンテンツ タイプは保持されます。 上書きするには、チェックボックスをオンにして、エクスポートされたキー値の新しいコンテンツ タイプを入力します。 フィーチャー フラグのコンテンツ タイプは上書きできないことに注意してください。 JSON (application/json) [適用] を選択してエクスポートを続行します。
2022 年 7 月 28 日午前 12 時時点の App Configuration ストアから 別の App Configuration ストアに、キー値をエクスポートしました。キー名は TestApp:
で始まり、ラベル prod
が付与されています。 エクスポートされたすべてのキー値では、キー プレフィックス TestApp:
がトリミングされ、ラベル new
およびコンテンツ タイプ application/json
が割り当てられます。
Azure App Service にデータをエクスポートする
Azure App Service にキー値をエクスポートするには、次の手順に従います。
Note
App Service へのフィーチャー フラグのエクスポートはサポートされていません。
Azure portal から次の手順を実行します。
お使いの App Configuration ストアに移動し、[操作] メニューから [インポート/エクスポート] を選択します。
[エクスポート] ラジオ ボタンを選択し、[ターゲットの種類] で [App Services] を選択します。
既定では、[参照としてエクスポート] オプションがオンになっています。 このボックスをオンにすると、App Service のアプリケーション設定が、エクスポートされたキー値の App Configuration 参照として追加されます。 これにより、App Configuration で設定を管理でき、App Service は App Configuration から現在の値を自動的にプルします。 詳細については、「App Service と Azure Functions の App Configuration 参照を使用する」を参照してください。 チェック ボックスがオフの場合、キーと値は App Service に直接エクスポートされます。 アプリケーションが更新プログラムを確実に取得できるように、App Configuration で変更を加えるたびに、必ずデータを再度エクスポートしてください。
フォームに次のパラメーターを入力します。
パラメーター 説明 例 選択モード 通常のキー値からエクスポート (既定のオプション) するか、スナップショットからインポートするかを選択します。 既定値 キー フィルター これは、エクスポートするキー名に基づいてキー値をフィルター処理するのに使用します。 キーが指定されていない場合、すべてのキーが対象となります。 これは TestApp: で始まります。 特定時刻 省略可能。 選択した構成ストアの特定の時点からキー値をエクスポートするには、このフィールドに入力します。 空のままにすると、既定の動作である現時点でのキー値となります。 07/28/2022 12:00:00 AM 元のラベル 1 つのラベルを選択して、このラベルに関連付けられているキー値をエクスポートします。 prod 宛先ストアを選択し、フォームに次のパラメーターを入力します。
パラメーター 説明 例 サブスクリプション 現在のサブスクリプションは既定で選択されています。 my-subscription リソース グループ 構成をエクスポートする App Service を含むリソース グループを選択します。 my-resource-group リソース 構成をエクスポートする App Service を選択します。 my-app-service 必要に応じて、フォームの次の部分に入力します。
パラメーター 説明 例 プレフィックスを削除する 省略可能。 指定した場合、それを含むすべてのエクスポートされたキー値のキー名からプレフィックスが削除されます。 TestApp: [適用] を選択してエクスポートを続行します。
2022 年 7 月 28 日午前 12 時時点の App Configuration ストアから App Service リソースのアプリケーション設定に、キー値をエクスポートしました。キー名は TestApp:
で始まり、ラベル prod
が付与されています。 プレフィックス TestApp:
は、エクスポートされたキー名からトリミングされました。
キーと値を参照としてエクスポートするチェック ボックスをオンにした場合、エクスポートされたキーと値は、App Service リソース構成設定の [ソース] 列に App Configuration の参照として示されます。
エラー メッセージ
App Configuration のキーと値をインポートまたはエクスポートするときに、次のエラー メッセージが表示される場合があります。
- ストアでパブリック アクセスが無効になっているか、ストアのプライベート エンドポイント構成にないプライベート エンドポイントからアクセスしています。 App Configuration ストアでプライベート エンドポイントが有効になっている場合は、既定で構成された仮想ネットワーク内からのみアクセスできます。 Azure portal または CLI を実行しているマシンが、プライベート エンドポイントと同じ仮想ネットワークに参加していることを確認します。 App Configuration ストアへのパブリック ネットワーク アクセスを有効にしたばかりの場合は、少なくとも 5 分待ってから再試行してキャッシュが更新できるようにします。