

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 AWS 最终用户消息 SMS 发送彩信的示例
<a name="send-mms-message"></a>

如果您使用的是共享资源，则必须使用该资源的完整 Amazon 资源名称（ARN）。您可以使用 AWS CLI 或 AWS 最终用户消息短信和语音 v2 API 向您的客户发送彩信。

使用[send-media-message](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/send-media-message.html) AWS CLI 命令发送彩信。有关配置的更多信息 AWS CLI，请参阅[AWS Command Line Interface 用户指南](https://docs.aws.amazon.com/cli/latest/userguide/)[中的配置 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。

**重要**  
彩信功能仅在部分国家/地区可用。有关支持短信和彩信服务的国家/地区的更多信息，请参阅[支持使用 AWS 最终用户消息 SMS 发送短信的国家和地区](phone-numbers-sms-by-country.md)和[支持在 AWS 最终用户消息 SMS 中发送彩信的国家和地区](phone-numbers-mms-by-country.md)。  
要检查您的发起身份是否支持彩信功能，请参阅[在 “ AWS 最终用户消息 SMS” 中查看电话号码状态和功能](phone-numbers-status.md)。  
要使用共享资源，必须使用完整的 Amazon 资源名称（ARN）。

## 先决条件
<a name="send-mms-message-prerequisite"></a>

在您开始之前，必须满足以下先决条件：
+ 您必须拥有[支持发送彩信](phone-numbers-mms-by-country.md#phone-numbers-mms-by-country.title)的发起身份。
+ 您必须将媒体文件上传到与支持彩信的来源 AWS 区域 身份相同的 Amazon S3 存储桶，请参阅。[为彩信文件设置 Amazon S3 存储桶](#send-mms-message-bucket)

  有关支持的文件类型和大小列表，请参阅[ 彩信文件类型、大小和字符限制  了解彩信文件大小、文件类型限制以及彩信可包含的最大字符数。  彩信文件类型彩信文件大小短信字符限制  单个彩信媒体文件的大小限制为：所有图像类型（gif、jpeg、png）不超过 2 MB，所有音频和视频媒体文件类型不超过 600 KB。彩信的文本消息正文可包含来自任意字符集的 1600 个字符。与短信不同，彩信在发送时不会分成多个部分。如果您要发送大型文本消息，由于彩信不会被分成多个部分，其吞吐量可能会更高。 


****  

| 文件类型 | MIME 类型 | 最大文件大小 | 
| --- | --- | --- | 
| 图形交换格式 |  `image/gif`  | 2 MB | 
| 联合图像专家组 |  `image/jpeg`  | 2 MB | 
| 便携式网络图形  |  `image/png`  | 2 MB | 
| 标签图像文件格式 |  `image/tiff`  | 600 KB | 
| 第三代合作伙伴计划  |  `audio/3gpp`, `video/3gpp`  | 600 KB | 
| 第三代合作伙伴计划 2  |  `audio/3gpp2`, `video/3gpp2`  | 600 KB | 
| 自适应多速率 |  `audio/amr`  | 600 KB | 
| MPEG-4 |  `audio/mp4`, `video/mp4`  | 600 KB | 
| 动态图像专家组 |  `audio/mpeg` 仅支持 MP3 文件 `audio/mpeg`  | 600 KB | 
| Ogg |  `audio/ogg`  | 600 KB | 
| QuickTime |  `video/quicktime`  | 600 KB | 
| WebM |  `video/webm`  | 600 KB | 
| iCalendar |  `text/calendar`  | 600 KB | 
| vCard |  `text/vcard`, `text/x-vcard`  | 600 KB | 
| 可移植文档格式 |  `application/pdf`  | 600 KB |  ](mms-limitations-character.md#mms-limitations-character.title)。
+ 每个彩信文件 URIs 的 S3。
+ 用于调用 `send-media-message` 的身份必须拥有对包含您的媒体文件的 Amazon S3 存储桶的读取访问权限。有关设置读取访问权限的更多信息，请参阅 [Amazon S3 用户指南](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)中的 [Amazon S3 基于身份的策略示例](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-policies-s3.html)。

## 使用以下方式发送彩信 AWS CLI
<a name="send-mms-message-steps"></a>

的唯一必需参数[send-media-message](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/send-media-message.html)是`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 区域 为存储您的原始身份的。
  + *\$112065550150*替换为目标电话号码。
  + *\$114255550120*替换为您的原始身份。该发起身份必须处于 `ACTIVE` 状态且能够发送到目标电话号码。
  + *text body*替换为您的短信。
  + *s3://s3-bucket/media\$1file.jpg*替换为彩信文件的 S3 URI。[彩信文件类型、大小和字符限制](mms-limitations-character.md) 中列出了支持的媒体文件格式。有关创建 S3 存储桶和管理对象的更多信息，请参阅 [Amazon S3 用户指南](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)中的[为彩信文件设置 Amazon S3 存储桶](#send-mms-message-bucket)或[创建存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)以及[上传对象](https://docs.aws.amazon.com//AmazonS3/latest/userguide/upload-objects.html)。

如果 AWS 最终用户消息 SMS 接受该命令，您将收到`MessageID`. 这仅表示命令已成功接收，并不意味着目标设备已收到消息。有关错误代码的列表，请参阅[SendMediaMessage 错误](https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/API_SendMediaMessage.html#API_SendMediaMessage_Errors)。

```
{
   "MessageId": "string"
}
```

## 为彩信文件设置 Amazon S3 存储桶
<a name="send-mms-message-bucket"></a>

您的彩信文件必须存储在 Amazon S3 存储桶中。Amazon S3 存储桶必须 AWS 账户 与 AWS 区域 支持彩信的来源身份相同。这些说明展示了如何创建 Amazon S3 存储桶、上传文件以及构建文件的 URI。有关 Amazon S3 命令的更多信息，请参阅[通过 AWS CLI 使用高级别（s3）命令](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html)。有关配置的更多信息 AWS CLI，请参阅[AWS Command Line Interface 用户指南](https://docs.aws.amazon.com/cli/latest/userguide/)[中的配置 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。

要创建 Amazon S3 存储桶，请使用 c [reate-bu](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html) AWS CLI cket 命令。在命令行输入以下命令：

```
aws s3api create-bucket --region 'us-east-1' --bucket BucketName
```

在上述命令中：
+ *us-east-1*替换为 AWS 区域 你所在的支持彩信的来源身份。
+ *BucketName*替换为新存储桶的名称。

要将文件复制到 Amazon S3 存储桶，请使用 [cp](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-objects-copy) AWS CLI 命令。在命令行输入以下命令：

```
aws s3 cp SourceFilePathAndName s3://BucketName/FileName 
```

在上述命令中：
+ *SourceFilePathAndName*替换为要复制的文件的文件路径和名称。
+ 将 *BucketName* 替换为存储桶名称。
+ *FileName*替换为要用于该文件的名称。

发送时要使用的 URI 为：

```
s3://BucketName/FileName
```