
# 创建同步任务 - CreateSyncTask
#### 功能介绍
创建同步任务，创建成功后，任务会被自动启动，不需要额外调用启动任务命令。
#### 接口约束
- 单个租户最多创建5个同步任务
  
 
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-oms/oms_api_0006.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-oms/oms_api_8001.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                 | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | oms:synctask:create | Write | synctask \* | -   | -  | -      |
     
  
 
#### URI
POST /v2/{project_id}/sync-tasks
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                 |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。 最小长度：**1** 最大长度：**1024** |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                        |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | IAM鉴权Token。 最小长度：**1** 最大长度：**16384** |
   
表3请求Body参数 
| 参数                        | 是否必选 | 参数类型                                                         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| src_cloud_type            | 否    | String                                                       | 源端云服务提供商。可选值有AWS、Azure、Aliyun、Tencent、HuaweiCloud、QingCloud、KingsoftCloud、Baidu、Qiniu、UCloud。默认值为Aliyun。 缺省值：**Aliyun**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| src_region                | 是    | String                                                       | 源端桶所处的区域 最小长度：**0** 最大长度：**100**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| src_bucket                | 是    | String                                                       | 源端桶名 最小长度：**0** 最大长度：**1024**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| src_ak                    | 是    | String                                                       | 源端桶的AK（最大长度100个字符）。 最小长度：**0** 最大长度：**100**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| src_sk                    | 是    | String                                                       | 源端桶的SK（最大长度100个字符）。 最小长度：**0** 最大长度：**100**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| src_crypto_type           | 否    | String                                                       | 加解密类型，默认为DEFAULT，可选类型为DEFAULT、KMS 缺省值：**DEFAULT** 最小长度：**1** 最大长度：**32** 枚举值： - **DEFAULT**   - **KMS**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| src_kms_key_id            | 否    | String                                                       | KMS密钥ID，36个字符 最小长度：**0** 最大长度：**36**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| dst_ak                    | 是    | String                                                       | 目的端桶的AK（最大长度100个字符）。 最小长度：**0** 最大长度：**100**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| dst_sk                    | 是    | String                                                       | 目的端桶的SK（最大长度100个字符）。 最小长度：**0** 最大长度：**100**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| dst_crypto_type           | 否    | String                                                       | 加解密类型，默认为DEFAULT，可选类型为DEFAULT、KMS 缺省值：**DEFAULT** 最小长度：**1** 最大长度：**32** 枚举值： - **DEFAULT**   - **KMS**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| dst_kms_key_id            | 否    | String                                                       | KMS密钥ID，36个字符 最小长度：**0** 最大长度：**36**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| dst_region                | 是    | String                                                       | 目的端region 最小长度：**0** 最大长度：**100**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| dst_bucket                | 是    | String                                                       | 目的端桶名 最小长度：**0** 最大长度：**1024**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| description               | 否    | String                                                       | 任务描述，不能超过255个字符，且不能包含\<\>()"'\&等特殊字符。 最小长度：**0** 最大长度：**255**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| enable_metadata_migration | 否    | Boolean                                                      | 是否启用元数据迁移，默认否。不启用时，为保证迁移任务正常运行，仍将为您迁移ContentType元数据。 缺省值：**false**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| enable_restore            | 否    | Boolean                                                      | 是否自动解冻归档数据，默认否。 开启后，如果遇到归档类型数据，会自动解冻再进行迁移。 缺省值：**false**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| dst_storage_policy        | 否    | String                                                       | 目的端存储类型设置，当且仅当目的端为华为云OBS时需要，默认为标准存储 STANDARD：华为云OBS标准存储 IA：华为云OBS低频存储 ARCHIVE：华为云OBS归档存储 DEEP_ARCHIVE：华为云OBS深度归档存储 SRC_STORAGE_MAPPING：保留源端存储类型，将源端存储类型映射为华为云OBS存储类型 缺省值：**STANDARD** 最小长度：**0** 最大长度：**128** 枚举值： - **STANDARD**   - **IA**   - **ARCHIVE**   - **DEEP_ARCHIVE**   - **SRC_STORAGE_MAPPING**    |
| app_id                    | 否    | String                                                       | 腾讯云APPID，当源端为腾讯云时，需要填写此参数，您可以在腾讯云控制台账号信息页面获取。 最小长度：**0** 最大长度：**255**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| source_cdn                | 否    | [SourceCdnReq] object | 指定是否启用CDN迁移支持，若包含此字段则为支持，否则为不支持，启用CDN迁移支持后，迁移时将从CDN域名获取源端对象。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| consistency_check         | 否    | String                                                       | 一致性校验方式，用于迁移前/后校验对象是否一致，所有校验方式需满足源端/目的端对象的加密状态一致，具体校验方式和校验结果可通过对象列表查看。默认size_last_modified。size_last_modified：默认配置。迁移前后，通过对比源端和目的端对象大小+最后修改时间，判断对象是否已存在或迁移后数据是否完整。源端与目的端同名对象大小相同，且目的端对象最后修改时间不早于源端对象最后修改时间，则代表该对象已存在/迁移成功。crc64：目前仅支持华为/阿里/腾讯。迁移前后，通过对比源端和目的端对象元数据中CRC64值是否相同，判断对象是否已存在/迁移完成。如果源端与目的端对象元数据中不存在CRC64值，则系统会默认使用大小/最后修改时间校验方式来校验。transmission：目前仅支持HTTP/HTTPS数据源。当源端对象无法通过标准http协议中content-length字段获取数据大小时，默认数据下载成功即迁移成功，不对数据做额外校验，且迁移时源端对象默认覆盖目的端同名对象。当源端对象能正常通过标准http协议中content-length字段获取数据大小时，则采用大小/最后修改时间校验方式来校验。 缺省值：**size_last_modified** 枚举值： - **size_last_modified**   - **crc64**   - **transmission**                                                                                                                                                                                |
   
 表4SourceCdnReq 
