次の方法で共有


キーと値

Azure App Configuration では、構成データがキー値として格納されます。 キー値は、開発者が使用するアプリケーション設定の単純で柔軟な表現です。

キー

キーはキー値の識別子として機能し、対応する値を格納および取得するために使用されます。 区切り記号 (/: など) を使用して、階層型名前空間にキーを整理するのが一般的です。 アプリケーションに最適な規則を使用します。 App Configuration では、キーが全体として扱われます。 キーを解析して名前がどのように構造化されているかを把握したり、規則を適用したりすることはありません。

コンポーネント サービスに基づいて階層的に構造化されたキー名の例を次に示します。

    AppName:Service1:ApiEndpoint
    AppName:Service2:ApiEndpoint

キー値に対する具体的な名前付けスキームは、アプリケーション フレームワークにおける構成データの使われ方で決まる場合があります。 たとえば、Java の Spring Cloud フレームワークでは、Spring アプリケーションの設定を指定する Environment リソースを定義します。 これらのリソースは、"アプリケーション名" と "プロファイル" が含まれている変数によってパラメーター化されます。 通常、Spring Cloud に関連した構成データのキーは、区切り記号でつながれた、この 2 つの要素で始まります。

App Configuration に格納されるキーは Unicode ベースの文字列で、大文字と小文字が区別されます。 app1App1 のキーは、App Configuration ストアでは異なります。 アプリケーション内で構成設定を使用する際は、この点に留意してください。一部のフレームワークでは、構成キーの大文字と小文字が区別されないためです。 大文字と小文字の区別を使用してキーを識別することはお勧めしません。

キー名には、 %を除く任意の Unicode 文字を使用できます。 キー名を . または .. することはできません。 キーと値の合計サイズ制限は 10 KB です。 この制限には、キー内のすべての文字、その値、および関連付けられているすべての省略可能な属性が含まれます。 この制限内では、キーの階層レベルを多数設定できます。

キー名前空間を設計する

構成データには、キーに名前を付ける 2 つの一般的な方法 (フラットまたは階層) が使用されます。 アプリケーションの使用法の観点からは、これらの方法は似ていますが、階層的な名前付けには多くの利点があります。

  • 読みやすくなりました。 階層キー名の区切り記号は、文内のスペースとして機能します。 また、単語間の自然な区切りも提供します。
  • 管理が簡単です。 キー名階層は、構成データの論理グループを表します。
  • 使いやすくなりました。 階層構造内のキーをパターン一致させ、構成データの一部のみを取得するクエリを記述する方が簡単です。 また、多くの新しいプログラミング フレームワークでは、アプリケーションで特定の構成セットを使用できるように、階層構造の構成データがネイティブにサポートされています。

App Configuration のキーは、さまざまな方法で階層的に整理できます。 このようなキーは URI と考えてください。 各階層キーは、区切り記号で結合された 1 つ以上のコンポーネントで構成されるリソース パス です。 アプリケーション、プログラミング言語、またはフレームワークに必要な内容に基づいて、区切り記号として使用する文字を選択します。 App Configuration では、異なるキーに複数の区切り記号を使用します。

ラベルのキー

App Configuration のキー/値には、必要に応じてラベル属性を割り当てることができます。 ラベルは、同じキーを持つ複数のキー/値を区別する目的で使用されます。 A B ラベルを持つ app1 キーは、App Configuration ストア内の 2 つの独立したキーを形成します。 既定では、キー値にはラベルがありません。 ラベルがないキー値を明示的に参照する場合は、\0 (URL エンコード: %00) を使用してください。

ラベルは、キーのバリアントを作成する便利な方法を提供します。 ラベルの一般的な用途は、同じキーに複数の環境を指定することです。

    Key = AppName:DbEndpoint & Label = Test
    Key = AppName:DbEndpoint & Label = Staging
    Key = AppName:DbEndpoint & Label = Production

バージョンのキー値

キー値の複数のバージョンを作成する方法としてラベルを使用します。 たとえば、アプリケーションのバージョン番号または Git コミット ID をラベルに入力して、特定のソフトウェア ビルドに関連付けられているキー値を識別できます。

変更バージョンを探している場合、App Configuration では、過去の一定期間に発生したすべてのキー値の変更が自動的に保持されます。 詳細については、 特定の時点のスナップショットを参照してください。

キー値のクエリ

それぞれのキー/値は、対応するキーとラベル (\0 の場合もあり) によって一意に識別されます。 パターンを指定してキーと値をクエリするために、App Configuration ストアにアクセスします。 App Configuration ストアからは、対応する値と属性を含む、そのパターンに一致するすべてのキー値が返されます。 App Configuration への REST API 呼び出しでは、次の主要なパターンを使用します。

説明
key を省略するか、または key=* すべてのキーに一致します。
key=abc キー名 abc 正確に一致します。
key=abc* abcで始まるキー名と一致します。
key=abc,xyz キー名 abc または xyzと一致します。 CSV は 5 つまでに制限されます。

次のラベル パターンを含めることもできます。

ラベル 説明
label を省略するか、または label=* \0を含む任意のラベルと一致します。
label=%00 \0 ラベルに一致しています。
label=1.0.0 ラベル 1.0.0 正確に一致します。
label=1.0.* 1.0.で始まるラベルと一致します。
label=%00,1.0.0 ラベル \0 または 1.0.0 に一致し、CSV は 5 つに制限されます。

*,、および \ は、クエリの予約文字です。 予約文字がキー名またはラベルで使用されている場合は、クエリで \{Reserved Character} を使用してエスケープする必要があります。

価値観

キーに割り当てられる値も Unicode 文字列です。 値には、すべての Unicode 文字を使用できます。

コンテンツ タイプを使用する

App Configuration の各キー値には、コンテンツ タイプ属性があります。 必要に応じて、この属性を使用して、値の種類に関する情報を、アプリケーションが適切に処理するのに役立つキー値に格納できます。 コンテンツ タイプには任意の形式を使用できます。 App Configuration では、機能フラグ、Key Vault 参照、JSON キー値などの組み込みデータ型に メディア の種類 (MIME の種類とも呼ばれます) が使用されます。

次のステップ