终止支持通知: AWS 将于 2026 年 10 月 30 日终止对亚马逊 Pinpoint 的支持。2026 年 10 月 30 日之后,您将不再能够访问 Amazon Pinpoint 控制台或 Amazon Pinpoint 资源(端点、分段、活动、旅程和分析)。有关更多信息,请参阅 Amazon Pinpoint 终止支持。注意: APIs 与短信相关、语音、移动推送、OTP 和电话号码验证不受此更改的影响,并受 AWS 最终用户消息的支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
授予 Amazon Pinpoint 权限以调用 Lambda 函数
您可以使用 AWS Command Line Interface (AWS CLI) 向分配给您的 Lambda 函数的 Lambda 函数策略添加权限。要允许 Amazon Pinpoint 调用某个函数,请使用 Lambda add-permission 命令,如以下示例所示:
aws lambda add-permission \--function-namemyFunction\--statement-id sid0 \--action lambda:InvokeFunction \--principal pinpoint.us-east-1.amazonaws.com \--source-arn arn:aws:mobiletargeting:us-east-1:111122223333:apps/*--source-account111122223333
在上述命令中,执行以下操作:
-
myFunction替换为 Lambda 函数的名称。 -
替换
us-east-1为您使用亚马逊 Pinpoint 的 AWS 区域。 -
将
111122223333替换为您的 AWS 账户 ID。
运行 add-permission 命令时,Lambda 将返回以下输出:
{ "Statement": "{\"Sid\":\"sid\", \"Effect\":\"Allow\", \"Principal\":{\"Service\":\"pinpoint.us-east-1.amazonaws.com\"}, \"Action\":\"lambda:InvokeFunction\", \"Resource\":\"arn:aws:lambda:us-east-1:111122223333:function:myFunction\", \"Condition\": {\"ArnLike\": {\"AWS:SourceArn\": \"arn:aws:mobiletargeting:us-east-1:111122223333:apps/*\"}}, {\"StringEquals\": {\"AWS:SourceAccount\": \"111122223333\"}}} }
Statement 值是已添加到 Lambda 函数策略的语句的 JSON 字符串版本。
进一步限制执行策略
您可以通过将执行策略限制为特定 Amazon Pinpoint 项目来修改执行策略。为此,请将上述示例中的 * 替换为项目的唯一 ID。您可以通过将策略限制为特定活动来进一步限制策略。例如,要将策略限制为在项目 ID 为 dbaf6ec2226f0a9a8615e3ea5example 的项目中仅允许活动 ID 为 95fee4cd1d7f5cd67987c1436example 的活动,请对 source-arn 属性使用以下值:
arn:aws:mobiletargeting:us-east-1:111122223333:apps/dbaf6ec2226f0a9a8615e3ea5example/campaigns/95fee4cd1d7f5cd67987c1436example
注意
如果您确实将 Lambda 函数的执行限制为特定活动,则首先必须使用限制性较低的策略创建函数。接下来,您必须在 Amazon Pinpoint 中创建活动并选择此函数。最后,您必须更新执行策略以引用指定的活动。