# CLI命令参考
#### 订阅用户
| API名称   | 命令                                   | 描述                                                                                                                                                                    | 操作                                                                                                    |
|:---|:---|:---|:---|
| 添加订阅用户    | hcloud SMNGLOBAL CreateSubscriptionUser  | 添加订阅用户。如果订阅用户的状态为未确认，则会向订阅用户发送一条确认订阅消息。订阅用户点击订阅链接确认订阅后，则订阅用户的状态变更为已确认，同时会向订阅用户发送一条取消订阅消息，便于订阅用户随时可以取消订阅。订阅用户点击取消订阅链接后，则订阅用户的状态变更为已取消，同时会向订阅用户发送一条重新订阅消息，便于订阅用户可以重新订阅。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMNGLOBAL/cli?api=CreateSubscriptionUser)  |
| 查询订阅用户列表 | hcloud SMNGLOBAL ListSubscriptionUser  | 查询订阅用户列表。                                                                                                                                                               | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMNGLOBAL/cli?api=ListSubscriptionUser)    |
| 删除订阅用户   | hcloud SMNGLOBAL DeleteSubscriptionUser  | 删除订阅用户。                                                                                                                                                              | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMNGLOBAL/cli?api=DeleteSubscriptionUser) |
| 更新订阅用户   | hcloud SMNGLOBAL UpdateSubscriptionUser | 更新订阅用户。                                                                                                                                                               | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMNGLOBAL/cli?api=UpdateSubscriptionUser) |
   
#### 主题操作
| API名称           | 命令                                           | 描述                                                                                                    | 操作                                                                                                         |
|:---|:---|:---|:---|
| 查询主题列表          | hcloud SMN ListTopics                        | 分页查询Topic列表，Topic列表按照Topic创建时间进行降序排列。分页查询可以指定offset以及limit。如果不存在Topic，则返回空列表。                         | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListTopics)                        |
| 创建主题            | hcloud SMN CreateTopic                       | 创建Topic，单用户默认配额为3000。高并发场景下，可能会出现Topic数量超过3000仍创建成功的情况，此为正常现象。                                        | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=CreateTopic)                       |
| 查询主题详情          | hcloud SMN ListTopicDetails                  | 查询Topic的详细信息。                                                                                         | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListTopicDetails)                  |
| 更新主题            | hcloud SMN UpdateTopic                       | 更新显示名。                                                                                                | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UpdateTopic)                       |
| 删除主题            | hcloud SMN DeleteTopic                       | 删除主题。                                                                                                 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteTopic)                       |
| 查询主题策略          | hcloud SMN ListTopicAttributes               | 查询主题的策略信息。                                                                                            | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListTopicAttributes)               |
| 删除所有主题策略        | hcloud SMN DeleteTopicAttributes             | 删除所有主题策略。                                                                                             | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteTopicAttributes)             |
| 更新主题策略          | hcloud SMN UpdateTopicAttribute              | 更新主题的策略信息。                                                                                            | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UpdateTopicAttribute)              |
| 删除指定名称的主题策略     | hcloud SMN DeleteTopicAttributeByName        | 删除指定名称的主题策略。                                                                                          | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteTopicAttributeByName)        |
| 查询主题的发送详情       | hcloud SMN ListTopicMessageStatistics        | 查询Topic的发送数据详情，最多支持查询31天内所有计量数据                                                                       | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListTopicMessageStatistics)        |
| 查询主题列表及主题关联资源信息 | hcloud SMN ListTopicsWithAssociatedResources | 查询Topic及Topic关联资源信息列表，关联资源信息随业务演进会持续扩展。Topic列表默认按照创建时间进行降序排列。分页查询可以指定offset以及limit。如果不存在Topic，则返回空列表。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListTopicsWithAssociatedResources) |
   
