Копирование определения задания

В этой статье представлена разбивка структуры определения для элементов задания копирования.

Части определения

В этой таблице перечислены части определения.

Путь к части определения type Обязательно Description
copyjob-content.json ContentDetails (JSON) true Описание свойств и параметров элемента, например источника и назначения
.platform PlatformDetails (JSON) false Описание общих сведений об элементе

ContentDetails

Описание содержимого полезных данных

Имя. Тип Description
свойства CopyJobProperties Свойства CopyJob.
activities CopyJobActivity[] Список действий CopyJob.

Описание содержимого CopyJobProperties

Описание полей, используемых для создания свойств

Имя. Тип Обязательно Description
jobMode String (Enum) true Описывает режим задания с двумя возможными значениями: Batch и CDC(добавочный).
source CopyJobConnection false Описывает источник.
destination CopyJobConnection false Описывает назначение.
policy CopyJobPolicy false Описывает политику для задания копирования, например времени ожидания.

Описание содержимого CopyJobConnection

Имя. Тип Обязательно Description
type String true Описывает тип источника данных или назначения.
connectionSettings CopyJobConnectionSettings true Описывает параметры подключения для конечной точки.

Описание содержимого CopyJobConnectionSettings

Описывает поля для параметров подключения. Здесь, в зависимости от типа, необходимо указать типProperties или externalReferences или оба типа.

Имя. Тип Обязательно Description
type String true Описывает тип подключения.
typeProperties CopyJobConnectionTypeProperties false Описывает свойства подключения.
внешниеСсылки ExternalReference false Описывает внешнюю ссылку для подключения.

Описание содержимого CopyJobConnectionTypeProperties

Имя. Тип Обязательно Description
schema String false Указывает схему.
база данных String false Имя базы данных .
workspaceId String (GUID) false Указывает идентификатор рабочей области, в которой существует подключенный элемент.
artifactId String (GUID) false Указывает идентификатор подключенного элемента.
корневая папка String false Указывает корневую папку.
endpoint String false Указывает конечную точку.

Описание содержимого ExternalReferences

Имя. Тип Обязательно Description
connection String (GUID) true Указывает идентификатор подключения.

Описание содержимого CopyJobPolicy

Имя. Тип Обязательно Description
timeout String true Указывает длительность ожидания. Соответствует шаблону: ((\\d+)\\.)?(\\d\\d):(60\|(\[0-5\]\[0-9\])):(60\|(\[0-5\]\[0-9\]))
retry Целое число false Указывает количество повторных попыток для задания копирования.

Описание содержимого CopyJobActivity

Описание полей, используемых для создания свойств

Имя. Тип Обязательно Description
свойства CopyJobActivityProperties true Описывает свойства действия.
id String (GUID) false Идентификатор действия.

Описание содержимого CopyJobActivityProperties

Описание полей, используемых для создания свойств

Имя. Тип Обязательно Description
source CopyJobActivitySource true Описывает параметры источника.
destination CopyJobActivityDestination true Описывает параметры назначения.
translator CopyJobActivityTranslator true Описание параметров переводчика.
typeConversionSettings CopyJobActivityMappingTypeConversionSettings true Описывает параметры преобразования типов.
enableStaging Boolean false Указывает, включена ли промежуточная или нет.

Описание содержимого CopyJobActivitySource

Имя. Тип Обязательно Description
exportSettings CopyJobExportSettings false Описывает параметры экспорта.
datasetSettings CopyJobDatasetSettings false Описывает параметры набора данных.
changeDataSettings CopyJobChangeDataSettings false Описывает параметры измененных данных.
storeSettings CopyJobStoreSettings false Описание параметров хранилища.
formatSettings CopyJobFormatSettings false Описывает параметры формата.
noTruncation Boolean false Указывает, разрешено ли усечение.
настройки раздела CopyJobPartitionSettings false Описывает параметры секции для источника.

Описание содержимого CopyJobPartitionSettings

Имя. Тип Обязательно Description
partitionOption String false Задает параметр секции.

Описание содержимого CopyJobActivityDestination

Имя. Тип Обязательно Description
tableOption String false Указывает параметр для действия, связанного с таблицами.
upsertSettings SqlUpsertSettings false Описывает параметры upsert.
partitionOption String false Задает механизм секционирования для записи в назначение.
partitionNameList String[] false Указывает список ключей и столбцов, используемых для механизма секционирования.
writeBehaviour String false Указывает behvaiour записи, например Append или Overwrite.
importSettings CopyJobImportSettings false Описывает параметры импорта.
datasetSettings CopyJobDatasetSettings false Описывает параметры набора данных.
storeSettings CopyJobStoreSettings false Описание параметров хранилища.
formatSettings CopyJobFormatSettings false Описывает параметры формата.
noTruncation Boolean false Указывает, разрешено ли усечение.