| 参数                  | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| authentication_key  | 否    | String | CDN鉴权密钥，如果CDN需要进行鉴权，则此选项为必选。 无需授权：无需配置此项。 Qiniu：无需配置此项。 Aliyun：根据authentication_type指定的鉴权方式配置此项。 KingsoftCloud：无需配置此项。 最小长度：**0** 最大长度：**255**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| authentication_type | 是    | String | 鉴权类型: NONE：公开访问，无安全限制, QINIU_PRIVATE_AUTHENTICATION：七牛自定义URL签名, ALIYUN_OSS_A：阿里云 URL携带签名，简单通用, ALIYUN_OSS_B：阿里云 Header携带签名，用于API调用, ALIYUN_OSS_C：阿里云 STS临时安全令牌，最安全, KSYUN_PRIVATE_AUTHENTICATION：金山云 金山云自定义URL签名, AZURE_SAS_TOKEN：微软Azure 灵活安全的共享访问签名, TENCENT_COS_A:腾讯云 多次有效签名（不推荐）, TENCENT_COS_B:腾讯云 单次有效签名，安全性最高, TENCENT_COS_C:腾讯云 Header携带签名，用于API调用, TENCENT_COS_D:腾讯云 Header携带签名，用于API调用. 缺省值：**NONE** 枚举值： - **NONE**   - **QINIU_PRIVATE_AUTHENTICATION**   - **ALIYUN_OSS_A**   - **ALIYUN_OSS_B**   - **ALIYUN_OSS_C**   - **KSYUN_PRIVATE_AUTHENTICATION**   - **AZURE_SAS_TOKEN**   - **TENCENT_COS_A**   - **TENCENT_COS_B**   - **TENCENT_COS_C**   - **TENCENT_COS_D**    |
| domain              | 是    | String | 从指定域名获取对象。 最小长度：**0** 最大长度：**1024**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| protocol            | 是    | String | 协议类型，支持http和https协议。 枚举值： - **http**   - **https**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| crypto_type         | 否    | String | 加解密类型，默认为DEFAULT，可选类型为DEFAULT、KMS 缺省值：**DEFAULT** 最小长度：**1** 最大长度：**32** 枚举值： - **DEFAULT**   - **KMS**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| kms_key_id          | 否    | String | KMS密钥ID，36个字符 最小长度：**0** 最大长度：**36**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数           | 参数类型   | 描述                                                                                                 |
|:---|:---|:---|
| sync_task_id | String | 同步任务ID 最小长度：**0** 最大长度：**255** |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_msg  | String | 错误信息。 |
| error_code | String | 错误码。  |
   