#### 订阅操作
| API名称           | 命令                                             | 描述                                                                                                                                                                                                                    | 操作                                                                                                           |
|:---|:---|:---|:---|
| 批量删除订阅          | hcloud SMN BatchDeleteSubscriptions            | 批量删除订阅，每个订阅终端的删除结果在响应体中依次展示。                                                                                                                                                                                          | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=BatchDeleteSubscriptions)            |
| 查询订阅者列表         | hcloud SMN ListSubscriptions                   | 分页返回请求者的所有的订阅列表，订阅列表按照订阅创建时间进行升序排列。分页查询可以指定offset以及limit。如果订阅者不存在，返回空列表。                                                                                                                                              | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListSubscriptions)                   |
| 批量删除指定主题的订阅     | hcloud SMN BatchDeleteSubscriptionsByTopic     | 批量删除指定主题的订阅，每个订阅终端的删除结果在响应体中依次展示。                                                                                                                                                                                     | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=BatchDeleteSubscriptionsByTopic)     |
| 查询指定Topic的订阅者列表 | hcloud SMN ListSubscriptionsByTopic            | 分页获取特定Topic的订阅列表，订阅列表按照订阅创建时间进行升序排列。分页查询可以指定offset以及limit。如果指定Topic不存在订阅者，返回空列表。                                                                                                                                      | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListSubscriptionsByTopic)            |
| 订阅              | hcloud SMN AddSubscription                     | 为指定Topic添加一个订阅者，如果订阅者的状态为未确认，则向订阅者发送一个确认的消息。待订阅者进行ConfirmSubscription确认后，该订阅者才能收到Topic发布的消息。单Topic默认可添加10000个订阅者，高并发场景下，可能会出现订阅者数量超过10000仍添加成功的情况，此为正常现象。接口是幂等的，如果添加已存在的订阅者，则返回成功，且status code为200，否则status code为201。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=AddSubscription)                     |
| 取消订阅            | hcloud SMN CancelSubscription                  | 删除指定的订阅者。                                                                                                                                                                                                             | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=CancelSubscription)                  |
| 删除指定主题的订阅       | hcloud SMN DeleteSubscriptionsByTopic          | 删除指定主题的订阅                                                                                                                                                                                                             | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteSubscriptionsByTopic)          |
| 更新订阅者           | hcloud SMN UpdateSubscription                  | 更新订阅者备注。                                                                                                                                                                                                              | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UpdateSubscription)                  |
| 导入订阅            | hcloud SMN AddSubscriptionFromSubscriptionUser | 为指定的Topic添加订阅者，订阅者信息来源为订阅用户列表。                                                                                                                                                                                        | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=AddSubscriptionFromSubscriptionUser) |
| 确认订阅            | hcloud SMN ConfirmSubscription                 | 确认订阅主题消息。                                                                                                                                                                                                             | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ConfirmSubscription)                 |
| 取消订阅            | hcloud SMN UnsubscribeSubscription             | 取消订阅主题                                                                                                                                                                                                                | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UnsubscribeSubscription)             |
| 订阅主题            | hcloud SMN SubscribeTopic                      | 订阅终端确认订阅主题消息。                                                                                                                                                                                                         | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=SubscribeTopic)                      |
| 取消订阅主题          | hcloud SMN UnsubscribeTopic                    | 订阅终端取消订阅主题消息。                                                                                                                                                                                                         | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UnsubscribeTopic)                    |
   
#### 模板操作
| API名称    | 命令                                    | 描述                                                                                                       | 操作                                                                                                  |
|:---|:---|:---|:---|
| 查询消息模板列表 | hcloud SMN ListMessageTemplates       | 分页查询模板列表，模板列表按照创建时间进行升序排列。分页查询可以指定offset以及limit。如果不存在模板，则返回空列表。额外的查询参数分别有message_template_name和protocol。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListMessageTemplates)       |
| 创建消息模板   | hcloud SMN CreateMessageTemplate      | 创建一个模板，用户可以按照模板去发送消息，这样可以减少请求的数据量。                                                                       | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=CreateMessageTemplate)      |
| 查询消息模板详情 | hcloud SMN ListMessageTemplateDetails | 查询模板详情，包括模板内容。                                                                                           | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListMessageTemplateDetails) |
| 更新消息模板   | hcloud SMN UpdateMessageTemplate      | 修改消息模板的内容。                                                                                               | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UpdateMessageTemplate)      |
| 删除消息模板   | hcloud SMN DeleteMessageTemplate      | 删除消息模板。删除模板之前的消息请求都可以使用该模板发送，删除之后无法再使用该模板发送消息。                                                           | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteMessageTemplate)      |
   
#### 发布消息操作
| API名称      | 命令                              | 描述                                                                                              | 操作                                                                                            |
|:---|:---|:---|:---|
| 消息发布       | hcloud SMN PublishMessage       | 将消息发送给Topic的所有订阅端点。当返回消息ID时，该消息已被保存并开始尝试将其推送给Topic的订阅者。为确保您的消息能够成功推送到各个订阅者，请确保您的消息内容符合当地法律法规要求。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=PublishMessage)       |
| 发布探测消息     | hcloud SMN PublishHttpDetect    | 基于主题发送http/https探测消息，探测当前http/https 终端是否可用，SMN出口是否能够正常访问该终端。                                    | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=PublishHttpDetect)    |
| 获取http探测结果 | hcloud SMN ShowHttpDetectResult | 根据http探测发送返回的task_id查询探测结果。                                                                     | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ShowHttpDetectResult) |
   
