構成データのインポートまたはエクスポート

Azure App Configuration はデータのインポート操作とエクスポート操作をサポートします。 これらの操作を使用して、構成データを一括処理し、お使いの App Configuration ストアとコード プロジェクト間でデータを交換することができます。 たとえば、1 つの App Configuration ストアをテスト用に、もう 1 つを実稼働用に設定できます。 それらの間でアプリケーション設定をコピーできるので、データを 2 回入力する必要がなくなります。

この記事では、App Configuration でデータをインポートおよびエクスポートするためのガイドを提供します。 GitHub リポジトリとの継続的な同期を設定する場合は、GitHub ActionsAzure パイプライン タスクに関する記事を参照してください。

データのインポートまたはエクスポートには、Azure portal または Azure CLI のいずれかを使用します。

データのインポート

インポートでは、既存のソースから App Configuration ストアに構成データが取り込まれます。 インポート機能は、データを App Configuration ストアに移行したり、複数ソースのデータを集計したりするために使用します。

このガイドでは、App Configuration データをインポートする方法について説明します。

構成ファイルからデータをインポートする

ファイルからキー値をインポートするには、次の手順に従います。

Note

ファイルからの機能フラグのインポートはサポートされていません。 構成ファイルに機能フラグが含まれている場合、通常のキー値として自動的にインポートされます。

Azure portal から次の手順を実行します。

  1. お使いの App Configuration ストアを参照し、[操作] メニューから [インポート/エクスポート] を選択します。

    Screenshot of the Azure portal, importing a file.

  2. [インポート] タブで、[ソース サービス] の下の [構成ファイル] を選択します。

  3. フォームに次のパラメーターを入力します。

    パラメーター 説明
    言語 [.NET]、[Java (Spring)]、[その他] の中から、インポートするファイルの言語を選択します。 .NET
    ファイルの種類 Yaml、プロパティ、Json の中からインポートするファイルの種類を選択します。 Json
  4. フォルダー アイコンを選択し、インポートするファイルを参照します。

    Note

    画面に、ファイルの取り込みに成功したことを示すメッセージが表示されます。

  5. フォームの次の部分に入力します。

    パラメーター 説明
    区切り記号 区切り記号は、インポートされた構成ファイルで解析される文字であり、構成ストアに追加されるキー値を区切ります。 以下のオプションの 1 つを選択します。.,:;/-_ ;
    Prefix 省略可能。 キー プレフィックスは、キーと値の "key" プロパティの先頭部分です。 プレフィックスを使用して、構成ストア内のキーと値のグループを管理できます。 入力したプレフィックスは、このファイルからインポートするすべてのキーと値の "key" プロパティの前に追加されます。 TestApp:
    ラベル 省略可能。 既存のラベルを選択するか、インポートしたキー値に割り当てる新しいラベルを入力します。 prod
    Content type 省略可能。 JSON ファイルか Key Vault 参照をインポートしているかを指定します。 Key Vault 参照の詳細については、「ASP.NET Core アプリで Key Vault 参照を使用する」を参照してください。 JSON (application/json)
  6. [適用] を選択してインポートを続行します。

JSON ファイルからキー値をインポートし、それらにラベル "prod" とプレフィックス "TestApp" を割り当てました。 区切り記号 ":" が使われており、インポートしたすべてのキーと値のコンテンツ タイプが "JSON" に設定されています。

App Configuration ストアからデータをインポートする

1 つの App Configuration ストアから別の App Configuration ストアに値をインポートすることや、値を複製して新しいラベルやコンテンツ タイプなどの異なるパラメーターを適用するために、1 つの App Configuration ストアから同じ App Configuration ストアに値をインポートすることができます。

Azure App Configuration ストアからキー値と機能フラグをインポートするには、次の手順に従います。

