使用 AWS 终端用户消息发送 SMS 服务发送彩信的示例
如果您使用的是共享资源,则必须使用该资源的完整 Amazon 资源名称(ARN)。您可以使用 AWS CLI 或 AWS 终端用户消息发送 SMS 服务和语音 v2 API 向您的客户发送彩信。
使用 send-media-message AWS CLI 命令发送彩信。有关配置 AWS CLI 的更多信息,请参阅《AWS Command Line Interface 用户指南》中的配置 AWS CLI。
重要
彩信功能仅在部分国家/地区可用。有关支持短信和彩信服务的国家/地区的更多信息,请参阅支持使用 AWS 终端用户消息发送 SMS 服务发送短信的国家和地区和支持使用 AWS 终端用户消息发送 SMS 服务发送彩信的国家和地区。
要检查您的发起身份是否支持彩信功能,请参阅在 AWS 终端用户消息发送 SMS 服务中查看电话号码状态和功能。
要使用共享资源,必须使用完整的 Amazon 资源名称(ARN)。
先决条件
在您开始之前,必须满足以下先决条件:
-
您必须拥有支持发送彩信的发起身份。
-
您必须将媒体文件上传到与彩信支持的发起身份位于同一 AWS 区域的 Amazon S3 存储桶,请参阅为彩信文件设置 Amazon S3 存储桶。
每个彩信文件的 S3 URI。
用于调用
send-media-message的身份必须拥有对包含您的媒体文件的 Amazon S3 存储桶的读取访问权限。有关设置读取访问权限的更多信息,请参阅 Amazon S3 用户指南中的 Amazon S3 基于身份的策略示例。
使用 AWS CLI 发送彩信
send-media-message 仅需两个必需参数:destination-phone-number 和 origination-identity。您可以通过省略 media-urls 参数来发送仅包含文本的消息。您可以通过省略 message-body 参数来发送仅包含媒体文件的消息。
发送彩信
-
在命令行输入以下命令:
aws pinpoint-sms-voice-v2 --region 'us-east-1' send-media-message --destination-phone-number+12065550150--origination-identity+14255550120--message-body 'text body' --media-urls 's3://s3-bucket/media_file.jpg'在前面的命令中,进行以下更改:
-
将
us-east-1替换为存储您发起身份的 AWS 区域。 -
将
+12065550150替换为目标电话号码。 -
将
+14255550120替换为您的发起身份。该发起身份必须处于ACTIVE状态且能够发送到目标电话号码。 -
将
text body替换为您的文本消息。 -
将
s3://s3-bucket/media_file.jpg替换为彩信文件的 S3 URI。彩信文件类型、大小和字符限制 中列出了支持的媒体文件格式。有关创建 S3 存储桶和管理对象的更多信息,请参阅 Amazon S3 用户指南中的为彩信文件设置 Amazon S3 存储桶或创建存储桶以及上传对象。
-
如果 AWS 终端用户消息发送 SMS 服务接受该命令,您将收到 MessageID。这仅表示命令已成功接收,并不意味着目标设备已收到消息。有关错误代码的列表,请参阅 SendMediaMessage 错误。
{
"MessageId": "string"
}
为彩信文件设置 Amazon S3 存储桶
您的彩信文件必须存储在 Amazon S3 存储桶中。Amazon S3 存储桶必须与您支持彩信功能的发起身份处于同一 AWS 账户和 AWS 区域。这些说明展示了如何创建 Amazon S3 存储桶、上传文件以及构建文件的 URI。有关 Amazon S3 命令的更多信息,请参阅通过 AWS CLI 使用高级别(s3)命令。有关配置 AWS CLI 的更多信息,请参阅《AWS Command Line Interface 用户指南》中的配置 AWS CLI。
要创建 S3 存储桶,请使用 create-bucket
aws s3api create-bucket --region 'us-east-1' --bucketBucketName
在上述命令中:
-
将
us-east-1替换为您的彩信支持的发起身份所在的 AWS 区域。 将
BucketName替换为新存储桶的名称。
要将文件复制到 Amazon S3 存储桶中,请使用 cp AWS CLI 命令。在命令行输入以下命令:
aws s3 cpSourceFilePathAndNames3://BucketName/FileName
在上述命令中:
将
SourceFilePathAndName替换为要复制的文件的文件路径和名称。将
BucketName替换为存储桶的名称。将
FileName替换为要使用的文件的名称。
发送时要使用的 URI 为:
s3://BucketName/FileName