В этой статье представлена разбивка структуры определения для элементов задания копирования.
Части определения
В этой таблице перечислены части определения.
| Путь к части определения |
type |
Обязательно |
Description |
copyjob-content.json |
ContentDetails (JSON) |
true |
Описание свойств и параметров элемента, например источника и назначения |
.platform |
PlatformDetails (JSON) |
false |
Описание общих сведений об элементе |
ContentDetails
Описание содержимого полезных данных
Описание содержимого 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
Описание полей, используемых для создания свойств
Описание содержимого CopyJobActivitySource
Описание содержимого 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
Описание содержимого CopyJobActivityMappingColumn
| Имя. |
Тип |
Обязательно |
Description |
| имя |
String |
false |
Определяет имя столбца. |
| type |
String |
false |
Указывает тип столбца. |
| physicalType |
String |
false |
Указывает физический тип столбца. |
| length |
Строка (целое число) |
false |
Указывает длину столбца. |
| scale |
Целое число |
false |
Задает масштаб столбца. |
| точность |
Целое число |
false |
Указывает точность столбца. |
Описание содержимого CopyJobActivityMappingTypeConversionSettings
Описание полей, используемых для создания свойств
Описание содержимого 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
}
}
}
}
]
}