Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用django和AWS SNS发送手机号码存储在数据库中的短信_Django_Django Rest Framework_Amazon Sns - Fatal编程技术网

如何使用django和AWS SNS发送手机号码存储在数据库中的短信

如何使用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,但我想不出一种方法 我希望当用户按下物理按钮时,会创建一张支持票证,负责帮助处理票证的人会收到手机上的短信通知。我不

我正在使用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美元