コントロールパネル経由で Edge Dictionary を作成・編集する

Edge Dictionary では、設定サービスバージョンに付加する必要のないロジックを作成することができます。Edge Dictionary は、ディクショナリコンテナとディクショナリ項目で構成されています。ディクショナリ項目を使用して、キーと値のペアを作成し保存することができます。ディクショナリコンテナをサービスバージョンに付加することで、頻繁に繰り返されるステートメントを、定数として機能する単一の関数ステートメントに変えることができます。

ディクショナリを表示する

ディクショナリをどのように作成したかによって異なりますが、VCL スニペットまたは Data リンクで確認できます。

VCL スニペットで作成したディクショナリを表示する

VCL Snippets リンクでディクショナリを表示するには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. VCL Snippets のリンクをクリックします。現在選択されているサービスバージョンに関連するスニペットのタイトルが表示されます。
  5. ディクショナリの内容を表示するには、View source ボタンをクリックします。

コントロールパネルで作成したディクショナリを表示する

コントロールパネル経由でディクショナリを表示するには、ご利用のサービスのディクショナリ管理エリアに移動します。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Data の下にある Dictionaries リンクをクリックします。現在選択されているサービスバージョンに関連する既存のディクショナリがある場合は、そのディクショナリが表示されます。

ディクショナリの作成

VCL スニペットを使用するか、またはコントロールパネル経由でディクショナリを作成することができます。

VCL スニペットを使用してディクショナリを作成する

VCL スニペットを使用してディクショナリを作成するには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. VCL snippets のリンクをクリックします。VCL Snippets ページが表示されます。
  5. Create snippet をクリックします。VCL snippet ページが表示されます。

    VCL スニペットで作成したディクショナリコンテナの例

  6. Name フィールドに適切な名前を入力します (例:Example Dictionary)。
  7. Type (placement of the snippet) から、init を選択します。
  8. VCL フィールドではテーブルを作成し、キーと値のペアを追加します。例えば、ある URL を別のパスにリダイレクトするテーブルを作成したいとします。

    1
    2
    3
    4
    
    table redirects {
      "/source1": "/dest1",
      "/source2": "/dest2"
    }
    

    テーブルは、コードで参照できるキーと値のペアのセットです。このテーブルの中身を別のキーと値のペアに置き換えることができます。

  9. Create をクリックすると、スニペットが作成されます。

コントロールパネル経由でディクショナリを作成する

コントロールパネル経由でディクショナリを作成するには、ディクショナリコンテナを作成し、その中に入る項目を作成する必要があります。

ディクショナリコンテナの作成

まず、以下の手順に従ってディクショナリコンテナを作成します。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Data の下にある Dictionaries リンクをクリックします。Dictionaries ページが表示されます。
  5. Create a dictionary をクリックします。ディクショナリコンテナ名のフィールドが表示されます。
  6. Name of dictionary フィールドに、ディクショナリの分かりやすい名前を入力します (例:Example Dictionary)。
  7. Add ボタンをクリックします。作成した空のディクショナリコンテナが表示されます。
  8. Activate ボタンをクリックすると、編集中のサービスバージョンに設定変更が反映されます。

ディクショナリ項目の作成

ディクショナリコンテナを作成した後、それに項目を追加します。

  1. Add item をクリックします。ディクショナリ項目のフィールドが表示されます。
  2. Key フィールドには、データの一部の項目を表す一意の識別子を入力します (例:example.com)。
  3. Value フィールドには、一意の識別子に関連する値を入力します (例:yes)。
  4. Add ボタンをクリックします。キーと値のペアがディクショナリコンテナに表示されます。追加された項目は直ちに有効となります。

    Fastly コントロールパネルに表示された、1つのディクショナリ項目を持つディクショナリコンテナの例

ディクショナリを使用する

ディクショナリを作成したら、すぐに使用を開始できます。

VCL スニペットでディクショナリを使用する

VCL スニペットでディクショナリを使用するには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. VCL snippets のリンクをクリックします。VCL Snippets ページが表示されます。
  5. Create snippet をクリックします。VCL snippet ページが表示されます。

    サブルーチン付きのディクショナリコンテナの例

  6. Name フィールドに適切な名前を入力します (例:URL redirect)。
  7. Type (placement of the snippet) のセクションで、within subroutine を選択します。
  8. Select subroutine メニューから、recv (vcl_recv) を選択します。
  9. VCL フィールドには、VCL スニペットを使用してディクショナリを作成した際に作ったテーブルを使用する条件を追加します。例えば、URL の宛先を書き換える必要がある場合、以下のようになります。

    1
    2
    3
    
    if (table.lookup(redirects, req.url)) {
      set req.url = table.lookup(redirects, req.url);
    }
    

    table.lookupここでは、ディクショナリで必要なコンテンツをチェックします。最初のパラメーターは検索対象のテーブル、2番目のパラメーターは検索対象のキーです。キーが2番目のパラメーターと完全に一致する場合は、その値が返されます。ディクショナリ検索では regex は機能しないのでご注意ください。

  10. Create をクリックすると、スニペットが作成されます。
  11. Activate ボタンをクリックして設定変更をデプロイします。

コントロールパネル経由でディクショナリを使用する

