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
ブロックを追加できます。