终止支持通知: AWS 将于 2026 年 10 月 30 日终止对亚马逊 Pinpoint 的支持。2026 年 10 月 30 日之后,您将不再能够访问 Amazon Pinpoint 控制台或 Amazon Pinpoint 资源(端点、分段、活动、旅程和分析)。有关更多信息,请参阅 Amazon Pinpoint 终止支持。注意: APIs 与短信相关、语音、移动推送、OTP 和电话号码验证不受此更改的影响,并受 AWS 最终用户消息的支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
分配 Lambda 函数策略以授权 Amazon Pinpoint 处理建议数据
您必须先授权 Amazon Pinpoint 调用 Lambda 函数,然后才能使用该函数处理建议数据。要授予调用权限,请为该函数分配 Lambda 函数策略。Lambda 函数策略 是一个基于资源的权限策略,它指定哪些实体可以使用函数以及这些实体可以执行哪些操作。有关更多信息,请参阅《AWS Lambda 开发人员指南》中的将基于资源的策略用于 AWS Lambda。
以下示例策略允许 Amazon Pinpoint 服务主体将 lambda:InvokeFunction 操作用于特定 Amazon Pinpoint 项目 (projectId) 中的特定 Amazon Pinpoint 活动 (campaignId):
{ "Sid": "sid", "Effect": "Allow", "Principal": { "Service": "pinpoint.us-east-1.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "{arn:aws:lambda:us-east-1:accountId:function:function-name}", "Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*" } } }
该函数策略需要使用一个包含 Condition 键的 AWS:SourceArn 块。该键指定允许哪个资源调用函数。在前面的示例中,该策略允许一个特定活动调用函数。
您还可以编写一个策略,以允许 Amazon Pinpoint 服务主体将 lambda:InvokeFunction 操作用于特定 Amazon Pinpoint 项目 (projectId) 中的所有活动和旅程。以下示例策略说明了这一点:
{ "Sid": "sid", "Effect": "Allow", "Principal": { "Service": "pinpoint.us-east-1.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "{arn:aws:lambda:us-east-1:accountId:function:function-name}", "Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*" } } }
与第一个示例不同,该示例的 AWS:SourceArn 块中的 Condition 键允许一个特定项目调用函数。该权限适用于项目中的所有活动和旅程。
要编写更通用的策略,您可以使用多字符匹配通配符 (*)。例如,您可以使用以下 Condition 块以允许任何 Amazon Pinpoint 项目调用函数:
"Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*" } }
如果要将 Lambda 函数与您的 Amazon Pinpoint 账户的所有项目一起使用,我们建议您按前面的方式配置策略的 Condition 块。不过,作为最佳实践,您创建的策略只应包含对特定资源执行特定操作所需的权限。