如何使用 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 的相关文章

  • App Engine 上的 Django 与 webapp2 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何同时运行多个功能[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下代码 my func1 my func2 my func3 my func4 my func5 是否可以同时计算函数的数据 而
  • 如何在 Pandas Python 中按 id 对行进行排名

    我有一个像这样的数据框 id points1 points2 1 44 53 1 76 34 1 63 66 2 23 34 2 44 56 我想要这样的输出 id points1 points2 points1 rank points2
  • 使用 Boto3 超时的 AWS Lambda 函数

    我已经解决了我自己的问题 但无论如何我都会发布它 希望能节省其他人几个小时 我在 AWS 上有一个无服务器项目 使用 Python 将记录插入到 kinesis 队列中 但是 当我使用 boto3 client kinesis 或 put
  • Python Requests 库重定向新 url

    我一直在浏览 Python 请求文档 但看不到我想要实现的任何功能 在我的脚本中我设置allow redirects True 我想知道该页面是否已重定向到其他内容 新的 URL 是什么 例如 如果起始 URL 为 www google c
  • Python speedtest.net,或等效的[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否有一个 Python 库可以实现 SpeedTest net 测试或等效的互联网连接速度测试 GitHub上有一个项目叫速度检查 https gi
  • NSUserNotificationCenter.defaultUserNotificationCenter() 使用 PyInstaller 返回 None

    我正在尝试将通知发送到通知中心 Mac OSX 我正在使用 PyObjC 绑定来使用我们的 python 应用程序中的 cocoa api 我正在使用以下代码片段 import Foundation import objc NSUserNo
  • 为什么需要设置WORKON_HOME环境变量?

    我已经有一段时间没有使用 python 虚拟环境了 但我也安装了虚拟环境包装器 我的问题是 在文档页面中它说要这样做 export WORKON HOME Envs mkdir p WORKON HOME source usr local
  • Pandas 字典键到列[重复]

    这个问题在这里已经有答案了 我有一个像这样的数据框 index column1 e1 u c680 5 u c681 1 u c682 2 u c57 e2 u c680 6 u c681 2 u c682 1 u c57 e3 u c68
  • Python在没有pandas的情况下解码excel表

    我正在尝试在 python 中读取 excel 文件而不使用pandas or xlrd 我一直在尝试将结果转换为bytes to utf 8没有任何成功 xls 文件中的数据 colA colB colC spc 1D0 20190705
  • 如何通过selenium中弹出的身份验证?

    我正在尝试使用带有 Selenium 的 Python 脚本加载需要身份验证的网页 options webdriver ChromeOptions prefs download default directory r download de
  • 如何从邻接表高效创建稀疏邻接矩阵?

    我正在与last fm http labrosa ee columbia edu millionsong lastfm数据集来自百万歌曲数据集 http labrosa ee columbia edu millionsong 数据以一组 j
  • 如何将 URL 添加到 Telegram Bot 的 InlineKeyboardButton

    我想制作一个按钮 可以从 Telegram 聊天中在浏览器中打开 URL 外部超链接 目前 我只开发了可点击的操作按钮 update message reply text Subscribe to us on Facebook and Te
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • tf.print() vs Python print vs tensor.eval()

    看来在Tensorflow中 至少有三种方法可以打印出张量的值 我一直在读here https www freecodecamp org news debugging tensorflow a starter e6668ce72617 an
  • 每次我执行 docker compose up 时,Docker 都会创建一个新卷

    我有一个 docker compose 文件 可以启动多个服务 我刚刚收到一条错误消息 指出我的磁盘空间不足 因此我输入 docker system df 并看到我有 21 个卷 如果我有 3 个 docker 容器 每个容器都附加一个卷
  • py2exe ImportError:没有名为 的模块

    我已经实现了一个名为 myUtils 的包 它由文件夹 myUtils 文件 组成 init py 和许多名称为 myUtils 的 py 文件 该包包含在 myOtherProject py 中 当我从 Eclipse 运行它们时可以找到
  • ProcessPoolExecutor 传递多个参数

    ESPN播放器免费 class ESPNPlayerFree def init self player id match id match id team 团队名单1 277906 cA2i150s81HI3qbq1fzi za1Oq5CG
  • Tkinter 将鼠标点击绑定到框架

    我一定错过了一些明显的东西 我的 Tkinter 程序中有两个框架 每个框架在网格布局中都有一堆标签 我想将鼠标点击绑定到其中一个而不是另一个 我目前使用 root bind
  • 使用 python 将 CSV 文件上传到 Microsoft Azure 存储帐户

    我正在尝试上传一个 csv使用 python 将文件写入 Microsoft Azure 存储帐户 我已经发现C sharp https blogs msdn microsoft com jmstall 2012 08 03 convert

随机推荐

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

    由于某种原因 我无法让设计辅助方法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建议为此使用消息属性 但我似乎无法弄清楚要使用什么属性名称 到目前