CloudFront SaaS Manager プロパティのヘルパーメソッド - Amazon CloudFront

CloudFront SaaS Manager プロパティのヘルパーメソッド

CloudFront SaaS Manager の次のヘルパー関数を使用して、作成した関数内のマルチテナントディストリビューションの値を取得します。このページの例を使用するには、まず JavaScript ランタイム 2.0 を使用して CloudFront 関数を作成する必要があります。詳細については、「CloudFront Functions の JavaScript ランタイム 2.0 の機能」。

接続グループ

ディストリビューションテナントに関連付けられている接続グループにはドメイン名があります。

この値を取得するには、イベントオブジェクトの context サブオブジェクトの endpoint フィールドを使用します。

リクエスト

const value = event.context.endpoint;

レスポンス

レスポンスは、d111111abcdef8.cloudfront.net などの接続グループのドメイン名を含む string です。endpoint フィールドは、関連付けられた接続グループを持つマルチテナントディストリビューションに対して関数が呼び出された場合にのみ表示されます。詳細については、「コンテキストオブジェクト」を参照してください。

ディストリビューションテナント

CloudFront Functions には、特定のディストリビューションテナント値へのアクセスを提供するモジュールがあります。

このモジュールを使用するには、関数コードの最初の行に、次のステートメントを含めます。

import cf from 'cloudfront';

次の例は、直接またはネストされた呼び出し関数を介して、handler 関数でのみ使用できます。

distributionTenant.id フィールド

このフィールドを使用して、ディストリビューションテナント ID の値を取得します。

リクエスト

const value = cf.distributionTenant.id;

レスポンス

レスポンスは、dt_1a2b3c4d5e6f7 などのディストリビューションテナント ID を含む string です。

エラー処理

関数が標準ディストリビューションに対して呼び出された場合、distributionTenant.id フィールドを指定すると distributionTenant module is not available 型エラーが返されます。このユースケースを処理するには、コードに try および catch ブロックを追加できます。

distributionTenant.parameters.get() 方法

このメソッドを使用して、指定したディストリビューションテナントパラメータ名の値を返します。

distributionTenant.parameters.get("key");

key: 値を取得するディストリビューションテナントパラメータ名。

[リクエスト]

const value = distributionTenant.parameters.get("key");

レスポンス

レスポンスは、ディストリビューションテナントパラメータの値を含む string です。例えば、キー名が TenantPath の場合、このパラメータの値は tenant1 になります。

エラー処理

次のエラーが表示される場合があります。

  • 関数が標準ディストリビューションに対して呼び出された場合、distributionTenant.parameters.get() メソッドは distributionTenant module is not available 型エラーを返します。

  • 指定したディストリビューションテナントパラメータが存在しない場合は、DistributionTenantParameterKeyNotFound エラーが返されます。

これらのユースケースを管理するには、コードに try および catch ブロックを追加できます。