Описание содержимого CopyJobExportSettings

Имя. Тип Обязательно Description
type String false Описывает тип параметров экспорта.

Описание содержимого CopyJobDatasetSettings

Имя. Тип Обязательно Description
Схема String false Описывает схему.
table String false Указывает имя таблицы.
Местоположение CopyJobDatasetSettingsLocation false Описывает расположение.
Сжатие CopyJobDatasetSettingsCompressionSettings false Описывает параметры сжатия.
columnDelimiter String false Указывает разделитель столбцов.
rowDelimiter String false Указывает разделитель строк.
escapeChar String false Задает escape-символ.
firstRowAsHeader Boolean false Указывает, будет ли первая строка использоваться в качестве заголовка или нет.
quoteChar String false Задает символ кавычки.
encodingName String false Задает кодировку.
compressionCodec String false Задает кодек сжатия.
compressionLevel String false Задает уровень сжатия.
objectApiName String false Указывает имя API объекта.
reportId String false Указывает идентификатор отчета в случае подключения типа Salesforce.
nullValue String false Указывает представление значения NULL.

Описание содержимого CopyJobDatasetSettingsLocation

Имя. Тип Обязательно Description
type String false Описывает тип расположения.
fileName String false Указывает имя файла.
folderPath String false Путь к папке.
container String false Имя контейнера.
файловая система String false Имя файловой системы.
bucketName String false Имя контейнера.

Описание содержимого CopyJobDatasetSettingsCompressionSettings

Имя. Тип Обязательно Description
type String false Описывает тип сжатия.
уровень String false Декрибирует уровень сжатия.

Описание содержимого CopyJobChangeDataSettings

Имя. Тип Обязательно Description
ReadMethod String false Задает метод чтения.
Колонны CopyJobChangeDataColumn[] false Указывает список столбцов измененных данных.

Описание содержимого CopyJobChangeDataColumn

Имя. Тип Обязательно Description
имя String false Определяет имя столбца.
type String false Указывает тип столбца.
physicalType String false Указывает физический тип столбца.
length String false Указывает длину столбца.
scale Целое число false Задает масштаб столбца.
точность Целое число false Указывает точность столбца.

Описание содержимого CopyJobStoreSettings

Имя. Тип Обязательно Description
type String false Указывает тип параметра хранилища.
recursive Boolean false Указывает, является ли он рекурсивным.
prefix String false Указывает используемую строку префикса.
Подстановочный знакFolderPath String false Указывает путь к папке подстановочного знака.
wildcardFileName String false Указывает имя файла подстановочного знака.
fileListPath String false Указывает путь к списку файлов.
modifiedDatetimeStart String false Указывает начало измененного диапазона даты и времени.
modifiedDatetimeEnd String false Указывает конец измененного диапазона даты и времени.
enablePartitionDiscovery Boolean false Указывает, включено ли обнаружение секций.
copyBehavior String false Указывает поведение копирования.

Описание содержимого CopyJobFormatSettings

Имя. Тип Обязательно Description
type String false Указывает тип параметра формата.
fileExtension String false Указывает расширение файла.
quoteAllText Boolean false Указывает, следует ли кавычекировать весь текст.
enableVertiParquet Boolean false Указывает, включен ли VertiParquet.

Описание содержимого CopyJobSqlUpsertSettings

Имя. Тип Обязательно Description
useTempDB Boolean false Указывает, следует ли использовать temp db для промежуточной таблицы upsert.
interimSchemaName String false Имя схемы для промежуточной таблицы.
ключи String[] false Имена ключевых столбцов для уникальной идентификации строк.

Описание содержимого CopyJobImportSettings

Имя. Тип Обязательно Description
type String false Описывает тип параметров импорта.

Описание содержимого CopyJobActivityTranslator

Имя. Тип Обязательно Description
type String false Указывает тип переводчика.
mappings CopyJobActivityMapping[] false Задает список сопоставлений действий.

Описание содержимого CopyJobActivityMapping

Имя. Тип Обязательно Description
source CopyJobActivityMappingColumn false Указывает сопоставление исходного столбца.
destination CopyJobActivityMappingColumn false Указывает сопоставление столбцов назначения.

Описание содержимого CopyJobActivityMappingColumn

Имя. Тип Обязательно Description
имя String false Определяет имя столбца.
type String false Указывает тип столбца.
physicalType String false Указывает физический тип столбца.
length Строка (целое число) false Указывает длину столбца.
scale Целое число false Задает масштаб столбца.
точность Целое число false Указывает точность столбца.

Описание содержимого CopyJobActivityMappingTypeConversionSettings

Описание полей, используемых для создания свойств

Имя. Тип Обязательно Description
typeConversion CopyJobActivityMappingTypeConversion true Описывает свойства преобразования типов.

Описание содержимого CopyJobActivityMappingTypeConversion

