如何使用django和AWS SNS发送手机号码存储在数据库中的短信
我正在使用django制作一个应用程序,它执行以下操作:当用户按下一个物理按钮时,该按钮向django rest发送一个POST请求,django rest随后创建一个票证,同时创建票证并向存储在SQL数据库中的电话发送sms通知。该电话号码对应于可以帮助解决按下按钮的用户遇到的问题的人 我试着想,在服务器中处理POST请求时,我如何查询包含电话号码的表,然后用电话号码发送sms,但我想不出一种方法如何使用django和AWS SNS发送手机号码存储在数据库中的短信,django,django-rest-framework,amazon-sns,Django,Django Rest Framework,Amazon Sns,我正在使用django制作一个应用程序,它执行以下操作:当用户按下一个物理按钮时,该按钮向django rest发送一个POST请求,django rest随后创建一个票证,同时创建票证并向存储在SQL数据库中的电话发送sms通知。该电话号码对应于可以帮助解决按下按钮的用户遇到的问题的人 我试着想,在服务器中处理POST请求时,我如何查询包含电话号码的表,然后用电话号码发送sms,但我想不出一种方法 我希望当用户按下物理按钮时,会创建一张支持票证,负责帮助处理票证的人会收到手机上的短信通知。我不
我希望当用户按下物理按钮时,会创建一张支持票证,负责帮助处理票证的人会收到手机上的短信通知。我不知道您是否解决了这个问题,但对于仍在使用AWS SNS寻找答案的人来说,这非常简单 创建具有以下权限的用户,或者如果愿意,可以将其附加到现有用户/角色
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Deny",
"Action": [
"sns:Publish"
],
"Resource": "arn:aws:sns:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"sns:Publish"
],
"Resource": "*"
}
]
}
安装以便可以与AWS交互
要发送SMS,请为“sns”资源创建一个客户端并在其上调用publish
import boto3
# Create an SNS client
client = boto3.client(
"sns",
aws_access_key_id=AWS_ACCESS_KEY,
aws_secret_access_key=AWS_SECRET_KEY,
region_name=AWS_REGION,
)
# Send your sms message.
client.publish(
PhoneNumber="YOUR_PHONE_NUMBER_IN_E.164_FORMAT",
Message="This is Amazon SNS service talking!"
)
确保你没有向他人发送垃圾邮件。您可能需要请求AWS,因为它默认为1美元。我不知道您是否设法解决了这个问题,但对于仍在使用AWS SNS寻找答案的人来说,这非常简单 创建具有以下权限的用户,或者如果愿意,可以将其附加到现有用户/角色
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Deny",
"Action": [
"sns:Publish"
],
"Resource": "arn:aws:sns:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"sns:Publish"
],
"Resource": "*"
}
]
}
安装以便可以与AWS交互
要发送SMS,请为“sns”资源创建一个客户端并在其上调用publish
import boto3
# Create an SNS client
client = boto3.client(
"sns",
aws_access_key_id=AWS_ACCESS_KEY,
aws_secret_access_key=AWS_SECRET_KEY,
region_name=AWS_REGION,
)
# Send your sms message.
client.publish(
PhoneNumber="YOUR_PHONE_NUMBER_IN_E.164_FORMAT",
Message="This is Amazon SNS service talking!"
)
确保你没有向他人发送垃圾邮件。您可能需要请求AWS,因为它默认为1美元