locked
ADF V2 The required Blob is missing wildcard folder path and wildcard file name RRS feed

  • Question

  • I am trying to use a wild card folder path that is being supplied by  getmetadata and foreach. The actual file name within these folders ends with _Problem_1.csv however i get the following error. can anyone advise me on where i am going wrong?

    { "errorCode": "2200", "message": "ErrorCode=UserErrorSourceBlobNotExist,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=The required Blob is missing. Folder path: client-uploads/[{\"name\":\"A001\",\"type\":\"Folder\"},{\"name\":\"A002\",\"type\":\"Folder\"},{\"name\":\"A004\",\"type\":\"Folder\"},{\"name\":\"A006\",\"type\":\"Folder\"},{\"name\":\"A623\",\"type\":\"Folder\"}]/.,Source=Microsoft.DataTransfer.ClientLibrary,'", "failureType": "UserError", "target": "Copy data1", "details": [] }

    Friday, February 21, 2020 12:59 PM

All replies

  • Hi obhbigdata,

    You can try having your Copy activity inside the forEach activity and having for each items dynamic expression as below, which will get the list of all Folder names (This will also include file names if any exists in the folder you are pointing in getmetadata activity). 

    Items : @activity('getFolderNames').output.childItems

    ForEach: 


    Here are child Items from 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
            }
        }
    }

    Than you have to use the "item().name" in the wild card file path expression field of copy activity, to get the name of  folder per iteration of forEach activity. 

    In my example I have used this as below concat expression to point to the correct folder path name for each iteration. 

    Wildcard Folder path: @{Concat('input/MultipleFolders/', item().name)}
    
    
    This will return:
    
    For  Iteration 1: input/MultipleFolders/A001 
    
    For  Iteration 2: input/MultipleFolders/A002


    Hope this helps. Let us know how it goes...


    Thank you

    If a post helps to resolve your issue, please click the "Mark as Answer" of that post and/or click Answered"Vote as helpful" button of that post. By marking a post as Answered and/or Helpful, you help others find the answer faster.



    Friday, February 21, 2020 5:42 PM
  • Hi there,

    Just checking in to see if the above suggestion was helpful. If this answers your query, please do click “Mark as Answer” and Up-Vote, as it might be beneficial to other community members reading this thread. And, if you have any further query do let us know.


    Thank you

    If a post helps to resolve your issue, please click the "Mark as Answer" of that post and/or click Answered "Vote as helpful" button of that post. By marking a post as Answered and/or Helpful, you help others find the answer faster.

    Tuesday, February 25, 2020 4:40 AM
  • Hi there,

    Just checking in to see if the above suggestion was helpful.


    Thank you

    If a post helps to resolve your issue, please click the "Mark as Answer" of that post and/or click Answered "Vote as helpful" button of that post. By marking a post as Answered and/or Helpful, you help others find the answer faster.

    Tuesday, February 25, 2020 10:19 PM