# 异步导出实例资源 - ExportInstancesTask
#### 功能介绍
调用本接口，返回的任务ID（job_id）用于[查询实例列表导出任务详情](https://support.huaweicloud.com/api-dcs/ExportExcelJob.html)接口，获取导出的实例列表。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dcs/api-call-process.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dcs/api-grant-policy.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项               | 访问级别 | 资源类型（\*为必须） | 条件键                   | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | dcs:instance:list | List | -           | g:EnterpriseProjectId | -  | -      |
     
  
 
#### URI
POST /v2/{project_id}/instances/export
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-dcs/dcs-api-0312045.html)。 |
   
#### 请求参数
表2请求Body参数 
| 参数                    | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| included_instances    | 否    | Array of strings | 导出实例列表，如果为空，则会导出满足其余参数条件的所有实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| region                | 是    | String           | 局点名称，用于导出的文件名命名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| name                  | 否    | String           | 按照实例名称筛选实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| capacity              | 否    | String           | 按照实例容量筛选实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| instance_id           | 否    | String           | 按照实例ID筛选实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ip                    | 否    | String           | 按照IP地址筛选实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| available_zone        | 否    | String           | 按照可用区筛选实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| status                | 否    | String           | 按照实例状态筛选实例，取值范围如下： - RUNNING：运行中   - EXTENDING：扩缩容中   - CREATING：创建中   - ERROR：异常状态   - DELETEFAILED：删除失败   - FROZEN：冻结状态   - RESTARTING：重启中    |
| product_type          | 否    | String           | 按照产品类型筛选实例，取值范围如下： - generic：基础版   - enterprise：企业版                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| cache_mode            | 否    | String           | 按照实例类型筛选实例，取值范围如下： - single：单机实例   - ha：主备实例   - ha_rw_split：读写分离实例   - cluster：cluster集群实例   - proxy：proxy集群实例                                                                                                                                                                                                                                                                                                                                                                                             |
| engine                | 否    | String           | 按照缓存引擎筛选实例，当前仅支持Redis。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| engine_version        | 否    | String           | 按照缓存引擎版本筛选实例，例如：4.0。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| cpu_type              | 否    | String           | 按照CPU类型筛选实例，取值范围如下。 - x86_64：x86架构。   - aarch64：Arm架构。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| enterprise_project_id | 否    | String           | 按照企业项目ID筛选实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| charging_mode         | 否    | String           | 按照计费方式筛选实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| tags                  | 否    | String           | 按照标签筛选实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数     | 参数类型   | 描述         |
|:---|:---|:---|
| job_id | String | 导出实例的任务ID。 |
   
