次の方法で共有


スナップショットの管理と使用

この記事では、Azure App Configuration でスナップショットを作成、使用、管理する方法について説明します。 スナップショットは、不変の状態で保存される一連の App Configuration 設定です。

前提条件

Key-Value を App Configuration ストアに追加する

App Configuration ストアで、[操作]>[構成エクスプローラー] に移動し、次の Key-Value を追加します。 コンテンツ タイプは既定値のままにします。 Azure portal または CLI を使用してストアにキーと値を追加する方法の詳細については、キーと値の作成に関する記事を参照してください。

キー Label
app2/bgcolor 薄い灰色 label2
app1/color Black ラベルなし
app1/color label1
app1/color label2
app1/color label3
app1/message Hello label1
app1/message こんにちは。 label2
app2/message おはようございます! label1

スナップショットの作成

[操作]>[スナップショット][新しいスナップショットの作成] を選択します。

  1. スナップショット名を入力し、必要に応じてタグも追加します。

  2. [合成タイプの選択] では、既定値 [キー (既定値)] のままにします。

    • キー合成タイプでは、ストアに異なるラベルを持つ同一のキーがある場合、最後に適用可能なフィルターで指定されたキーと値のみがスナップショットに含まれます。 他のラベルと同じ Key-Value はスナップショットから除外されます。
    • Key-Label の合成タイプでは、ストアに異なるラベルを持つ同一のキーがある場合、指定されたフィルターに応じて、キーは同じだがラベルが異なるすべての Key-Value がスナップショットに含まれます。
  3. [フィルターの追加] を選択して、スナップショットの Key-Value を選択します。 フィルター処理は、キーとラベルに対して次のフィルターを選択することによって行われます: [Equals][Starts with][Any of][All]。 1 ~ 3 つのフィルターを入力できます。

    1. 最初のフィルターを追加します。
      • [キー][Starts with] を選択し、「app1」と入力します
      • [ラベル][Equals] を選択し、ドロップダウン メニューから [label2] を選択します。
    2. 2 番目のフィルターを追加します。
      • [キー][Starts with] を選択し、「app1」と入力します
      • [ラベル][Equals] を選択し、ドロップダウン メニューから [label1] を選択します。
  4. スナップショットをアーカイブすると、既定では、アーカイブ後 30 日間保持されます。 必要に応じて、[回復オプション] で、アーカイブ後にスナップショットを使用できる保持日数を減らします。

    Note

    スナップショットが作成されると、保持期間は更新できません。

  5. [作成] を選択してスナップショットを生成します。 この例では、作成されたスナップショットにはキー合成タイプと以下のフィルターがあります。

    • app1 で始まり、label2 ラベルが付いたキー
    • app1 で始まり、label1 ラベルが付いたキー。

    Screenshot of the Create form with data filled as above steps and Create button highlighted.

  6. テーブルを確認して、指定されたパラメーターに基づいて、構成ストアのどの Key-Value がスナップショットに含まれるかを理解します。

    Key Label スナップショットに含まれる
    app2/bgcolor 薄い灰色 label2 いいえ: app1 で始まりません。
    app1/color Black ラベルなし いいえ: ラベル label2 または label1 がありません。
    app1/color label1 はい: 該当するフィルターの最後から正しいラベル label1 があります。
    app1/color label2 いいえ: 2 番目のフィルターで選択されたラベル label1 と同じキーは、選択されたラベル label2 を持っていますが、このキーをオーバーライドします。
    app1/color label3 いいえ: ラベル label2 または label1 がありません。
    app1/message Hello label1 はい: 該当するフィルターの最後から正しいラベル label1 があります。
    app1/message こんにちは。 label2 いいえ: 2 番目のフィルターで選択されたラベル label1 と同じキーは、選択されたラベル label2 を持っていますが、このキーをオーバーライドします。
    app2/message おはようございます! label1 いいえ: app1 で始まりません。

サンプル スナップショットを作成する

サンプル スナップショットを作成し、スナップショット機能がどのように動作するかを確認するには、スナップショット サンドボックスを使用します。 このサンドボックスには、スナップショットの合成タイプとフィルターがどのように機能するかをより深く理解するために使用できるサンプル データが含まれています。

  1. [操作]>[スナップショット]>[アクティブなスナップショット] で、[サンドボックスでテスト] を選択します。
  2. サンプル データを確認し、合成タイプと 1 つ以上のフィルターをフォームに入力してスナップショットの作成を練習します。
  3. [作成] を選択してサンプル スナップショットを生成します。
  4. [生成されたサンプル スナップショット] で生成されたスナップショットの結果を確認します。 サンプル スナップショットには、選択に応じて、サンプル スナップショットに含まれるすべてのキーが表示されます。

