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;

响应

响应是一个包含连接组域名的 string,例如 d111111abcdef8.cloudfront.net。endpoint 字段仅在针对具有关联连接组的多租户分配调用您的函数时才会出现。有关更多信息,请参阅 Context 对象

分配租户

CloudFront Functions 有一个模块,该模块提供对特定分配租户值的访问权限。

要使用此模块,请在函数代码的第一行中包含以下语句:

import cf from 'cloudfront';

您只能在 handler 函数中使用以下示例,可以直接使用,也可以通过任何嵌套调用函数来使用。

distributionTenant.id 字段

使用此字段可获取分配租户 ID 的值。

请求

const value = cf.distributionTenant.id;

响应

响应是包含分配租户 ID 的 string,例如 dt_1a2b3c4d5e6f7

错误处理

如果针对标准分配调用您的函数,则指定 distributionTenant.id 字段将返回 distributionTenant module is not available 类型错误。要处理此用例,您可以向代码中添加 trycatch 块。

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 错误。

要管理这些用例,您可以向代码中添加 trycatch 块。