翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
関数のテスト
CloudFront 関数をライブステージ (本番環境) にデプロイする前に、関数をテストして、意図したとおりに動作することを確認できます。関数をテストするには、 CloudFront ディストリビューションが本番環境で受信できる HTTP リクエストまたはレスポンスを表すイベントオブジェクトを指定します。 CloudFront Functions は以下を実行します。
-
指定されたイベントオブジェクトを入力として使用して、関数を実行します。
-
関数の結果 (変更されたイベントオブジェクト) を、関数ログまたはエラーメッセージ、および関数のコンピューティング使用率とともに返します。コンピューティング使用率の詳細については、「コンピューティング使用率について」を参照してください。
イベントオブジェクトをセットアップする
関数をテストする前に、テストに使用するイベントオブジェクトをセットアップする必要があります。これには複数のオプションがあります。
- オプション 1: イベントオブジェクトを保存せずにセットアップする
-
コンソールのビジュアルエディタ CloudFrontでイベントオブジェクトを設定し、保存することはできません。
このイベントオブジェクトを使用して、保存されていない場合でも、コンソールから関数を CloudFrontテストできます。
- オプション 2: ビジュアルエディターでイベントオブジェクトを作成する
-
コンソールのビジュアルエディタ CloudFrontでイベントオブジェクトを設定し、保存することはできません。関数ごとに 10 個のイベントオブジェクトを作成して、例えば、考えられるさまざまな入力をテストできます。
この方法でイベントオブジェクトを作成すると、イベントオブジェクトを使用して CloudFront コンソールで関数をテストできます。AWS API や SDK を使用して関数をテストする場合には使用できません。
- オプション 3: テキストエディターを使用してイベントオブジェクトを作成する
-
テキストエディターを使用して、イベントオブジェクトを JSON 形式で作成できます。イベントオブジェクトの構造については、「イベントの構造」を参照してください。
このイベントオブジェクトを使用して、CLI で関数をテストできます。ただし、コンソールで CloudFront関数をテストするために使用することはできません。
オプション 1 または 2 を使用して作成するには
-
CloudFront コンソールで関数ページを表示し、テストする関数を選択します。
-
関数の詳細ページで、[テスト] タブを選択します。[関数をテスト] セクションには、[JSON を編集] と [関数のテスト] を含むボタンが表示されます。
-
[イベントタイプ] を入力する:
-
関数が HTTP リクエストを変更したり、リクエストに基づいてレスポンスを生成する場合は、[ビューワーリクエスト] を選択します。既に表示されている [リクエスト] セクションがこのタイプに適用されます。
-
または [ビューアーレスポンス] を選択します。既に表示されている [リクエスト] セクションがこのタイプに適用されます。さらに、[レスポンス] セクションが表示されます。
-
-
イベントに含めるすべてのフィールドを入力します。作業中に [JSON を編集] を選択すると、未加工の JSON を表示できます。
-
必要に応じてイベントを保存します。
JSON の編集 を選択して raw JSON をコピーし、 の外部にある独自のファイルに保存することもできます CloudFront。
オプション 3 を使用して作成するには
テキストエディタを使用してイベントオブジェクトを作成します。このファイルは、コンピューターが接続できるディレクトリに保存します。
必ず以下のガイドラインに従ってください。
-
distributionDomainName
、distributionId
、requestId
の各フィールドは省略します。 -
ヘッダー、Cookie、クエリ文字列の名前は必ず小文字にしてください。
この方法でイベントオブジェクトを作成する方法の 1 つは、ビジュアルエディターを使用してサンプルを作成することです。サンプルが正しいフォーマットになっていることを確認できます。そして、未加工の JSON をコピーし、テキストエディターに貼り付け、ファイルを保存することができます。
イベントの構造の詳細については、「イベントの構造」を参照してください。
関数をテストする
CloudFront コンソールまたは を使用して関数をテストできますAWS CLI。
注記:
-
FunctionExecutionLogs
には、関数がconsole.log()
ステートメントに書き込んだ (該当する場合) ログ行のリストが含まれます。 -
ComputeUtilization
。「コンピューティング使用率について」を参照してください。 -
FunctionOutput
には、関数が返したイベントオブジェクトが含まれます。
コンピューティング使用率について
コンピューティング使用率は、関数の実行にかかった時間 (最大許容時間に対するパーセンテージ) です。たとえば、値 35 は、関数が最大許容時間の 35% で完了したことを意味します。
関数が最大許容時間を継続的に超えると、 は関数を CloudFront スロットリングします。次のリストは、コンピューティング使用率の値に基づいて関数がスロットリングされる可能性を説明しています。
コンピューティング使用率値:
-
1~50 — 関数は最大許容時間を十分に下回っており、スロットリングなしで実行する必要があります。
-
51~70 — 関数が最大許容時間に近づいています。関数コードの最適化を検討してください。
-
71~100 – 関数が最大許容時間に非常に近いか、それを超えています。ディストリビューションに関連付けると、この関数がスロットリング CloudFront される可能性があります。