Azure portal から次の手順を実行します。

  1. お使いの App Configuration ストアを参照し、[操作] メニューから [インポート/エクスポート] を選択します。

    Screenshot of the Azure portal, importing from an App Configuration store.

  2. [インポート] タブで、[ソース サービス] の下の [App Configuration] を選びます。

  3. [リソースの選択] を選び、次のパラメーターをフォームに入力して、[適用] を選びます。

    パラメーター 説明
    サブスクリプション 現在のサブスクリプションは既定で選択されています。 my-subscription
    リソース グループ インポートする構成のある App Configuration ストアが含まれるリソース グループを選びます。 現在のリソース グループは既定で選択されています。 my-resource-group
    リソース インポートする構成が含まれる App Configuration ストアを選びます。 my-other-app-config-store

    Note

    "アクセス キーが正常に取り込まれました" というメッセージは、App Configuration ストアとの接続が成功したことを示します。

  4. フォームの次の部分に入力します。

    パラメーター 説明
    元のラベル 対応するラベルを持つ値をインポートするには、少なくとも 1 つのラベルを選びます。 [すべてを選択] にすると、任意のラベルを持つキーと値がインポートされ、[(ラベルなし)] はインポートの対象をラベルのないキーと値に制限します。 prod
    特定時刻 省略可能。 特定の時点からのキー値をインポートする場合に入力します。 これは、選択した構成ストア内のキーと値の特定の時点です。 形式: "YYYY-MM-DDThh:mm:ssZ"。 このフィールドは、空のままにすると、既定でキーと値の現在の時点に設定されます。 07/28/2022 12:00:00 AM
    既定のキー値ラベルをオーバーライドする 任意。 既定では、インポートされた項目は現在のラベルを使います。 チェック ボックスをオンにし、ラベルを入力して、これらの既定値をカスタム ラベルでオーバーライドします。 new
    既定のキー値のコンテンツ タイプをオーバーライドする 任意。 既定では、インポートされた項目は現在のコンテンツ タイプを使います。 チェック ボックスをオンにし、[コンテンツ タイプ][Key Vault 参照][JSON (application/json)] を選ぶと、インポートされたコンテンツが Key Vault 参照か JSON ファイルで構成されていることを示します。 コンテンツ タイプは、インポートされたキー値に対してのみオーバーライドできます。 機能フラグの既定のコンテンツ タイプは "application/vnd.microsoft.appconfig.ff+json;charset=utf-8" で、このパラメーターによって更新されることはありません。 JSON (application/json)
  5. [適用] を選択してインポートを続行します。

2021 年 1 月 28 日午前 12 時の App Configuration ストアから "prod" ラベルのキーと値および機能フラグをインポートし、それらにラベル "new" を割り当てました。 インポートしたすべてのキーと値のコンテンツ タイプは "JSON" に設定されています。

Azure App Service からデータをインポートする

Azure App Service からキー値をインポートするには、次の手順に従います。

Note

App Service は現在、機能フラグをサポートしていません。 App Service にインポートされたすべての機能フラグは、自動的にキー値に変換されます。 App Service リソースにはキー値のみを含めることができます。

Azure ポータルで次の手順を実行します。

  1. お使いの App Configuration ストアを参照し、[操作] メニューから [インポート/エクスポート] を選択します。

    Screenshot of the Azure portal, importing from App Service.

  2. [インポート] タブで、[ソース サービス] の下の [App Services] を選びます。

  3. [リソースの選択] を選び、次のパラメーターをフォームに入力して、[適用] を選びます。

    パラメーター 説明
    サブスクリプション 現在のサブスクリプションは既定で選択されています。 my-subscription
    リソース グループ インポートする構成のある App Service が含まれるリソース グループを選びます。 my-resource-group
    リソース インポートする構成が含まれる App Service を選びます。 my-app-service

    Note

    ソース App Service リソースから正常に取得できたキーと値の数を示すメッセージが表示されます。

  4. フォームの次の部分に入力します。

    パラメーター 説明
    Prefix 省略可能。 キー プレフィックスはキーと値の "key" プロパティの先頭部分です。 プレフィックスを使用して、構成ストア内のキーと値のグループを管理できます。 このプレフィックスは、インポートしたそれぞれのキーと値の "key" プロパティの先頭に追加されます。 TestApp:
    ラベル 省略可能。 既存のラベルを選択するか、インポートしたキー値に割り当てる新しいラベルを入力します。 prod
    Content type 省略可能。 インポートするファイルが Key Vault 参照か JSON ファイルかを指定します。 Key Vault 参照の詳細については、「ASP.NET Core アプリで Key Vault 参照を使用する」を参照してください。 JSON (application/json)
  5. [適用] を選択してインポートを続行します。

App Service からすべてのアプリケーション設定をキー値としてインポートし、それらにラベル "prod" とプレフィックス "TestApp" を割り当てました。 インポートしたすべてのキーと値のコンテンツ タイプは "JSON" に設定されています。

データのエクスポート

エクスポートでは、App Configuration に保存されている構成データが別の保存先に書き込まれます。 エクスポート機能は、たとえば、App Configuration ストアのデータを、デプロイ時にお使いのアプリケーション コードに埋め込むことができるファイルに保存する場合に使用します。