Описание полей, используемых для создания свойств

Имя. Тип Обязательно Description
allowDataTruncation Boolean false Указывает, разрешено ли усечение данных.
treatBooleanAsNumber Boolean false Указывает, следует ли рассматривать логическое значение как число.

Пример 1 ContentDetails

{ 
  "properties": { 
    "jobMode": "Batch" 
  }, 
  "activities": [] 
} 

Пример 2 ContentDetails

{
  "properties": { 
    "jobMode": "Batch", 
    "source": { 
      "type": "LakehouseTable", 
      "connectionSettings": { 
        "type": "Lakehouse", 
        "typeProperties": { 
          "workspaceId": "00000000-0000-0000-0000-000000000000", 
          "artifactId": "aaaaaaaa-6666-7777-8888-bbbbbbbbbbbb", 
          "rootFolder": "Tables" 
        } 
      } 
    }, 
    "destination": { 
      "type": "LakehouseTable", 
      "connectionSettings": { 
        "type": "Lakehouse", 
        "typeProperties": { 
          "workspaceId": "00000000-0000-0000-0000-000000000000", 
          "artifactId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", 
          "rootFolder": "Tables" 
        } 
      } 
    }, 
    "policy": { 
      "timeout": "0.12:00:00" 
    } 
  }, 
  "activities": [ 
    { 
      "id": "eeeeeeee-4444-5555-6666-ffffffffffff", 
      "properties": { 
        "source": { 
          "datasetSettings": { 
            "table": "publicholidays", 
            "firstRowAsHeader": true 
          } 
        }, 
        "destination": { 
          "writeBehavior": "Append", 
          "datasetSettings": { 
            "table": "publicholidays", 
            "firstRowAsHeader": false 
          } 
        }, 
        "translator": { 
          "type": "TabularTranslator" 
        }, 
        "typeConversionSettings": { 
          "typeConversion": { 
            "allowDataTruncation": true, 
            "treatBooleanAsNumber": false 
          } 
        } 
      } 
    } 
  ] 
}

Пример 3 ContentDetails

