

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

# 使用 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`<br />仅支持 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 区域 为存储您的原始身份的。
  + {{\+12065550150}}替换为目标电话号码。
  + {{\+14255550120}}替换为您的原始身份。该发起身份必须处于 `ACTIVE` 状态且能够发送到目标电话号码。
  + {{text body}}替换为您的短信。
  + {{s3://s3-bucket/media\_file.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}}
```