このガイドでは、App Configuration データをエクスポートする方法について説明します。

構成ファイルにデータをエクスポートする

アプリ構成ストアから Json、Yaml、またはプロパティ ファイルに構成データをエクスポートするには、次の手順に従います。

Note

App Configuration ストアから構成ファイルへの機能フラグのエクスポートは、現在 CLI でのみサポートされています。

Azure portal から次の手順を実行します。

  1. お使いの App Configuration ストアを参照し、[インポート/エクスポート] を選択します。

    Screenshot of the Azure portal, exporting a file

  2. [エクスポート] タブで、[ターゲット サービス] の下の [構成ファイル] を選択します。

  3. フォームに次のパラメーターを入力します。

    パラメーター 説明
    Prefix 省略可能。 このプレフィックスは、それぞれのキーと値の "key" プロパティから取り除かれます。 キー プレフィックスはキーの先頭部分です。 プレフィックスを使用して、構成ストア内のキーと値のグループを管理できます。 TestApp:
    元のラベル 既存のラベルを選択し、エクスポートを特定のラベルを持つキー値に制限します。 ラベルを選ばない場合、既定では、"ラベルなし" ラベルを持つキー値のみがエクスポートされます。 下記の「注意」を参照。 prod
    特定時刻 省略可能。 特定の時点からのキー値をインポートする場合に入力します。 これは、選択した構成ストア内のキーと値の特定の時点です。 形式: "YYYY-MM-DDThh:mm:ssZ"。 このフィールドは、空のままにすると、既定でキーと値の現在の時点に設定されます。 07/28/2022 12:00:00 AM
    ファイルの種類 Yaml、プロパティ、または Json の中からエクスポートするファイルの種類を選択します。 JSON
    区切り記号 区切りは、キー値を Json/Yaml にフラット化するための区切り記号です。 構成の階層構造がサポートされており、プロパティ ファイルと機能フラグには適用されません。 次のオプションのいずれか 1 つを選びます。.: ;/-_(区切り記号なし) ;

    重要

    "元のラベル" を選択しない場合は、ラベルのないキーと値のみがエクスポートされます。 ラベルを持つキー値をエクスポートするには、そのラベルを選択する必要があります。 ポータルでは 1 回のエクスポートで 1 つのラベルしか選択できないことに注意してください。すべてのラベルを指定してキー値をエクスポートしたい場合は、CLI を使います。

  4. [エクスポート] を選択してエクスポートを完了します。

2021 年 7 月 28 日午前 12:00:00 からの状態で、構成ファイルから "prod" ラベルを持つキー値をエクスポートし、プレフィックス "TestApp" をトリミングしました。 ファイル内で、値は ";" で区切られています。

App Configuration ストアにデータをエクスポートする

Azure App Configuration ストアにキー値と機能フラグをエクスポートするには、次の手順に従います。

1 つの App Configuration ストアから別の App Configuration ストアに値をエクスポートすることや、値を複製して新しいラベルやコンテンツ タイプなどの異なるパラメーターを適用するために、1 つの App Configuration ストアから同じ App Configuration ストアに値をエクスポートすることができます。

Azure portal から次の手順を実行します。

  1. エクスポートしたいデータを含む App Configuration ストアを参照し、[操作] メニューから [インポート/エクスポート] を選びます。

    Screenshot of the Azure portal, exporting from an App Configuration store.

  2. [エクスポート] タブで、[ターゲット サービス] の下の [App Configuration] を選択します。

  3. [リソースの選択] を選び、次のパラメーターをフォームに入力して、[適用] を選びます。

    パラメーター 説明
    サブスクリプション 現在のサブスクリプションは既定で選択されています。 my-subscription
    リソース グループ インポートする構成のある App Configuration ストアが含まれるリソース グループを選びます。 my-resource-group
    リソース インポートする構成が含まれる App Configuration ストアを選びます。 my-app-config-store
  4. 選んだターゲット サービスとリソース ID がページに表示されます。 [リソースの選択] 操作で、他のソース App Configuration ストアに切り替えることができます。

    Note

    画面に、キーと値の取得に成功したことを示すメッセージが表示されます。

  5. フォームの次の部分に入力します。

    パラメーター 説明
    元のラベル 対応するラベルを持つ値をエクスポートするには、少なくとも 1 つのラベルを選びます。 [すべてを選択] にすると、任意のラベルを持つキーと値がエクスポートされ、[(ラベルなし)] はエクスポートの対象をラベルのないキーと値に制限します。 prod
    特定時刻 省略可能。 特定の時点からのキー値をインポートする場合に入力します。 これは、選択した構成ストア内のキーと値の特定の時点です。 形式: "YYYY-MM-DDThh:mm:ssZ"。 このフィールドは、空のままにすると、既定でキーと値の現在の時点に設定されます。 07/28/2022 12:00:00 AM
    既定のキー値ラベルをオーバーライドする 任意。 既定では、インポートされた項目は現在のラベルを使います。 チェック ボックスをオンにし、ラベルを入力して、これらの既定値をカスタム ラベルでオーバーライドします。 new
  6. [適用] を選択してエクスポートを続行します。