{
  "properties": {
    "jobMode": "CDC",
    "source": {
      "type": "AzureSqlTable",
      "connectionSettings": {
        "type": "AzureSqlDatabase",
        "typeProperties": {
          "database": "sampleSqlDb"
        },
        "externalReferences": {
          "connection": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "destination": {
      "type": "AzureSqlTable",
      "connectionSettings": {
        "type": "AzureSqlDatabase",
        "typeProperties": {
          "database": "sampleSqlDb"
        },
        "externalReferences": {
          "connection": "00000000-0000-0000-0000-000000000000"
        }
      }
    },
    "policy": {
      "timeout": "0.12:00:00",
      "retry": 0
    }
  },
  "activities": [
    {
      "id": "3eb6f2d2-80df-4b4e-a007-33a118afda34",
      "properties": {
        "source": {
          "datasetSettings": {
            "schema": "primary",
            "table": "table1"
          },
          "changeDataSettings": {
            "readMethod": "SnapshotPlusIncremental",
            "columns": [
              {
                "name": "id",
                "type": "Int32",
                "physicalType": "int"
              }
            ]
          },
          "partitionSettings": {
            "partitionOption": "None"
          }
        },
        "destination": {
          "datasetSettings": {
            "schema": "backup",
            "table": "table1"
          },
          "writeBehavior": "Upsert",
          "upsertSettings": {
            "useTempDB": true,
            "keys": [
              "id"
            ]
          },
          "tableOption": "autoCreate"
        },
        "enableStaging": false,
        "translator": {
          "type": "TabularTranslator",
          "mappings": [
            {
              "source": {
                "name": "id",
                "type": "Int32",
                "physicalType": "int"
              },
              "destination": {
                "name": "id2",
                "physicalType": "int"
              }
            },
            {
              "source": {
                "name": "name",
                "type": "String",
                "physicalType": "varchar",
                "length": "256"
              },
              "destination": {
                "name": "name2",
                "physicalType": "varchar"
              }
            },
            {
              "source": {
                "name": "value",
                "type": "String",
                "physicalType": "varchar",
                "length": "256"
              },
              "destination": {
                "name": "value2",
                "physicalType": "varchar"
              }
            }
          ]
        },
        "typeConversionSettings": {
          "typeConversion": {
            "allowDataTruncation": true,
            "treatBooleanAsNumber": false
          }
        }
      }
    },
    {
      "id": "efd90069-115b-46cb-bcd7-64dcc2f5ff97",
      "properties": {
        "source": {
          "datasetSettings": {
            "schema": "primary",
            "table": "table2"
          },
          "changeDataSettings": {
            "readMethod": "SnapshotPlusIncremental",
            "columns": [
              {
                "name": "id",
                "type": "Int32",
                "physicalType": "int"
              }
            ]
          },
          "partitionSettings": {
            "partitionOption": "None"
          }
        },
        "destination": {
          "datasetSettings": {
            "schema": "backup",
            "table": "table2"
          },
          "writeBehavior": "Upsert",
          "upsertSettings": {
            "useTempDB": true,
            "keys": [
              "name"
            ]
          },
          "tableOption": "autoCreate"
        },
        "enableStaging": false,
        "translator": {
          "type": "TabularTranslator",
          "mappings": [
            {
              "source": {
                "name": "id",
                "type": "Int32",
                "physicalType": "int"
              },
              "destination": {
                "name": "id3",
                "physicalType": "int"
              }
            },
            {
              "source": {
                "name": "age",
                "type": "String",
                "physicalType": "nvarchar",
                "length": "MAX"
              },
              "destination": {
                "name": "age3",
                "physicalType": "nvarchar",
                "length": "MAX"
              }
            },
            {
              "source": {
                "name": "name",
                "type": "String",
                "physicalType": "nvarchar",
                "length": "MAX"
              },
              "destination": {
                "name": "name3",
                "physicalType": "nvarchar",
                "length": "MAX"
              }
            }
          ]
        },
        "typeConversionSettings": {
          "typeConversion": {
            "allowDataTruncation": true,
            "treatBooleanAsNumber": false
          }
        }
      }
    }
  ]
}

Пример 4 ContentDetails

{
  "properties": {
    "jobMode": "CDC",
    "source": {
      "type": "AzureSqlTable",
      "connectionSettings": {
        "type": "AzureSqlDatabase",
        "typeProperties": {
          "database": "sampleSqlDb"
        },
        "externalReferences": {
          "connection": "2a2c5ef3-a44d-4144-aa78-11d4ccb9f1b1"
        }
      }
    },
    "destination": {
      "type": "DelimitedText",
      "connectionSettings": {
        "type": "AzureBlobStorage",
        "externalReferences": {
          "connection": "1f41f4d4-f5fa-4221-a21b-f36dcdfedf41"
        }
      }
    },
    "policy": {
      "timeout": "0.12:00:00",
      "retry": 0
    }
  },
  "activities": [
    {
      "id": "b711b593-4332-4dcd-8e4e-840ce7645124",
      "properties": {
        "source": {
          "datasetSettings": {
            "schema": "primary",
            "table": "tableX"
          },
          "changeDataSettings": {
            "readMethod": "SnapshotPlusIncremental",
            "columns": [
              {
                "name": "id",
                "type": "Int32",
                "physicalType": "int"
              }
            ]
          },
          "partitionSettings": {
            "partitionOption": "None"
          }
        },
        "destination": {
          "datasetSettings": {
            "location": {
              "type": "AzureBlobStorageLocation",
              "folderPath": "folder1",
              "container": "container1"
            },
            "columnDelimiter": ";",
            "rowDelimiter": "\n",
            "compressionCodec": "gzip",
            "compressionLevel": "Optimal",
            "encodingName": "UTF-7",
            "escapeChar": "/",
            "firstRowAsHeader": true,
            "nullValue": "-----",
            "quoteChar": "'"
          },
          "formatSettings": {
            "fileExtension": ".ssv"
          }
        },
        "enableStaging": false,
        "translator": {
          "type": "TabularTranslator"
        },
        "typeConversionSettings": {
          "typeConversion": {
            "allowDataTruncation": true,
            "treatBooleanAsNumber": false
          }
        }
      }
    },
    {
      "id": "de5b461a-efb3-4d34-a9ec-dd578502555e",
      "properties": {
        "source": {
          "datasetSettings": {
            "schema": "primary",
            "table": "tableY"
          },
          "changeDataSettings": {
            "readMethod": "SnapshotPlusIncremental",
            "columns": [
              {
                "name": "age",
                "type": "Int32",
                "physicalType": "int"
              }
            ]
          },
          "partitionSettings": {
            "partitionOption": "None"
          }
        },
        "destination": {
          "datasetSettings": {
            "location": {
              "type": "AzureBlobStorageLocation",
              "folderPath": "folder1",
              "container": "container1"
            },
            "columnDelimiter": "\t",
            "rowDelimiter": "\n",
            "compressionCodec": "gzip",
            "compressionLevel": "Optimal",
            "encodingName": "UTF-7",
            "escapeChar": "/",
            "firstRowAsHeader": true,
            "nullValue": "-----",
            "quoteChar": "'"
          },
          "formatSettings": {
            "fileExtension": ".tsv"
          }
        },
        "enableStaging": false,
        "translator": {
          "type": "TabularTranslator"
        },
        "typeConversionSettings": {
          "typeConversion": {
            "allowDataTruncation": true,
            "treatBooleanAsNumber": false
          }
        }
      }
    }
  ]
}