要解决AWS Pinpoint双向短信未触发来电短信的SNS通知问题,你可以使用AWS Lambda函数来处理Pinpoint的事件,并通过SNS发送通知。下面是一个示例代码,展示了如何实现这个过程:
import json
import boto3
def lambda_handler(event, context):
# 获取SNS客户端
sns_client = boto3.client('sns')
# 检查事件类型
if event['event_type'] == 'SMS_RECEIVED':
# 获取Pinpoint的消息内容
message = event['message']
# 获取发送方号码
sender = event['origination_number']
# 获取接收方号码
recipient = event['destination_number']
# 构建通知消息
notification_message = f"接收到来自{sender}的短信:{message}"
# 发送SNS通知
response = sns_client.publish(
PhoneNumber='',
Message=notification_message
)
# 打印SNS响应
print(response)
在上面的代码中,替换
为你希望接收通知的电话号码。当Pinpoint接收到双向短信时,Lambda函数将会被触发,发送SNS通知到指定的电话号码。
要使用上述代码,你需要在AWS Lambda控制台创建一个Lambda函数,并将上述代码复制到函数代码编辑器中。然后,你需要将函数配置为与Pinpoint的事件集成,以便当双向短信接收到时触发Lambda函数。
请注意,为了使Lambda函数能够发送SNS通知,你需要给Lambda函数的执行角色添加对SNS的操作权限。你可以在IAM控制台上为执行角色添加"SNS:Publish"权限。
希望以上信息能帮助到你解决问题!