コントロールパネルでディクショナリを使用するには、ヘッダーを作成して追加する必要があります。以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Content をクリックします。Content ページが表示されます。
  5. Create header ボタンをクリックします。 Create a header ウィンドウが表示されます。

    コントロールパネルを使ったディクショナリの使用

  6. 以下の要領で Create a header ページの各フィールドに入力します。
    • Name フィールドに、ヘッダールールの名前を入力します (例:Redirect lookup)。
    • Type メニューから Request を選択し、Action メニューから Set を選択します。
    • Destination フィールドに、選択したアクションの影響を受けるヘッダーの名前を入力します (例:url)。
    • Source フィールドには、ヘッダーのコンテンツを取得する場所を入力します (例:table.lookup(redirects, req.url))。
    • Ignore if set メニューから No を選択します。
    • Priority フィールドはそのままにしておきます。
  7. Create ボタンをクリックすると、ヘッダーが作成されます。Content ページに新しいヘッダーが表示されます。

ディクショナリを使用する条件の指定

ヘッダーを作成したら、条件を作成して、ディクショナリを使用する条件を指定できます。

  1. 作成した新規ヘッダーの横にある Attach a condition をクリックします。Add a condition のメッセージが表示されます。
  2. Create a new request condition ボタンをクリックします。Create a new condition ページが表示されます。

    ディクショナリに条件を追加する

  3. Name フィールドに条件の名前を入力します (例:My dictionary condition)。
  4. Apply if フィールドに条件を入力します (例:table.lookup(redirects, req.url))。
  5. Save and apply to ボタンをクリックします。
  6. Activate ボタンをクリックして設定変更をデプロイします。

ディクショナリの編集

ディクショナリは、その制約を考慮しながら、VCL スニペットを使用して、またはディクショナリコンテナを介して編集することができ、その中の項目はコントロールパネルを介して編集することができます。

VCL スニペットを使用してディクショナリを編集する

ロックされていない任意のサービスバージョンで、ディクショナリの名前と、VCL スニペットを使用して作成された条件を編集することができます。

  1. ご利用のサービスのロックされていないバージョンに関連するディクショナリを検索します。
  2. ディクショナリの横にある鉛筆のアイコンをクリックします。これで、名前や条件を変更できます。
  3. 変更が完了したら、Update ボタンをクリックします。
  4. Activate ボタンをクリックすると、編集したバージョンが有効になり、VCL の変更内容が表示されます。

コントロールパネル経由でディクショナリコンテナを編集する

ロックされていない任意のサービスバージョンで、コントロールパネルを介して作成されたディクショナリコンテナの名前を編集できます。

  1. ご利用のサービスのロックされていないバージョンに関連するディクショナリを検索します。
  2. ディクショナリコンテナの名前の横にある鉛筆アイコンをクリックします。
  3. 名前を変更して、Save ボタンをクリックします。

ディクショナリ項目の編集

コンテナ内のディクショナリ項目は、いつでも編集することができます。コントロールパネルで作成したディクショナリコンテナのキーと値のペアを編集するには、以下の指示に従ってください。

  1. キーと値のペアが表示される、サービスに関連付けられているディクショナリを探します。ディクショナリ項目はバージョン管理されていないため、選択したサービスのバージョンは関係ありません。お客様にとって最も合理的なものをお選びください。
  2. ディクショナリ項目にカーソルを合わせて、表示される鉛筆のアイコンをクリックします。
  3. 必要に応じてキーや値を編集します。
  4. Save ボタンをクリックします。変更した内容は、すぐに設定に反映されます。ディクショナリコンテナがすでに有効化されているサービスバージョンと関連付けられている場合、それらの変更は直ちに本番環境に反映されます。

ディクショナリの削除

ディクショナリの制約事項を考慮しながら、VCL スニペットやディクショナリコンテナを使用してディクショナリを削除したり、ディクショナリ内の項目をコントロールパネルで削除することができます。

VCL スニペットを使用してディクショナリを削除する

以下の手順に従って VCL スニペットを使用してディクショナリを削除することができます。

  1. ご利用のサービスのロックされていないバージョンに関連するディクショナリを検索します。
  2. スニペットの右上にあるゴミ箱のアイコンをクリックします。
  3. Confirm and delete ボタンをクリックします。
  4. Activate ボタンをクリックすると、編集中のサービスバージョンに設定変更が反映されます。

コントロールパネル経由でディクショナリコンテナを削除する

ロックされていない任意のサービスバージョンで、コントロールパネルを介して作成されたディクショナリコンテナを削除することができます。

  1. ご利用のサービスのロックされていないバージョンに関連するディクショナリを検索します。
  2. ディクショナリの右上にあるゴミ箱のアイコンをクリックします。
  3. Confirm and delete ボタンをクリックします。
  4. Activate ボタンをクリックすると、編集中のサービスバージョンに設定変更が反映されます。

ディクショナリ項目の削除

コンテナ内のディクショナリ項目は、いつでも削除することができます。コントロールパネルで作成したディクショナリコンテナに含まれるキーと値のペアを削除するには、以下の指示に従ってください。

  1. キーと値のペアが表示される、サービスに関連付けられているディクショナリを探します。ディクショナリ項目はバージョン管理されていないため、選択したサービスのバージョンは関係ありません。お客様にとって最も合理的なものをお選びください。
  2. ディクショナリの項目にカーソルを合わせて、表示されるゴミ箱アイコンをクリックします。 
  3. Confirm and delete ボタンをクリックします。
Back to Top