如何使用 Amazon SNS 和 Python 以及 boto3 发送带有自定义发件人 ID 的 SMS

2024-01-06

The 文档 http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html#sms_publish_sdk建议为此使用消息属性,但我似乎无法弄清楚要使用什么属性名称。

到目前为止,这有效:

sns = boto3.client('sns', region_name='eu-west-1')

sns.publish(
  PhoneNumber='+491701234567',
  Message='hi there',
  MessageAttributes={
    'AWS.SNS.SMS.SenderID': {
      'DataType': 'String',
      'StringValue': 'MySenderID'   
    }    
  }   
)  

SMS 已发送,但发件人 ID 字段中带有一些(随机?)值。所以看来我对消息属性的设置被默默地忽略了。设置自定义发件人 ID 的正确方法是什么?


发件人 ID 必须为 1-11 个字母数字字符,不得有空格;例如:

  • THISISME - ✅
  • TestForSO - ✅
  • StackOverflow- ????(太长。最多 11 个字符)
  • Some one- ????(无空格)

正如其他人提到的,发件人 ID 自定义取决于国家/手机提供商,因此请务必对其进行测试。

示例片段

import boto3

access_key = '....'
secret = '....'
region = "us-east-1"

number = '+972...<your number>'

sender_id = 'TestForSO'
sms_message = 'Your code: 123456'

sns = boto3.client('sns', aws_access_key_id=access_key, aws_secret_access_key=secret, region_name=region)
sns.publish(PhoneNumber=number, Message=sms_message, MessageAttributes={'AWS.SNS.SMS.SenderID': {'DataType': 'String', 'StringValue': sender_id}, 'AWS.SNS.SMS.SMSType': {'DataType': 'String', 'StringValue': 'Promotional'}})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Amazon SNS 和 Python 以及 boto3 发送带有自定义发件人 ID 的 SMS 的相关文章

  • 更改 Inkscape 的 Python 解释器

    在使用 Inkscape 时 我不断收到错误 这似乎意味着未满足 python 2 vs 3 的期望 尽管我已经安装了它们 例如 当我尝试从模板生成新文档时 我得到 Traceback most recent call last File
  • 刷新访问令牌时出现“invalid_grant”错误的情况?

    最近我一直在为这个问题揪心 一些背景 使用oauth2客户端 https code google com p google api python client 库来管理用户的令牌 这些令牌用于定期并发执行各种后台任务 每次要为用户运行其中一
  • 使用 Flask SQLAlchemy 进行表(模型)继承

    我遵循了这个建议question https stackoverflow com questions 1337095 sqlalchemy inheritance但我仍然收到此错误 sqlalchemy exc NoForeignKeysE
  • 使用 GeoDjango 在坐标系之间进行转换

    我正在尝试将坐标信息添加到我的数据库中 添加django contrib gis支持我的应用程序 我正在写一个south数据迁移 从数据库中获取地址 并向 Google 询问坐标 到目前为止 我认为我最好的选择是使用geopy为了这 接下来
  • 垂直线 axvline 在 matplotlib 的 loglog 图中绘制位于错误位置的线

    我在使用 axvline 在 matplotlib 的 loglog 图中绘制垂直线时遇到问题 第一个问题是垂直线没有出现在正确的位置 第二个问题 可能相关的是 当我放大或平移绘图时 垂直线只是保持在原位 并且没有通过平移 滑动绘图 或放大
  • 运行源代码中包含 Unicode 字符的 Python 2.7 代码

    我想运行一个在源代码中包含 unicode utf 8 字符的 Python 源文件 我知道这可以通过添加评论来完成 coding utf 8 在一开始的时候 但是 我希望不使用这种方法来做到这一点 我能想到的一种方法是以转义形式编写 un
  • Python - 为什么这段代码被视为生成器?

    我有一个名为 mb 的列表 其格式为 Company Name Rep Mth 1 Calls Mth 1 Inv Totals Mth 1 Inv Vol Mth 2 等等 在下面的代码中 我只是添加了一个包含 38 个 0 的新列表 这
  • 在 Python 中比较日期 - 如何处理时区修饰符

    我正在做Python日期比较 假设我有一个这样的约会 Fri Aug 17 12 34 00 2012 0000 我按以下方式解析它 dt datetime strptime Fri Aug 17 12 34 00 2012 0000 a
  • 如何通过 Python socket.send() 发送字符串以外的任何内容

    我对 Python 编程非常陌生 但出于必要 我必须快速地将一些东西组合在一起 我正在尝试通过 UDP 发送一些数据 除了当我执行 socket send 时 我必须以字符串形式输入数据之外 一切都正常 这是我的程序 这样你就可以看到我在做
  • 使用 Pandas 查找自滚动高点以来的周期数

    我在 Pandas 中使用rolling max函数 http pandas pydata org pandas docs stable computation html moving rolling statistics moments
  • Python NLP 英式英语与美式英语

    我目前正在用Python 进行NLP 工作 然而 在我的语料库中 既有英式英语也有美式英语 实现 实现 我正在考虑将英式英语转换为美式英语 但是 我没有找到一个好的工具 包来做到这一点 有什么建议么 我也找不到包 但试试这个 请注意 我必须
  • 打印一个 Jupyter 单元中定义的所有变量

    有没有一种更简单的方法来以漂亮的方式显示单个单元格中定义的所有变量的名称和值 我现在做的方式是这样的 但是当有30个或更多变量时我浪费了很多时间 您可以使用whos http ipython readthedocs io en stable
  • 将 JSON 字符串传递给 Django 模板

    我一直在用头撞墙 试图找出为什么我无法将从 Django 模型生成的 JSON 字符串传递到模板的 javascript 静态文件中 事实证明 问题不在模型级别 使用serializers serialize 在脚本本身中放入相同的字符串将
  • Docker:通过 Gunicorn 运行 Flask 应用程序 - Worker 超时?表现不佳?

    我正在尝试创建一个用Python Flask编写的新应用程序 由gunicorn运行 然后进行dockerized 我遇到的问题是 docker 容器内的性能非常差 不一致 我最终得到了响应 但我不明白为什么性能会下降 有时我会在日志中看到
  • Python/Flask:应用程序在关闭后正在运行

    我正在开发一个简单的 Flask Web 应用程序 我使用 Eclipse Pydev 当我开发该应用程序时 由于代码更改 我必须经常重新启动该应用程序 这就是问题所在 当我运行该应用程序时 我可以在本地主机上看到该框架 这很好 但是当我想
  • Selenium 网页抓取与动态内容和隐藏数据表上的美丽汤

    真的需要这个社区的帮助 我正在使用 Selenium 和 Beautiful Soup 对 Python 中的动态内容进行网页抓取 问题是定价数据表无法解析为 Python 即使使用以下代码 html browser execute scr
  • Python将csv数据导出到文件中

    我有以下运行良好的代码 但我无法修剪数据并将其存储在数据文件中 import nltk tweets love this car this view amazing not looking forward the concert def g
  • 写入 UDP 套接字会被阻塞吗?

    如果是的话 在什么条件下 或者 换句话说 在twisted 中运行此代码是否安全 class StatsdClient AbstractStatsdClient def init self host port super StatsdCli
  • 如何在包更新之间保留数据文件?

    我正在使用data files的论证setuptools setup 将配置文件安装到 etc和用户主目录 但是更新包pip install
  • Elastic Beanstalk 上的 Django + MySQL - 查询 MySQL 时出错

    当我在 Elastic beanstalk 上托管的 Django 应用程序上查询 MySQL 时 出现错误 错误说 admin login 处出现操作错误 1045 用户 adminDB 172 30 23 5 的访问被拒绝 使用密码 Y