#### 使用标签管理服务
| API名称      | 命令                                         | 描述                                                 | 操作                                                                                                       |
|:---|:---|:---|:---|
| 查询资源实例     | hcloud SMN ListResourceInstances           | 使用标签过滤实例。                                          | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListResourceInstances)           |
| 批量添加删除资源标签 | hcloud SMN BatchCreateOrDeleteResourceTags | 为指定实例批量添加或删除标签。一个资源上最多有10个标签。                      | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=BatchCreateOrDeleteResourceTags) |
| 查询资源标签     | hcloud SMN ListResourceTags                | 查询指定实例的标签信息。                                       | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListResourceTags)                |
| 添加资源标签     | hcloud SMN CreateResourceTag               | 一个资源上最多有10个标签。此接口为幂等接口：创建时，如果创建的标签已经存在（key相同），则覆盖。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=CreateResourceTag)               |
| 查询项目标签     | hcloud SMN ListProjectTags                 | 查询租户在指定Region和实例类型的所有标签集合。                         | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListProjectTags)                 |
| 删除资源标签     | hcloud SMN DeleteResourceTag               | 幂等接口：删除时，不对标签做校验。删除的key不存在报404，key不能为空或者空字符串。      | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteResourceTag)               |
   
#### Application操作
| API名称           | 命令                                   | 描述      | 操作                                                                                                 |
|:---|:---|:---|:---|
| 查询Application   | hcloud SMN ListApplications          | 查询应用列表。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListApplications)          |
| 创建Application   | hcloud SMN CreateApplication         | 创建应用。   | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=CreateApplication)         |
| 查询Application属性 | hcloud SMN ListApplicationAttributes | 获取应用属性。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListApplicationAttributes) |
| 更新Application   | hcloud SMN UpdateApplication         | 更新应用。   | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UpdateApplication)         |
| 删除Application   | hcloud SMN DeleteApplication         | 删除应用。   | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteApplication)         |
   
#### Application endpoint操作
| API名称                    | 命令                                           | 描述               | 操作                                                                                                         |
|:---|:---|:---|:---|
| 查询Application的Endpoint列表 | hcloud SMN ListApplicationEndpoints          | 查询应用的endpoint列表。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListApplicationEndpoints)          |
| 创建Application endpoint   | hcloud SMN CreateApplicationEndpoint         | 创建应用的endpoint终端。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=CreateApplicationEndpoint)         |
| 查询Application的Endpoint属性 | hcloud SMN ListApplicationEndpointAttributes | 获取endpoint的属性。   | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListApplicationEndpointAttributes) |
| 更新Application endpoint   | hcloud SMN UpdateApplicationEndpoint         | 更新设备属性。          | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UpdateApplicationEndpoint)         |
| 删除Application endpoint   | hcloud SMN DeleteApplicationEndpoint         | 删除设备。            | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteApplicationEndpoint)         |
   
#### Application直发消息操作
| API名称   | 命令                           | 描述                | 操作                                                                                         |
|:---|:---|:---|:---|
| App消息发布 | hcloud SMN PublishAppMessage | 将消息直发给endpoint设备。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=PublishAppMessage) |
   
#### 查询版本操作
| API名称            | 命令                      | 描述                | 操作                                                                                    |
|:---|:---|:---|:---|
| 查询SMN支持的API版本号信息 | hcloud SMN ListVersions | 查询SMN开放API支持的版本号。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListVersions) |
| 查询SMN API V2版本信息 | hcloud SMN ListVersion  | 查询SMN API V2版本信息。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListVersion)  |
   
#### 云日志操作
| API名称 | 命令                       | 描述                               | 操作                                                                                     |
|:---|:---|:---|:---|
| 绑定云日志 | hcloud SMN CreateLogtank | 为指定Topic绑定一个云日志，用于记录主题消息发送状态等信息。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=CreateLogtank) |
| 查询云日志 | hcloud SMN ListLogtank   | 查询指定Topic绑定的云日志。                 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListLogtank)   |
| 更新云日志 | hcloud SMN UpdateLogtank | 更新指定Topic绑定的云日志。                 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UpdateLogtank) |
| 解绑云日志 | hcloud SMN DeleteLogtank | 解绑指定Topic绑定的云日志。                 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteLogtank) |
   
