Я использую фабрику данных Azure для преобразования большого двоичного объекта, а затем пытаюсь скопировать его в хранилище таблиц Azure.Я использую операцию копирования.Конвейер состоит из потока данных, а затем операции копирования.
Все работает хорошо, кроме сопоставления моего rowkey.Я использовал операцию преобразования для генерации ключа строки на основе SKU продукта.Когда я иду в приемник и выбираю «использовать исходный столбец», он показывает «вариант выбора» под «столбцом ключа строки», но мой единственный вариант - «Добавить динамическое содержимое», и я не получаю никаких параметров столбца.
Мой ключ строки в источнике отображается с помощью функции отображения, но кажется, что без указания динамического содержимого он переопределяется с уникальным идентификатором по умолчанию.Поскольку это SKU продукта, и я хочу объединить данные, мне абсолютно необходимы мои собственные ключи строк.
Я новичок в ADF, я пытался ссылаться на мой ключ строки, используя динамический контент, но он только генерирует не найденные ошибки.Я не уверен, правильно ли я ссылаюсь на источник при написании выражения.
Я связался со службой поддержки Azure и жду ответа, но посмотрим.
{
"name": "BlobTransformsToTable",
"properties": {
"activities": [
{
"name": "TransformThenCopyToTable",
"type": "Copy",
"dependsOn": [
{
"activity": "MyVendorCatalog",
"dependencyConditions": [
"Succeeded"
]
}
],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"storeSettings": {
"type": "AzureBlobStorageReadSetting",
"wildcardFileName": "*.*"
},
"formatSettings": {
"type": "DelimitedTextReadSetting"
}
},
"sink": {
"type": "AzureTableSink",
"azureTableInsertType": "merge",
"azureTableDefaultPartitionKeyValue": "CatalogItem",
"writeBatchSize": 10000
},
"enableStaging": false,
"translator": {
"type": "TabularTranslator",
"mappings": [
{
"source": {
"name": "PartitionKey",
"type": "String"
},
"sink": {
"name": "PartitionKey"
}
},
{
"source": {
"name": "RowKey",
"type": "String"
},
"sink": {
"name": "RowKey"
}
},
Screenshot1 Screenshot2
Я ожидаю, что он отобразит rowkey в источнике в rowkey в приемнике.Это все еще генерирует уникальные ценности.Я открыт для решения этой проблемы с помощью динамического контента, но я не уверен, как заставить его работать.