**状态码：400**
表4响应Body参数 
| 参数            | 参数类型   | 描述                                                                                                                                                                                                              |
|:---|:---|:---|
| error_msg     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                                                             |
| error_code    | String | **参数解释**： 错误码。 **取值范围**： 请参见[错误码](https://support.huaweicloud.com/api-dcs/ErrorCode.html)。 |
| error_ext_msg | String | **参数解释**： 扩展错误信息（暂未使用，不返回）。 **取值范围**： 不涉及。                                                 |
   
**状态码：401**
表5响应Body参数 
| 参数            | 参数类型   | 描述                                                                                                                                                                                                              |
|:---|:---|:---|
| error_msg     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                                                             |
| error_code    | String | **参数解释**： 错误码。 **取值范围**： 请参见[错误码](https://support.huaweicloud.com/api-dcs/ErrorCode.html)。 |
| error_ext_msg | String | **参数解释**： 扩展错误信息（暂未使用，不返回）。 **取值范围**： 不涉及。                                                 |
   
**状态码：403**
表6响应Body参数 
| 参数            | 参数类型   | 描述                                                                                                                                                                                                              |
|:---|:---|:---|
| error_msg     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                                                             |
| error_code    | String | **参数解释**： 错误码。 **取值范围**： 请参见[错误码](https://support.huaweicloud.com/api-dcs/ErrorCode.html)。 |
| error_ext_msg | String | **参数解释**： 扩展错误信息（暂未使用，不返回）。 **取值范围**： 不涉及。                                                 |
   
**状态码：404**
表7响应Body参数 
| 参数            | 参数类型   | 描述                                                                                                                                                                                                              |
|:---|:---|:---|
| error_msg     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                                                             |
| error_code    | String | **参数解释**： 错误码。 **取值范围**： 请参见[错误码](https://support.huaweicloud.com/api-dcs/ErrorCode.html)。 |
| error_ext_msg | String | **参数解释**： 扩展错误信息（暂未使用，不返回）。 **取值范围**： 不涉及。                                                 |
   
**状态码：500**
表8响应Body参数 
| 参数            | 参数类型   | 描述                                                                                                                                                                                                              |
|:---|:---|:---|
| error_msg     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                                                             |
| error_code    | String | **参数解释**： 错误码。 **取值范围**： 请参见[错误码](https://support.huaweicloud.com/api-dcs/ErrorCode.html)。 |
| error_ext_msg | String | **参数解释**： 扩展错误信息（暂未使用，不返回）。 **取值范围**： 不涉及。                                                 |
   
#### 请求示例
```
POST https://{dcs_endpoint}/v2/{project_id}/instances/export
{
  "included_instances" : [ ],
  "region" : "Region",
  "name" : "name",
  "capacity" : "2",
  "instance_id" : "52f265a5-13c4-42cc-b0fa-38ef830e6391",
  "ip" : "192.168.78.24",
  "available_zone" : "d539378ec1314c85b76fefa3f7071458",
  "status" : "RUNNING",
  "product_type" : "generic",
  "cache_mode" : "proxy",
  "engine" : "Redis",
  "engine_version" : "4.0",
  "cpu_type" : "x86_64",
  "enterprise_project_id" : "93085bd3-6a84-4acc-bc70-5ebfa18c77b6",
  "charging_mode" : "0",
  "tags" : "aaa=cccc"
}
```
#### 响应示例
**状态码：200**
```
{
  "job_id" : "ff80808188bfde180188c223434d6f7a"
}
```
#### 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.dcs.v2.region.DcsRegion;
  import com.huaweicloud.sdk.dcs.v2.*;
  import com.huaweicloud.sdk.dcs.v2.model.*;
  import java.util.List;
  import java.util.ArrayList;
  public class ExportInstancesTaskSolution {
      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);
          DcsClient client = DcsClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(DcsRegion.valueOf("<YOUR REGION>"))
                  .build();
          ExportInstancesTaskRequest request = new ExportInstancesTaskRequest();
          ExportInstancesTaskBody body = new ExportInstancesTaskBody();
          body.withTags("aaa=cccc");
          body.withChargingMode("0");
          body.withEnterpriseProjectId("93085bd3-6a84-4acc-bc70-5ebfa18c77b6");
          body.withCpuType("x86_64");
          body.withEngineVersion("4.0");
          body.withEngine("Redis");
          body.withCacheMode("proxy");
          body.withProductType(ExportInstancesTaskBody.ExportInstancesTaskBody.fromValue("generic"));
          body.withStatus("RUNNING");
          body.withAvailableZone("d539378ec1314c85b76fefa3f7071458");
          body.withIp("192.168.78.24");
          body.withInstanceId("52f265a5-13c4-42cc-b0fa-38ef830e6391");
          body.withCapacity("2");
          body.withName("name");
          body.withRegion("Region");
          request.withBody(body);
          try {
              ExportInstancesTaskResponse response = client.exportInstancesTask(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 huaweicloudsdkdcs.v2.region.dcs_region import DcsRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkdcs.v2 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 = DcsClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(DcsRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = ExportInstancesTaskRequest()
          request.body = ExportInstancesTaskBody(
              tags="aaa=cccc",
              charging_mode="0",
              enterprise_project_id="93085bd3-6a84-4acc-bc70-5ebfa18c77b6",
              cpu_type="x86_64",
              engine_version="4.0",
              engine="Redis",
              cache_mode="proxy",
              product_type="generic",
              status="RUNNING",
              available_zone="d539378ec1314c85b76fefa3f7071458",
              ip="192.168.78.24",
              instance_id="52f265a5-13c4-42cc-b0fa-38ef830e6391",
              capacity="2",
              name="name",
              region="Region"
          )
          response = client.export_instances_task(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"
      dcs "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dcs/v2"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dcs/v2/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dcs/v2/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 := dcs.DcsClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := dcs.NewDcsClient(hcClient)
      request := &model.ExportInstancesTaskRequest{}
  tagsExportInstancesTaskBody:= "aaa=cccc"
  chargingModeExportInstancesTaskBody:= "0"
  enterpriseProjectIdExportInstancesTaskBody:= "93085bd3-6a84-4acc-bc70-5ebfa18c77b6"
  cpuTypeExportInstancesTaskBody:= "x86_64"
  engineVersionExportInstancesTaskBody:= "4.0"
  engineExportInstancesTaskBody:= "Redis"
  cacheModeExportInstancesTaskBody:= "proxy"
  productTypeExportInstancesTaskBody:= model.GetExportInstancesTaskBodyProductTypeEnum().GENERIC
  statusExportInstancesTaskBody:= "RUNNING"
  availableZoneExportInstancesTaskBody:= "d539378ec1314c85b76fefa3f7071458"
  ipExportInstancesTaskBody:= "192.168.78.24"
  instanceIdExportInstancesTaskBody:= "52f265a5-13c4-42cc-b0fa-38ef830e6391"
  capacityExportInstancesTaskBody:= "2"
  nameExportInstancesTaskBody:= "name"
  request.Body = &model.ExportInstancesTaskBody{
  Tags: &tagsExportInstancesTaskBody,
  ChargingMode: &chargingModeExportInstancesTaskBody,
  EnterpriseProjectId: &enterpriseProjectIdExportInstancesTaskBody,
  CpuType: &cpuTypeExportInstancesTaskBody,
  EngineVersion: &engineVersionExportInstancesTaskBody,
  Engine: &engineExportInstancesTaskBody,
  CacheMode: &cacheModeExportInstancesTaskBody,
  ProductType: &productTypeExportInstancesTaskBody,
  Status: &statusExportInstancesTaskBody,
  AvailableZone: &availableZoneExportInstancesTaskBody,
  Ip: &ipExportInstancesTaskBody,
  InstanceId: &instanceIdExportInstancesTaskBody,
  Capacity: &capacityExportInstancesTaskBody,
  Name: &nameExportInstancesTaskBody,
  Region: "Region",
  }
  response, err := client.ExportInstancesTask(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DCS/sdk?api=ExportInstancesTask&version=v2)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | 异步导出实例资源返回成功。 |
| 400 | 非法请求。         |
| 401 | 认证信息非法。       |
| 403 | 请求被拒绝访问。      |
| 404 | 所请求的资源不存在。    |
| 500 | 内部服务错误。       |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dcs/ErrorCode.html)。