#### 订阅过滤策略操作
| API名称      | 命令                                               | 描述            | 操作                                                                                                             |
|:---|:---|:---|:---|
| 批量创建订阅过滤策略 | hcloud SMN BatchCreateSubscriptionsFilterPolices | 创建订阅者的消息过滤策略。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=BatchCreateSubscriptionsFilterPolices) |
| 批量更新订阅过滤策略 | hcloud SMN BatchUpdateSubscriptionsFilterPolices | 更新订阅者的消息过滤策略。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=BatchUpdateSubscriptionsFilterPolices) |
| 批量删除订阅过滤策略 | hcloud SMN BatchDeleteSubscriptionsFilterPolices | 删除订阅者的消息过滤策略。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=BatchDeleteSubscriptionsFilterPolices) |
   
#### 通知策略
| API名称  | 命令                            | 描述                         | 操作                                                                                          |
|:---|:---|:---|:---|
| 创建通知策略 | hcloud SMN CreateNotifyPolicy | 创建通知策略                     | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=CreateNotifyPolicy) |
| 查询通知策略 | hcloud SMN ShowNotifyPolicy   | 查询通知策略                     | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ShowNotifyPolicy)   |
| 修改通知策略 | hcloud SMN UpdateNotifyPolicy | 修改通知策略，该接口仅支持全量修改，不支持部分修改。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UpdateNotifyPolicy) |
| 删除通知策略 | hcloud SMN DeleteNotifyPolicy | 删除通知策略                     | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteNotifyPolicy) |
   
#### 协议操作
| API名称  | 命令                       | 描述            | 操作                                                                                     |
|:---|:---|:---|:---|
| 查询协议列表 | hcloud SMN ListProtocols | 查询SMN支持的协议列表。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListProtocols) |
   
#### 授权云服务操作
| API名称     | 命令                           | 描述         | 操作                                                                                         |
|:---|:---|:---|:---|
| 查询授权云服务列表 | hcloud SMN ListCloudService  | 查询授权云服务列表。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListCloudService)  |
| 查询授权服务列表  | hcloud SMN ListCloudServices | 查询授权服务列表   | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ListCloudServices) |
   
#### 证书操作
| API名称      | 命令                              | 描述           | 操作                                                                                            |
|:---|:---|:---|:---|
| 下载证书       | hcloud SMN DownloadHttpCert     | 下载http消息校验证书 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DownloadHttpCert)     |
| 下载HTTP签名证书 | hcloud SMN DownloadHttpSignCert | 下载HTTP签名证书   | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DownloadHttpSignCert) |
   
#### 密钥操作
| API名称      | 命令                      | 描述                                                                                                                                                                              | 操作                                                                                    |
|:---|:---|:---|:---|
| 主题绑定KMS密钥  | hcloud SMN CreateKmsKey | 为主题绑定KMS密钥。KMS密钥于绑定后五分钟生效，生效后该主题下发布的消息（确认订阅消息、取消订阅消息、主题消息）均使用指定密钥的数据密钥进行加解密，并将消息内容在SMN服务内部加密传输。执行绑定KMS密钥时，用户需要先在IAM处创建名为smn_kms_agency的委托，并将资源操作权限授权给SMN服务。SMN会使用该委托进行创建数据密钥操作。 | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=CreateKmsKey) |
| 查询主题下KMS密钥 | hcloud SMN ShowKmsKey   | 查询主题下密钥ID。执行绑定KMS密钥时，用户需要先在IAM处创建名为smn_kms_agency的委托，并将资源操作权限授权给SMN服务。SMN会使用该委托进行查询密钥信息操作。                                                                                      | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=ShowKmsKey)   |
| 更新主题下KMS密钥 | hcloud SMN UpdateKmsKey | 更新密钥ID。执行更新KMS密钥时，用户需要先在IAM处创建名为smn_kms_agency的委托，并将对应的资源操作权限授权给SMN服务。SMN会使用该委托进行查询密钥状态和创建数据密钥操作。                                                                               | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=UpdateKmsKey) |
| 删除主题下KMS密钥 | hcloud SMN DeleteKmsKey | 删除主题绑定的密钥。                                                                                                                                                                      | [去调试](https://console.huaweicloud.com/apiexplorer/#/openapi/SMN/cli?api=DeleteKmsKey) |
   
