ADF V2 В необходимом BLOB-файле отсутствует путь к папке подстановочного знака и имя файла подстановочного знака - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь использовать путь к папке с подстановочными символами, который предоставляется getmetadata и foreach. Фактическое имя файла в этих папках заканчивается _Problem_1.csv, однако я получаю следующую ошибку. Может кто-нибудь посоветовать мне, где я иду не так?

{"errorCode": "2200", "message": "ErrorCode = UserErrorSourceBlobNotExist, 'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message = Необходимый BLOB-объект отсутствует. Путь к папке: client-uploads / [{\ "name \": \ "A001 \", \ "type \": \ "Folder \"}, {\ "name \": \ "A002 \», \ "типа \": \ "Папка \"}, {\ "имя \": \ "А004 \", \ "типа \": \ "Папка \"}, {\ "имя \": \ "A006 \", \ "типа \": \ "Папка \"}, {\ "имя \": \ "A623 \", \ "типа \": \ "Папка \"}] /, Источник = Microsoft .DataTransfer.ClientLibrary, '"," faultType ":" UserError "," target ":" Copy data1 "," details ": []}

fa

1 Ответ

1 голос
/ 21 февраля 2020

Вы можете попробовать использовать действие «Копировать» внутри действия forEach и иметь для каждого элемента динамическое c выражение, как показано ниже, которое получит список всех имен папок (Это также будет включать имена файлов, если таковые существуют в папке, которую вы указывают на активность getmetadata).

ForEach Activity Dynami c выражение : Элементы: @activity ('getFolderNames'). Output.childItems

enter image description here

Вот дочерние элементы из getMetaData :

{
"childItems": [
    {
        "name": "A001",
        "type": "Folder"
    },
    {
        "name": "A002",
        "type": "Folder"
    }
],
"effectiveIntegrationRuntime": "DefaultIntegrationRuntime (West US)",
"executionDuration": 0,
"durationInQueue": {
    "integrationRuntimeQueue": 0
},
"billingReference": {
    "activityType": "PipelineActivity",
    "billableDuration": {
        "Managed": 0.016666666666666666
    }
}

Чем вам нужно использовать «item (). Name» в поле выражения пути файла подстановки операции копирования , чтобы получить имя папки за итерацию действия forEach.

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

Путь к папке подстановочного знака : @ {Concat ('input / MultipleFolders /', item (). Name)}

Это вернет:

Для итерации 1: ввод / MultipleFolders / A001

Для итерации 2: ввод / MultipleFolders / A002

enter image description here

Надеюсь, это поможет ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...