スナップショットを使う

アプリケーションの構成には、任意の数のスナップショットを選ぶことができます。 スナップショットを選ぶと、そのキー値がすべて追加されます。 構成に追加されると、スナップショットのキー値は他のキー値と同じように扱われます。

Azure App Configuration を使ったアプリケーションがある場合は、次のサンプル コードで、スナップショットを使うようにそれを更新することができます。 指定する必要があるのはスナップショットの名前のみです。この名前では、大文字と小文字を区別します。

AddAzureAppConfiguration メソッドの呼び出しを編集します。これは、アプリケーションの Program.cs ファイルでよく見られます。 アプリケーションがない場合は、Azure App Configuration を使った ASP.NET コア アプリの作成など、.NET クイックスタート ガイドのいずれかを参照できます。

構成にスナップショットを追加する

configurationBuilder.AddAzureAppConfiguration(options =>
{
    options.Connect(Environment.GetEnvironmentVariable("ConnectionString"));

    // Select an existing snapshot by name. This will add all of the key-values from the snapshot to this application's configuration.
    options.SelectSnapshot("SnapshotName");
    
    // Other changes to options
});

Note

スナップショットのサポートは、次のいずれかのパッケージのバージョン 7.0.0 以降を使用している場合に利用できます。

  • Microsoft.Extensions.Configuration.AzureAppConfiguration
  • Microsoft.Azure.AppConfiguration.AspNetCore
  • Microsoft.Azure.AppConfiguration.Functions.Worker

Note

上記のコード サンプルを使用して、合成の種類 Key で作成されたスナップショットのみを読み込むことができます。

アクティブなスナップショットを管理する

[操作]>[スナップショット] ページの下には、[アクティブなスナップショット][アーカイブされたスナップショット] の 2 つのタブが表示されます。 [アクティブなスナップショット] を選択して、App Configuration ストア内のすべてのアクティブなスナップショットのリストを表示します。

Screenshot of the list of active snapshots.

既存のスナップショットを表示する

[アクティブなスナップショット] タブで、既存のスナップショットの右側にある省略記号 ... を選択し、[表示] を選択してスナップショットを表示します。 この操作により、スナップショットの設定とスナップショットに含まれる Key-Value が表示されるスナップショットの詳細ページが開きます。

Screenshot of the detailed view of an active snapshot.

スナップショットをアーカイブする

[アーカイブされたスナップショット] タブで、既存のスナップショットの右側にある省略記号 ... を選択し、[アーカイブ] を選択してスナップショットをアーカイブします。 [はい] を選択してアーカイブを確認するか、[いいえ] でキャンセルします。 スナップショットがアーカイブされると、操作を確認する通知が表示され、アクティブなスナップショットのリストが更新されます。

Screenshot of the archive option in the active snapshots.

アーカイブされたスナップショットを管理する

[操作]>[スナップショット]>[アーカイブされたスナップショット] に移動して、App Configuration ストア内のすべてのアーカイブされたスナップショットのリストを表示します。 アーカイブされたスナップショットは、作成時に選択した保存期間中は引き続きアクセスできます。

Screenshot of the list of archived snapshots.

アーカイブされたスナップショットを表示する

スナップショットの詳細ビューは、アーカイブ状態でも利用できます。 [アーカイブされたスナップショット] タブで、既存のスナップショットの右側にある省略記号 ... を選択し、[表示] を選択してスナップショットを表示します。 この操作により、スナップショットの設定とスナップショットに含まれる Key-Value が表示されるスナップショットの詳細ページが開きます。

Screenshot of the detailed view of an archived snapshot.

アーカイブされたスナップショットを回復する

[アーカイブされたスナップショット] タブで、アーカイブされたスナップショットの右側にある省略記号 ... を選択し、[回復] を選択してスナップショットを回復します。 スナップショットが回復されると、操作を確認する通知が表示され、アーカイブされたスナップショットのリストが更新されます。

Screenshot of the recover option in the archived snapshots.

次のステップ