随机推荐

  • 设计测试助手 - 登录不起作用

    由于某种原因 我无法让设计辅助方法sign in工作 current user 一直为空 知道问题出在哪里吗 Test before each do user FactoryGirl create user sign in user end
  • r - 如何删除 DT::datatable 中标题和正文之间的水平线

    我想删除表数据和标题之间的限制条纹 或者至少更改其颜色 我想为各自教室的老师制定一个时间表 options list pageLength 40 dom t ordering FALSE columnDefs list list class
  • 如何在 docker 容器内提供 django 秘密

    我的环境 docker 17 12 ce python 3 6 3 django 1 10 8 我有一个 Django 应用程序 我想将其容器化 尝试保持最佳实践 我遵循建议将 settings py 文件拆分为一个基本文件 然后每个阶段一
  • Grails:将插件类导入到 _Events.groovy

    我创建了一个 Grails 插件 它添加了一个自定义测试类型类 扩展GrailsTestTypeSupport 和自定义测试结果类 扩展GrailsTestTypeResult 以支持我在other的阶段test app脚本 在我的本地机器
  • 根据键值过滤Python中的嵌套字典

    如何根据键值过滤 python 中的嵌套字典 d data country US city New York state None tags US New York type country info growth rate None 我想
  • GLSL从modelviewmatrix和viewmatrix中提取modelmatrix

    由于在 GLSL 中 modelmatrix 不可用 我想知道是否可以从 gl ModelViewMatrix 和我将作为统一传递的 viewmatrix 以编程方式获取它 如果是 怎么办 谢谢你 您可以通过将模型视图矩阵与视图矩阵的逆矩阵
  • PHP 中如何连接字符串?

    我有三个字符串 str1 abc str2 定义 str3 ghi 我可以这样得到它们的值 回声 str1 str2 str3 但我听说有一种方法可以将它们连接在一起 这样我就可以不加引号地呼应它们 以及像这样连接 echo str1 st
  • 大查询 - 将 INT 转换为日期

    找不到任何解决方案 需要将格式为 20190101 的 date int 转换为格式为 2019 01 01 的 DATE 我努力了 演员表 cast 20190101 AS STRING AS 日期 FORMAT DATE F CAST
  • MVC 4 Autofac 和通用存储库模式

    我在我的 MVC 4 应用程序中利用工作单元和通用存储库模式 我试图解决的问题是为系统中的每个实体创建存储库存根 为了利用 Autofac Ioc 我必须为每个实体创建一个存储库类和接口 以便我可以在 Autofac 中注册它 应用程序启动
  • 请求已超出允许的时间限制标签:cfhttp

    我每天都面临这个问题 我有一个应用程序 它通过夜间计划作业捕获来自各种应用程序的大量数据cfhhtp打电话 请求 这里的问题是它调用 广泛的范围列表 来捕获数据 不幸的是我们无法限制范围 任务中设置的超时时间是 9000 秒 这已经相当高了
  • 列表视图与数据网格

    与使用列表视图相比 使用数据网格控件的主要优点是什么 每一项应该在什么时候使用 需要考虑的一些要点科林 埃伯 http www codeplex com site users view ColinEber已在DataGrid 与 GridV
  • 在 Gwt WindowBuilder 中编辑 CSS

    我在一个项目中使用 GWT 最近开始在 Eclipse 中使用 WindowBuilder 我在 WindowBuilder 中创建了一个新类并添加了一些小部件 所有有效的东西 但是 当我尝试编辑某些面板的 CSS 并单击编辑 styleN
  • Stylesheet_link_tag 已损坏,文件路径不起作用,我一生都无法弄清楚为什么。有任何想法吗?

    我在 Rails 3 1 中 config application rb 中的 config assets enabled 为 true 我的这些不起作用 我不知道我做错了什么 这也不起作用 图像不显示图像的缩写路径或完整路径
  • 从两个 data.frame 绘制数据时出现图例问题

    我在让 ggplot2 按我想要的方式工作时遇到了一些麻烦 基本上 我想通过将实际观察结果与近似值放在一个图中来进行比较 例如 gt library ggplot2 gt df actual lt data frame x 1 100 y
  • AssertionError [ERR_ASSERTION]:更新到 Angular 15 后编译无法取消定义

    更新至 Angular v15 跑步时ng test我收到以下错误 Generating browser application bundles phase setup node internal process promises 288
  • NHibernate使用Firebird自己的生成器

    在 Firebird DB 中有自己的生成器 称为GEN PATIENT ID我想将 ID 的生成留在 DB 端 而不是 NHibernate 和 FluentNHibernate 通过此链接 我将覆盖默认的 Fluent 行为 例如thi
  • 如何在 XAML 中引用图标资源文件引用

    我正在尝试获取一个在 XAML 中显示图标的按钮 最初我想粘贴一个字符 但 vb Express 2008 不会识别它是一个符号 因为它不是一个常规字符 然后我创建了一个图标并尝试设置按钮图像属性来引用它 但这不存在 所以更痛苦 现在我已经
  • 将 java.lang.Iterable 视为 Freemarker 中的 #list 表达式

    我有一个 java lang Iterable 实际上是一个 com google gson JsonArray 实例 我想使用 freemarker 2 3 16 枚举列表中的项目 assign sports controller spo
  • 在 IE 中打印的所有 HTML 页面底部的 HTML 页脚

    我被要求在 html 网页打印的每个页面的底部添加页脚 而不是浏览器上的实际页面 你们知道有什么办法吗 它应该可以在 IE 上运行 并且只有 IE 就可以 我尝试使用固定底部 但内容与页脚重叠 我尝试使用 javascript 来计算空间并
  • 如何使用 Amazon SNS 和 Python 以及 boto3 发送带有自定义发件人 ID 的 SMS

    The 文档 http docs aws amazon com sns latest dg sms publish to phone html sms publish sdk建议为此使用消息属性 但我似乎无法弄清楚要使用什么属性名称 到目前