
# 查询快照列表 - ListSnapshots
#### 功能介绍
该接口用于查询Elasticsearch/OpenSearch集群的所有快照信息，包括快照创建时间、数据引擎、快照ID、快照状态等，帮助客户全面掌控集群快照的生命周期管理。通过该接口，用户可快速定位指定快照的详细信息，验证快照可用性，辅助进行数据恢复、版本回滚或存储成本分析，同时为运维团队提供自动化监控和告警所需的结构化数据支撑，显著提升集群运维效率与稳定性。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-css/css_03_0077.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-css/css_03_0096.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项               | 访问级别 | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                               | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | css:snapshot:list | List | cluster \*  | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | -  | -      |
     
  
 
#### URI
GET /v1.0/{project_id}/clusters/{cluster_id}/index_snapshots
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-css/css_03_0071.html)。 **约束限制**： 不涉及 **取值范围**： 账户的项目ID，长度为32个字符，由小写字母和数字组成。 **默认取值**： 不涉及 |
| cluster_id | 是    | String | **参数解释**： 指定需查询快照列表的集群ID。获取方法请参见[获取集群ID](https://support.huaweicloud.com/api-css/css_03_0101.html)。 **约束限制**： 不涉及 **取值范围**： UUID格式，36个字符。 **默认取值**： 不涉及         |
   
#### 请求参数
无
#### 响应参数
**状态码：200**
表2响应Body参数 
| 参数      | 参数类型                                                                                         | 描述                                                                                                                                                |
|:---|:---|:---|
| backups | Array of [ListSnapshotBackupsResp] objects | **参数解释**： 集群快照列表，包含集群快照id、名称等信息。 **取值范围**： 不涉及 |
   
 表3ListSnapshotBackupsResp 
| 参数              | 参数类型                                                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| created         | String                                                                                               | **参数解释**： 快照创建时间，格式为ISO8601：CCYY-MM-DDThh:mm:ss。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| datastore       | [ListSnapshotBackupsDatastoreResp] object | **参数解释**： 集群引擎类型。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| description     | String                                                                                               | **参数解释**： 快照描述信息。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| id              | String                                                                                               | **参数解释**： 快照ID。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| clusterId       | String                                                                                               | **参数解释**： 集群ID。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| clusterName     | String                                                                                               | **参数解释**： 集群名称。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| name            | String                                                                                               | **参数解释**： 快照名称。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| status          | String                                                                                               | **参数解释**： 快照状态。 **取值范围**： - BUILDING：创建中。   - COMPLETED：可用。   - FAILED：不可用。   - PART_FAILED：部分可用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| backupType      | String                                                                                               | **参数解释**： 快照创建类型。 **取值范围**： - 0：表示自动创建。   - 1：表示手动创建。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| backupMethod    | String                                                                                               | **参数解释**： 创建快照方式。 **取值范围**： - auto：表示自动创建。   - manual：表示手动创建。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| backupFrequency | String                                                                                               | **参数解释**： 集群快照频率。 **取值范围**： - HOUR：每小时创建快照   - DAY：每天创建快照   - SUN：星期日   - MON：星期一   - TUE：星期二   - WED：星期三   - THU：星期四   - FRI：星期五   - SAT：星期六    |
| indices         | String                                                                                               | **参数解释**： 索引信息。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| totalShards     | Integer                                                                                              | **参数解释**： 索引的总分片数。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| failedShards    | Integer                                                                                              | **参数解释**： 备份失败的分片数。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| restoreStatus   | String                                                                                               | **参数解释**： 快照恢复的状态。 **取值范围**： - restoring：恢复中。   - success：恢复成功。   - failed：恢复失败。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| startTime       | Long                                                                                                 | **参数解释**： 快照开始执行的时间戳，单位：毫秒。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| endTime         | Long                                                                                                 | **参数解释**： 快照执行结束的时间戳，单位：毫秒。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| bucketName      | String                                                                                               | **参数解释**： 保存快照数据的OBS桶名。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
 表4ListSnapshotBackupsDatastoreResp 
| 参数      | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| type    | String | **参数解释**： 集群引擎类型。 **取值范围**： - elasticsearch：Elasticsearch集群。   - openSearch：OpenSearch集群。    |
| version | String | **参数解释**： 集群引擎版本号。详细请参考CSS[使用前必读](https://support.huaweicloud.com/api-css/css_03_0001.html)中支持的版本。 **取值范围**： 不涉及                                                                                                                                                                                                                                                        |
   
#### 请求示例
查询集群的快照列表。
```
GET https://{Endpoint}/v1.0/{project_id}/clusters/{cluster_id}/index_snapshots
```
#### 响应示例
**状态码：200**
请求成功。
```
{
  "backups" : [ {
    "created" : "2018-03-07T07:34:47",
    "datastore" : {
      "type" : "elasticsearch",
      "version" : "x.x.x"
    },
    "description" : "",
    "id" : "e29d99c1-3d19-4ea4-ae8d-f252df76cbe9",
    "clusterId" : "37cb1075-c38e-4cd8-81df-442d52df3786",
    "clusterName" : "Es-xfx",
    "name" : "snapshot-002",
    "status" : "COMPLETED",
    "backupType" : "1",
    "backupMethod" : "manual",
    "backupFrequency" : "HOUR",
    "indices" : ".kibanawebsite2",
    "totalShards" : 6,
    "failedShards" : 0,
    "restoreStatus" : "success",
    "startTime" : 1520408087099,
    "endTime" : 1520408412219,
    "bucketName" : "obs-b8ed"
  }, {
    "created" : "2018-03-06T15:42:37",
    "datastore" : {
      "type" : "elasticsearch",
      "version" : "x.x.x"
    },
    "description" : "",
    "id" : "29a2254e-947f-4463-b65a-5f0b17515fae",
    "clusterId" : "37cb1075-c38e-4cd8-81df-442d52df3786",
    "clusterName" : "Es-xfx",
    "name" : "snapshot-001",
    "status" : "COMPLETED",
    "backupType" : "1",
    "backupMethod" : "manual",
    "indices" : ".kibana",
    "totalShards" : 1,
    "failedShards" : 0,
    "restoreStatus" : "success",
    "startTime" : 1520350957275,
    "endTime" : 1520351284357,
    "bucketName" : "obs-b8ed"
  } ]
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  ```
  package com.huaweicloud.sdk.test;
  import com.huaweicloud.sdk.core.auth.ICredential;
  import com.huaweicloud.sdk.core.auth.BasicCredentials;
  import com.huaweicloud.sdk.core.exception.ConnectionException;
  import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  import com.huaweicloud.sdk.css.v1.region.CssRegion;
  import com.huaweicloud.sdk.css.v1.*;
  import com.huaweicloud.sdk.css.v1.model.*;
  public class ListSnapshotsSolution {
      public static void main(String[] args) {
          // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
          // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
          String ak = System.getenv("CLOUD_SDK_AK");
          String sk = System.getenv("CLOUD_SDK_SK");
          String projectId = "{project_id}";
          ICredential auth = new BasicCredentials()
                  .withProjectId(projectId)
                  .withAk(ak)
                  .withSk(sk);
          CssClient client = CssClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(CssRegion.valueOf("<YOUR REGION>"))
                  .build();
          ListSnapshotsRequest request = new ListSnapshotsRequest();
          request.withClusterId("{cluster_id}");
          try {
              ListSnapshotsResponse response = client.listSnapshots(request);
              System.out.println(response.toString());
          } catch (ConnectionException e) {
              e.printStackTrace();
          } catch (RequestTimeoutException e) {
              e.printStackTrace();
          } catch (ServiceResponseException e) {
              e.printStackTrace();
              System.out.println(e.getHttpStatusCode());
              System.out.println(e.getRequestId());
              System.out.println(e.getErrorCode());
              System.out.println(e.getErrorMsg());
          }
      }
  }
  ```
- [Python]
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkcss.v1.region.css_region import CssRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkcss.v1 import *
  if __name__ == "__main__":
      # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak = os.environ["CLOUD_SDK_AK"]
      sk = os.environ["CLOUD_SDK_SK"]
      projectId = "{project_id}"
      credentials = BasicCredentials(ak, sk, projectId)
      client = CssClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(CssRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = ListSnapshotsRequest()
          request.cluster_id = "{cluster_id}"
          response = client.list_snapshots(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      css "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/region"
  )
  func main() {
      // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak := os.Getenv("CLOUD_SDK_AK")
      sk := os.Getenv("CLOUD_SDK_SK")
      projectId := "{project_id}"
      auth, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := css.CssClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := css.NewCssClient(hcClient)
      request := &model.ListSnapshotsRequest{}
  request.ClusterId = "{cluster_id}"
  response, err := client.ListSnapshots(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CSS/sdk?api=ListSnapshots&version=v1)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述                     |
|:---|:---|
| 200 | 请求成功。                  |
| 406 | 服务器无法根据客户端请求的内容特性完成请求。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-css/css_03_0076.html)。
