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 キー値のすべてのプロパティを含むファイル スキーマを指します。キー、値、ラベル、コンテンツの種類、タグが含まれています。 |
既定値 |
| インポート モード |
インポート モードを使用して、同じキー値を無視するかどうかを決定します。
[一致を無視] オプションでは、ストア内のキー値で構成ファイルと同一のものは無視されます。
[すべて]l オプションでは、構成ファイル内のすべてのキー値が更新されます。 |
一致を無視する |
| フィーチャー フラグを除外する |
有効にすると、フィーチャー フラグはインポートされません。 |
"オフ" |
| 高 |
チェック ボックスをオンにすると、構成ファイルに含まれていないプレフィックスとラベルが指定されたストア内のキー値は、[ファイル コンテンツ プロファイル] を [Default] に設定したときに削除されます。 [ファイル コンテンツ プロファイル] を [KVSet] に設定した場合、構成ファイルに含まれていないストア内のキー値はすべて削除されます。 チェック ボックスがオフの場合、ストア内のキー値は削除されません。 |
"オフ" |
| 分離器 |
区切りとは、JSON または YAML ファイルをキー値にフラット化するために使用する区切り記号です。 プロパティ ファイルとフィーチャー フラグでは無視されます。 サポートされる値には、区切り記号なし、ピリオド (.)、コンマ (,)、セミコロン (;)、ハイフン (-)、アンダースコア (_)、二重アンダースコア (__)、スラッシュ (/)、コロン (:) があります。 |
":" |
| 深さ |
省略可。 JSON または YAML ファイルをキーと値のペアにフラット化するうえでの深度。 既定では、区切り記号が選択されている場合、ファイルは最も深いレベルまでフラット化されます。 この設定は、プロパティ ファイルまたはフィーチャー フラグには適用されません。 |
|
| プレフィックスを追加する |
省略可。 指定すると、インポートされたすべてのキー値のキー名にプレフィックスが追加されます。 |
"TestApp:" |
| ラベルを追加する |
省略可。 指定した場合、指定したラベルがインポートされたすべてのキー値に割り当てられます。 |
"prod" |
| コンテンツ タイプを追加する |
省略可。 指定した場合、指定したコンテンツ タイプがインポートされたすべてのキー値に追加されます。 |
"JSON (application/json)" |
| タグを追加する |
省略可。 指定した場合、指定したタグがインポートされたすべてのキー値に追加されます。 |
"{tag: tag1}" |
[適用] を選択してインポートを続行します。
JSON ファイルからキー値が正常にインポートされました。 キー名は、区切り記号 : でフラット化され、プレフィックス TestApp:が付いています。 インポートされたすべてのキー値には prod のラベルが付き、コンテンツ タイプは application/json で、tag: tag1でタグ付けされています。
Azure CLI から、次の手順を実行します。 Azure CLI がローカルにインストールされていない場合は、必要に応じて、Azure Cloud Shell を使用することもできます。
インポート コマンド az appconfig kv import を入力し、次のパラメーターを追加します。
| パラメーター |
説明 |
例 |
--name |
データのインポート先の App Configuration ストアの名前を入力します。 |
my-app-config-store |
--source |
ファイルからアプリ構成データをインポートすることを指定するには file と入力します。 |
file |
--path |
インポートしたいデータを含むファイルへのローカル パスを入力します。 |
C:/Users/john/Downloads/data.json |
--format |
yaml、properties、json のいずれかを入力し、インポートするファイルの形式を指定します。 |
json |
必要に応じて、次のパラメーターも追加します。
| パラメーター |
説明 |
例 |
--separator |
省略可。 区切りは、キー値を JSON/YAML にフラット化するための区切り記号です。 階層構造をエクスポートする場合は必須であり、プロパティ ファイルと機能フラグでは無視されます。 以下のオプションの 1 つを選択します。.、,、:、;、/、-、_、—。 |
; |
--prefix |
省略可。 キー プレフィックスはキーの先頭部分です。 プレフィックスを使用して、構成ストア内のキーと値のグループを管理できます。 このプレフィックスは、インポートしたそれぞれのキーと値の "key" プロパティの先頭に追加されます。 |
TestApp: |
--label |
省略可。 インポートしたキー値に割り当てるラベルを入力します。 |
prod |
--content-type |
省略可。
appconfig/kvset または application/json を入力すると、インポートするコンテンツが Key Vault 参照または JSON ファイルで構成されていることを示します。 |
application/json |
例: JSON ファイルからすべてのキーと値および機能フラグをインポートし、ラベル "prod" を適用し、プレフィックス "TestApp" を追加します。 "application/json" コンテンツ タイプを追加します。 この例では、プレースホルダー テキスト <AppConfigurationStoreName> を App Configuration ストアの名前に置き換えます。
az appconfig kv import --name <AppConfigurationStoreName> --source file --path D:/abc.json --format json --separator ; --prefix TestApp: --label prod --content-type application/json
コマンドラインには、これから行われる変更の一覧が表示されます。
y を選んでインポートを確認します。
JSON ファイルからキー値をインポートし、それらにラベル "prod" とプレフィックス "TestApp:" を割り当てました。 区切り記号 ";" が使われており、インポートしたすべてのキーと値のコンテンツ タイプが "JSON" に設定されています。
省略可能なパラメーターの詳細と例については、「az appconfig kv import」を参照してください。
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" |
| フィーチャー フラグを除外する |
有効にすると、フィーチャー フラグはインポートされません。 |
"オフ" |
| プレフィックスを追加する |
省略可。 指定すると、インポートされたすべてのキー値のキー名にプレフィックスが追加されます。 |
"TestApp:" |
| ラベルを上書きする |
省略可。 既定では、ソースからのキー値の元のラベルは保持されます。 それらを上書きするには、チェック ボックスをオンにし、インポートされたキー値の新しいラベルを入力します。 |
"new" |
| コンテンツ タイプを上書きする |
省略可。 既定では、ソースからのキー値の元のコンテンツ タイプは保持されます。 上書きするには、チェック ボックスをオンにして、インポートされたキー値の新しいコンテンツ タイプを入力します。 フィーチャー フラグのコンテンツ タイプは上書きできないことに注意してください。 |
"JSON (application/json)" |
[適用] を選択してインポートを続行します。
2021 年 1 月 28 日午前 12 時時点の App Configuration ストアからキー値をインポートしました。キー名は test で始まり、ラベル prod が付与されています。 キー名には、プレフィックス TestApp: があります。 インポートされたすべてのキー値には、ラベル new とコンテンツ タイプ application/jsonが割り当てられました。
Azure CLI から、次の手順を実行します。 Azure CLI がローカルにインストールされていない場合は、必要に応じて、Azure Cloud Shell を使用することもできます。
インポート コマンド az appconfig kv import を入力し、次のパラメーターを入力します。
| パラメーター |
説明 |
例 |
--name |
データのインポート先の App Configuration ストアの名前を入力します |
my-app-config-store |
--source |
App Configuration ストアからデータをインポートすることを指定するには appconfig と入力します。 |
appconfig |
--src-name |
データのインポート元の App Configuration ストアの名前を入力します。 |
my-source-app-config |
--src-label |
特定のラベルを持つキーと値にインポートを制限します。 このパラメーターを使わない場合、null ラベルを持つキーと値のみがインポートされます。 フィルターとしてアスタリスク記号をサポートします。すべてのラベルの場合は * と、abc をプレフィックスとして持つすべてのラベルの場合は abc* と入力します。 |
prod |
必要に応じて以下のパラメーターを追加できます。
| パラメーター |
説明 |
例 |
--label |
省略可。 インポートしたキー値に割り当てるラベルを入力します。 |
new |
--content-type |
省略可。
appconfig/kvset または application/json を入力すると、インポートするコンテンツが Key Vault 参照または JSON ファイルで構成されていることを示します。 コンテンツ タイプは、インポートされたキー値に対してのみオーバーライドできます。 既定では、機能フラグの既定のコンテンツ タイプは "application/vnd.microsoft.appconfig.ff+json;charset=utf-8" で、このパラメーターによって更新されることはありません。 |
application/json |
例: 別の App Configuration からラベル "prod" を持つキーと値および機能フラグをインポートして、それらにラベル "new" を割り当てます。 "application/json" コンテンツ タイプを追加します。 この例では、プレースホルダー テキストの <AppConfigurationStoreName> と <SourceAppConfigurationStoreName> を、移行先の App Configuration ストアとソース App Configuration ストアの名前に置き換えます。
az appconfig kv import --name <AppConfigurationStoreName> --source appconfig --src-name <SourceAppConfigurationStoreName> --src-label prod --label new --content-type application/json
コマンドラインには、これから行われる変更の一覧が表示されます。
y を選んでインポートを確認します。
App Configuration ストアからラベル "prod" のキーと値をインポートし、それらにラベル "new" を割り当てました。 インポートしたすべてのキーと値のコンテンツ タイプは "JSON" に設定されています。
省略可能なパラメーターの詳細と例については、「az appconfig kv import」を参照してください。
Azure App Service からデータをインポートする
Azure App Service からキー値をインポートするには、次の手順に従います。
注
App Service は現在、機能フラグをサポートしていません。 App Service にインポートされたすべての機能フラグは、自動的にキー値に変換されます。 App Service リソースにはキー値のみを含めることができます。
Azure portal で次の手順を実行します。
お使いの 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:" |
| ラベルを追加する |
省略可。 指定した場合、指定したラベルがインポートされたすべてのキー値に割り当てられます。 |
"prod" |
| コンテンツ タイプを追加する |
省略可。 指定した場合、指定したコンテンツ タイプがインポートされたすべてのキー値に追加されます。 |
"JSON (application/json)" |
[適用] を選択してインポートを続行します。
App Service からすべてのアプリケーション設定をキー値としてインポートし、それらにラベル prod とプレフィックス TestApp: を割り当てました。 インポートしたすべてのキーと値のコンテンツ タイプは application/json に設定されています。
Azure CLI から、次の手順を実行します。 Azure CLI がローカルにインストールされていない場合は、必要に応じて、Azure Cloud Shell を使用することもできます。
インポート コマンド az appconfig kv import を入力し、次のパラメーターを追加します。
| パラメーター |
説明 |
例 |
--name |
データのインポート先の App Configuration ストアの名前を入力します。 |
my-app-config-store |
--source |
Azure App Service からアプリ構成データをインポートすることを指定するには appservice と入力します。 |
appservice |
--appservice-account |
App Configuration と同じサブスクリプションとリソース グループ内にある場合、App Service の ARM ID を入力するか、App Service の名前を使います。 |
/subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service または my-app-service |
必要に応じて、次のパラメーターも追加します。
| パラメーター |
説明 |
例 |
--prefix |
省略可。 キー プレフィックスは、キーと値の "key" プロパティの先頭部分です。 プレフィックスを使用して、構成ストア内のキーと値のグループを管理できます。 このプレフィックスは、インポートしたそれぞれのキーと値の "key" プロパティの先頭に追加されます。 |
TestApp: |
--label |
省略可。 インポートしたキー値に割り当てるラベルを入力します。 ラベルを指定しない場合は、null ラベルがキー値に割り当てられます。 |
prod |
--content-type |
省略可。 appconfig/kvset または application/json を入力し、インポートするコンテンツが Key Vault 参照または JSON ファイルで構成されていることを示します。 |
application/json |
--appservice-account の値を取得するには、コマンド az webapp show --resource-group <ResourceGroupName> --name <AppServiceName> を使います。
例: App Service からすべてのアプリケーション設定を、ラベル "prod" を持つキー値として App Configuration ストアにインポートし、"TestApp:" プレフィックスを追加します。 この例では、プレースホルダーテキストの <AppConfigurationStoreName>、 <SubscriptionId>、 <ResourceGroupName>、 <AppServiceName> を独自の値に置き換えます。
az appconfig kv import --name <AppConfigurationStoreName> --source appservice --appservice-account /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Web/sites/<AppServiceName> --label prod --prefix TestApp:
コマンドラインには、これから行われる変更の一覧が表示されます。
y を選んでインポートを確認します。
App Service からすべてのアプリケーション設定をキー値としてインポートし、ラベル "prod" を割り当て、"TestApp:" プレフィックスを追加しました。 インポートしたすべてのキーと値のコンテンツ タイプは "JSON" に設定されています。
省略可能なパラメーターの詳細と例については、「az appconfig kv import」を参照してください。
Azure Kubernetes Service ConfigMaps からデータをインポートする
Azure Kubernetes Service ConfigMaps からキー値をインポートするには、次の手順に従います。 この機能のポータルサポートは開発中です。Azure CLI を使用して AKS からインポートしてください。
この機能に対する Azure portal のサポートは開発中です。
Azure CLI から、次の手順を実行します。 Azure CLI がローカルにインストールされていない場合は、必要に応じて、Azure Cloud Shell を使用することもできます。
インポート コマンド az appconfig kv import を入力し、次のパラメーターを追加します。
| パラメーター |
説明 |
例 |
--name |
データのインポート先の App Configuration ストアの名前を入力します。 |
my-app-config-store |
--source |
aks入力して、Azure Kubernetes Service からアプリ構成データをインポートすることを示します。 |
aks |
--aks-cluster |
Azure Kubernetes Service の ARM ID を入力するか、Azure Kubernetes Service の名前 (App Configuration と同じサブスクリプションとリソース グループ内にある場合) を使用します。 |
/subscriptions/123/resourceGroups/my-resource-group/providers/Microsoft.ContainerService/managedClusters/my-aks-cluster または my-aks-cluster |
--configmap-namespace |
インポートする ConfigMap の名前空間を入力します。 |
default |
--configmap-name |
インポートする ConfigMap の名前を入力します。 |
my-configmap |
必要に応じて、次のパラメーターも追加します。
| パラメーター |
説明 |
例 |
--prefix |
省略可。 キー プレフィックスは、キーと値の "key" プロパティの先頭部分です。 プレフィックスを使用して、構成ストア内のキーと値のグループを管理できます。 このプレフィックスは、インポートしたそれぞれのキーと値の "key" プロパティの先頭に追加されます。 |
TestApp: |
--label |
省略可。 インポートしたキー値に割り当てるラベルを入力します。 ラベルを指定しない場合は、null ラベルがキー値に割り当てられます。 |
test |
--content-type |
省略可。 appconfig/kvset または application/json を入力し、インポートするコンテンツが Key Vault 参照または JSON ファイルで構成されていることを示します。 |
application/json |
--format |
省略可。 インポートする ConfigMap の形式を示す yaml、プロパティ、または json を入力します。 |
json |
--separator |
省略可。 区切り記号は、キー値をフラット化するための区切り記号です。 階層構造をエクスポートする場合は必須であり、プロパティ ファイルと機能フラグでは無視されます。 以下のオプションの 1 つを選択します。.、,、:、;、/、-、_、—。 |
; |
--aks-cluster の値を取得するには、コマンド az aks show --resource-group <ResourceGroupName> --name <AksClusterName> を使います。
例: AKS Configmap のすべての設定を、"test" というラベルのキー値として App Configuration ストアにインポートし、"TestApp:" プレフィックスを追加します。 この例では、プレースホルダーテキストの <AppConfigurationStoreName>、 <SubscriptionId>、 <ResourceGroupName>、 <AksClusterName>、 <ConfigMapName> を独自の値に置き換えます。
az appconfig kv import --name <AppConfigurationStoreName> --source aks --aks-cluster /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ContainerService/managedClusters/<AksClusterName> --configmap-namespace default --configmap-name <ConfigMapName> --label test --prefix TestApp:
コマンドラインには、これから行われる変更の一覧が表示されます。
y を選んでインポートを確認します。
AKS ConfigMap からすべての設定をキー値としてインポートし、"test" というラベルを割り当て、"TestApp:" プレフィックスを追加しました。
省略可能なパラメーターの詳細と例については、「az appconfig kv import」を参照してください。
データのエクスポート
エクスポートでは、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:" |
| 分離器 |
区切りとは、キー名をセグメント化し、キー値から JSON または YAML ファイルの階層構成を再構築するために使用する区切り記号です。 プロパティ ファイルとフィーチャー フラグでは無視されます。 サポートされる値には、区切り記号なし、ピリオド (.)、コンマ (,)、セミコロン (;)、ハイフン (-)、アンダースコア (_)、二重アンダースコア (__)、スラッシュ (/)、コロン (:) があります。 |
":" |
[エクスポート] を選択してエクスポートを完了します。
2021 年 7 月 28 日午前 12 時時点の App Configuration ストアから JSON ファイルに、キー値をエクスポートしました。キー名は TestApp: で始まり、ラベル prod が付与されています。 プレフィックス TestApp: はキー名からトリミングされ、区切り記号 : を使用してキー名をセグメント化し、階層的な JSON 形式を再構築しました。
Azure CLI から、次の手順を実行します。 Azure CLI がローカルにインストールされていない場合は、必要に応じて、Azure Cloud Shell を使用することもできます。
エクスポート コマンド az appconfig kv export を入力し、次のパラメーターを追加します。
| パラメーター |
説明 |
例 |
--name |
エクスポートするキー値が含まれる App Configuration ストアの名前を入力します。 |
my-app-config-store |
--destination |
データをファイルにエクスポートすることを示すには file を入力します。 |
file |
--path |
ファイルを保存するパスを入力します。 |
C:/Users/john/Downloads/data.json |
--format |
yaml、properties、または json を入力して、エクスポートするファイルの形式を指定します。 |
json |
--label |
ラベルを入力して、このラベルを持つキーと値および機能フラグをエクスポートします。 ラベルを指定しない場合、既定では、ラベルなしのキーと値および機能フラグのみがエクスポートされます。 1 つのラベルを入力すること、, で区切って複数のラベルを入力すること、または * を使ってすべてのラベルを考慮に入れることができます。 |
prod |
重要
ラベルを選択しない場合は、ラベルのないキーと値のみがエクスポートされます。 ラベルを持つキー値をエクスポートするには、そのラベルを選択する必要があります。
必要に応じて、次のパラメーターも追加します。
| パラメーター |
説明 |
例 |
--separator |
省略可。 区切りは、キー値を JSON/YAML にフラット化するための区切り記号です。 階層構造をエクスポートする場合は必須であり、プロパティ ファイルと機能フラグでは無視されます。 以下のオプションの 1 つを選択します。.、,、:、;、/、-、_、—。 |
; |
--prefix |
省略可。 それぞれのキーと値の "key" プロパティから取り除かれるプレフィックス。 キー プレフィックスはキーの先頭部分です。 プレフィックスを使用して、構成ストア内のキーと値のグループを管理できます。 機能フラグではプレフィックスは無視されます。 |
TestApp: |
例: ラベル "prod" を持つすべてのキーと値および機能フラグを JSON ファイルにエクスポートします。 この例では、プレースホルダー テキスト <AppConfigurationStoreName> を App Configuration ストアの名前に置き換えます。
az appconfig kv export --name <AppConfigurationStoreName> --label prod --destination file --path D:/abc.json --format json --separator ; --prefix TestApp:
コマンドラインには、ファイルにエクスポートされるキー値の一覧が表示されます。
y を選んでエクスポートを確認します。
バリアント機能フラグは Microsoft 機能管理スキーマを使用してファイルにエクスポートされますが、その他の機能フラグは互換性のために .NET 機能管理スキーマを使用してエクスポートされます。 Microsoft 機能管理スキーマを使用して排他的に機能フラグをエクスポートするには、環境変数 AZURE_APPCONFIG_FM_COMPATIBLE を False に設定します。
"prod" ラベルを持つキー値と機能フラグを構成ファイルにエクスポートし、プレフィックス "TestApp" をトリミングしました。 ファイル内で、値は ";" で区切られています。
省略可能なパラメーターの詳細と例については、「az appconfig kv export」を参照してください。
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" |
| フィーチャー フラグを除外する |
オンにすると、フィーチャー フラグはエクスポートされません。 |
"オフ" |
宛先ストアを選択し、フォームに次のパラメーターを入力します。
| パラメーター |
説明 |
例 |
| サブスクリプション |
現在のサブスクリプションは既定で選択されています。 |
my-subscription |
| リソースグループ |
構成をエクスポートする App Configuration ストアを含むリソース グループを選択します。 現在のリソース グループは既定で選択されています。 |
"my-resource-group" |
| リソース |
構成をエクスポートする App Configuration ストアを選択します。 |
"my-other-app-config-store" |
フォームの次の部分に入力します。
| パラメーター |
説明 |
例 |
| プレフィックスを削除する |
省略可。 指定した場合、それを含むすべてのエクスポートされたキー値のキー名からプレフィックスが削除されます。 |
"TestApp:" |
| ラベルを上書きする |
省略可。 既定では、ソースからのキー値の元のラベルは保持されます。 上書きするには、チェック ボックスをオンにし、エクスポートされたキー値の新しいラベルを入力します。 |
"new" |
| コンテンツ タイプを上書きする |
省略可。 既定では、ソースからのキー値の元のコンテンツ タイプは保持されます。 上書きするには、チェックボックスをオンにして、エクスポートされたキー値の新しいコンテンツ タイプを入力します。 フィーチャー フラグのコンテンツ タイプは上書きできないことに注意してください。 |
"JSON (application/json)" |
[適用] を選択してエクスポートを続行します。
2022 年 7 月 28 日午前 12 時時点の App Configuration ストアから別の App Configuration ストアに、キー値をエクスポートしました。キー名は TestApp: で始まり、ラベル prod が付与されています。 エクスポートされたすべてのキー値では、キー プレフィックス TestApp: がトリミングされ、ラベル new およびコンテンツ タイプ application/json が割り当てられます。
Azure CLI から、次の手順を実行します。 Azure CLI がローカルにインストールされていない場合は、必要に応じて、Azure Cloud Shell を使用することもできます。
エクスポート コマンド az appconfig kv export を入力し、次のパラメーターを入力します。
| パラメーター |
説明 |
例 |
--name |
エクスポートするキー値が含まれる App Configuration ストアの名前を入力します。 |
my-app-config-store |
--destination |
App Configuration ストアにデータをエクスポートすることを指定するには appconfig と入力します。 |
appconfig |
--dest-name |
データをエクスポートする App Configuration ストアの名前を入力します。 |
my-other-app-config-store |
--label |
ラベルを入力して、このラベルを持つキーと値および機能フラグをエクスポートします。 ラベルを指定しない場合、既定では、ラベルなしのキーと値および機能フラグのみがエクスポートされます。 1 つのラベルを入力すること、, で区切って複数のラベルを入力すること、または * を使ってすべてのラベルを考慮に入れることができます。 |
prod |
重要
エクスポートするキーと値にラベルがある場合は、コマンド --label を使い、対応するラベルを入力する必要があります。 ラベルを選択しない場合は、ラベルのないキーと値のみがエクスポートされます。 コンマ記号 (,) を使って複数のラベルを選ぶか、* を使って null ラベル (ラベルなし) を含むすべてのラベルを含めることができます。
必要に応じて、次のパラメーターも追加します。
| パラメーター |
説明 |
例 |
--dest-label |
省略可。 エクスポートされたキー値にこのラベルを割り当てるには、宛先ラベルを入力します。 |
new |
例: ラベル "prod" を持つキーと値および機能フラグを別の App Configuration ストアにエクスポートし、宛先ラベル "new" を追加します。 この例では、プレースホルダー テキストの <AppConfigurationStoreName> と <TargetAppConfigurationStoreName> を、移行元と移行先の App Configuration ストアの名前に置き換えます。
az appconfig kv export --name <AppConfigurationStoreName> --destination appconfig --dest-name <TargetAppConfigurationStoreName> --dest-label new --label prod
コマンドラインには、ファイルにエクスポートされるキー値の一覧が表示されます。
y を選んでエクスポートを確認します。
App Configuration ストアからラベル "prod" を持つキー値と機能フラグをエクスポートし、それらにラベル "new" を割り当てました。
省略可能なパラメーターの詳細と例については、「az appconfig kv import」を参照してください。
Azure App Service にデータをエクスポートする
Azure App Service にキー値をエクスポートするには、次の手順に従います。
注
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 の参照として示されます。
Azure CLI から、次の手順を実行します。 Azure CLI がローカルにインストールされていない場合は、必要に応じて、Azure Cloud Shell を使用することもできます。
エクスポート コマンド az appconfig kv export を入力し、次のパラメーターを入力します。
| パラメーター |
説明 |
例 |
--name |
エクスポートするキー値が含まれる App Configuration ストアの名前を入力します。 |
my-app-config-store |
--destination |
データを App Service にエクスポートすることを示すには appservice を入力します。 |
appservice |
--appservice-account |
App Configuration と同じサブスクリプションとリソース グループ内にある場合、App Service の ARM ID を入力するか、App Service の名前を使います。 |
/subscriptions/123/resourceGroups/my-as-resource-group/providers/Microsoft.Web/sites/my-app-service または my-app-service |
--label |
省略可。 ラベルを入力して、このラベルを持つキーと値および機能フラグをエクスポートします。 ラベルを指定しない場合、既定では、ラベルなしのキーと値および機能フラグのみがエクスポートされます。 |
prod |
--appservice-account の値を取得するには、コマンド az webapp show --resource-group <ResourceGroupName> --name <AppServiceName> を使います。
必要に応じて、プレフィックスも追加します。
| パラメーター |
説明 |
例 |
--prefix |
省略可。 エクスポートされたキーと値の "key" プロパティから取り除かれるプレフィックス。 キー プレフィックスはキーの先頭部分です。 プレフィックスを使用して、構成ストア内のキーと値のグループを管理できます。 |
TestApp: |
例: ラベル "prod" を持つすべてのキー値を App Service アプリケーションにエクスポートし、プレフィックス "TestApp" をトリミングします。 この例では、プレースホルダーテキストの <AppConfigurationStoreName>、 <SubscriptionId>、 <ResourceGroupName>、 <AppServiceName> を独自の値に置き換えます。
az appconfig kv export --name <AppConfigurationStoreName> --destination appservice --appservice-account /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Web/sites/<AppServiceName>/config/web --label prod --prefix TestApp:
App Service リソースにエクスポートされるキーと値の一覧がコマンド ラインに表示されます。
y を選んでエクスポートを確認します。
ラベル "prod" を持つすべてのキーと値を Azure App Service リソースにエクスポートし、プレフィックス "TestApp:" をトリミングしました。
必要に応じて、App Configuration の参照としてエクスポートするフラグを指定します。
| パラメーター |
説明 |
--export-as-reference
-r
|
省略可。 キーと値を App Configuration の参照として App Service にエクスポートするかどうかを指定します。
詳細については、こちらを参照してください。 |
例: "prod" というラベルを持つすべてのキーと値を、アプリ構成の参照として App Service アプリケーションにエクスポートします。 この例では、プレースホルダーテキストの <AppConfigurationStoreName>、 <SubscriptionId>、 <ResourceGroupName>、 <AppServiceName> を独自の値に置き換えます。
az appconfig kv export --name <AppConfigurationStoreName> --destination appservice --appservice-account "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Web/sites/<AppServiceName>" --label prod --export-as-reference
App Service リソースにアプリ構成の参照としてエクスポートされるキーと値の一覧がコマンド ラインに表示されます。
y を選んでエクスポートを確認します。
"prod" というラベルを持つすべてのキーと値を、アプリ構成の参照として Azure App Service リソースにエクスポートしました。 App Service リソースで、インポートされたキーと値が App Configuration の参照として [ソース] 列に示されます。
省略可能なパラメーターの詳細と例については、「az appconfig kv export」を参照してください。
エラー メッセージ
App Configuration のキーと値をインポートまたはエクスポートするときに、次のエラー メッセージが表示される場合があります。
-
ストアでパブリック アクセスが無効になっているか、ストアのプライベート エンドポイント構成にないプライベート エンドポイントからアクセスしています。 App Configuration ストアでプライベート エンドポイントが有効になっている場合は、既定で構成された仮想ネットワーク内からのみアクセスできます。 Azure portal または CLI を実行しているマシンが、プライベート エンドポイントと同じ仮想ネットワークに参加していることを確認します。 App Configuration ストアへのパブリック ネットワーク アクセスを有効にしたばかりの場合は、少なくとも 5 分待ってから再試行してキャッシュが更新できるようにします。
次のステップ