#### 请求示例
创建阿里云北京api-auto-test1桶到华为云北京4的oms-sonar-north桶的同步任务
```
POST https://{endpoint}/v2/{project_id}/sync-tasks
{
  "src_cloud_type" : "Aliyun",
  "src_region" : "cn-beijing",
  "src_bucket" : "api-auto-test1",
  "src_ak" : "src_ak",
  "src_sk" : "src_sk",
  "dst_ak" : "dst_ak",
  "dst_sk" : "dst_sk",
  "dst_region" : "cn-north-4",
  "dst_bucket" : "oms-sonar-north",
  "description" : "XXXX",
  "enable_restore" : false,
  "enable_metadata_migration" : false
}
```
#### 响应示例
**状态码：200**
Created
```
{
  "sync_task_id" : "xxxxxxxxxxxxxxxxx"
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  创建阿里云北京api-auto-test1桶到华为云北京4的oms-sonar-north桶的同步任务
  ```
  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.oms.v2.region.OmsRegion;
  import com.huaweicloud.sdk.oms.v2.*;
  import com.huaweicloud.sdk.oms.v2.model.*;
  public class CreateSyncTaskSolution {
      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);
          OmsClient client = OmsClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(OmsRegion.valueOf("<YOUR REGION>"))
                  .build();
          CreateSyncTaskRequest request = new CreateSyncTaskRequest();
          CreateSyncTaskReq body = new CreateSyncTaskReq();
          body.withEnableRestore(false);
          body.withEnableMetadataMigration(false);
          body.withDescription("XXXX");
          body.withDstBucket("oms-sonar-north");
          body.withDstRegion("cn-north-4");
          body.withDstSk("dst_sk");
          body.withDstAk("dst_ak");
          body.withSrcSk("src_sk");
          body.withSrcAk("src_ak");
          body.withSrcBucket("api-auto-test1");
          body.withSrcRegion("cn-beijing");
          body.withSrcCloudType("Aliyun");
          request.withBody(body);
          try {
              CreateSyncTaskResponse response = client.createSyncTask(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]
  创建阿里云北京api-auto-test1桶到华为云北京4的oms-sonar-north桶的同步任务
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkoms.v2.region.oms_region import OmsRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkoms.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 = OmsClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(OmsRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = CreateSyncTaskRequest()
          request.body = CreateSyncTaskReq(
              enable_restore=False,
              enable_metadata_migration=False,
              description="XXXX",
              dst_bucket="oms-sonar-north",
              dst_region="cn-north-4",
              dst_sk="dst_sk",
              dst_ak="dst_ak",
              src_sk="src_sk",
              src_ak="src_ak",
              src_bucket="api-auto-test1",
              src_region="cn-beijing",
              src_cloud_type="Aliyun"
          )
          response = client.create_sync_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]
  创建阿里云北京api-auto-test1桶到华为云北京4的oms-sonar-north桶的同步任务
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      oms "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/oms/v2"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/oms/v2/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/oms/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 := oms.OmsClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := oms.NewOmsClient(hcClient)
      request := &model.CreateSyncTaskRequest{}
  enableRestoreCreateSyncTaskReq:= false
  enableMetadataMigrationCreateSyncTaskReq:= false
  descriptionCreateSyncTaskReq:= "XXXX"
  srcCloudTypeCreateSyncTaskReq:= "Aliyun"
  request.Body = &model.CreateSyncTaskReq{
  EnableRestore: &enableRestoreCreateSyncTaskReq,
  EnableMetadataMigration: &enableMetadataMigrationCreateSyncTaskReq,
  Description: &descriptionCreateSyncTaskReq,
  DstBucket: "oms-sonar-north",
  DstRegion: "cn-north-4",
  DstSk: "dst_sk",
  DstAk: "dst_ak",
  SrcSk: "src_sk",
  SrcAk: "src_ak",
  SrcBucket: "api-auto-test1",
  SrcRegion: "cn-beijing",
  SrcCloudType: &srcCloudTypeCreateSyncTaskReq,
  }
  response, err := client.CreateSyncTask(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/OMS/sdk?api=CreateSyncTask)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | Created     |
| 400 | Bad Request |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-oms/ErrorCode.html)。