2022 年 7 月 28 日午前 12:00:00 からの状態で、App Configuration ストアからラベル "prod" を持つキー値と機能フラグをエクスポートし、それらにラベル "new" を割り当てました。

Azure App Service にデータをエクスポートする

Azure App Service にキー値をエクスポートするには、次の手順に従います。

Note

App Service への機能フラグのエクスポートは、現在サポートされていません。

Azure portal から次の手順を実行します。

  1. お使いの App Configuration ストアを参照し、[操作] メニューから [インポート/エクスポート] を選択します。

    Screenshot of the Azure portal, exporting from App Service.

  2. [エクスポート] タブで、[ターゲット サービス] の下の [App Services] を選びます。

  3. [リソースの選択] を選び、次のパラメーターをフォームに入力して、[適用] を選びます。

    パラメーター 説明
    サブスクリプション 現在のサブスクリプションは既定で選択されています。 my-subscription
    リソース グループ エクスポートする構成のある App Service が含まれるリソース グループを選びます。 my-resource-group
    リソース エクスポートする構成が含まれる App Service を選びます。 my-app-service
  4. 選んだターゲット サービスとリソース ID がページに表示されます。 [リソースの選択] 操作で、他のターゲット App Service リソースに切り替えることができます。

  5. 必要に応じて、フォームの次の部分に入力します。

    パラメーター 説明
    Prefix 省略可能。 このプレフィックスは、エクスポートされたそれぞれのキーと値の "key" プロパティから取り除かれます。 キー プレフィックスはキーの先頭部分です。 プレフィックスを使用して、構成ストア内のキーと値のグループを管理できます。 機能フラグではプレフィックスは無視されます。 TestApp:
    参照としてエクスポート 省略可能。 オンにすると、キーと値が App Configuration の参照として App Service にエクスポートされます。 詳細情報
    特定時刻 省略可能。 特定の時点からキー値をエクスポートする場合に入力します。 これは、選択した構成ストア内のキーと値の特定の時点です。 形式: "YYYY-MM-DDThh:mm:ssZ"。 このフィールドは、空のままにすると、既定でキーと値の現在の時点に設定されます。 07/28/2022 12:00:00 AM
    元のラベル 省略可能。 既存のラベルを選択し、エクスポートを特定のラベルを持つキー値に制限します。 ラベルを選ばない場合、"ラベルなし" ラベルを持つキー値のみがエクスポートされます。 prod
  6. [適用] を選択してエクスポートを続行します。

2021 年 7 月 28 日午前 12:00:00 からの状態で、App Service リソースから "prod" ラベルを持つキー値をエクスポートし、プレフィックス "TestApp" をトリミングしました。 キーと値は、JSON 形式のコンテンツ タイプでエクスポートされています。

キーと値を参照としてエクスポートするチェック ボックスをオンにした場合、エクスポートされたキーと値は、App Service リソース構成設定の [ソース] 列に App Configuration の参照として示されます。

Screenshot of App Service configuration settings. Exported App Configuration reference in App Service(Portal).

エラー メッセージ

App Configuration のキーと値をインポートまたはエクスポートするときに、次のエラー メッセージが表示される場合があります。

  • 選択したファイルは 1 から 2097152 バイトの範囲である必要があります: ファイルが大きすぎます。 より小さいファイルを選びます。
  • ストアでパブリック アクセスが無効になっているか、ストアのプライベート エンドポイント構成にないプライベート エンドポイントからアクセスしています。 App Configuration ストアからキーと値をインポートするには、そのストアへのアクセス権が必要です。 必要に応じて、ソース ストアのパブリック アクセスを有効にするか、承認済みのプライベート エンドポイントからアクセスします。 パブリック アクセスを有効にしたばかりの場合は、キャッシュが更新されるまで最長で 5 分間待ちます。

次のステップ