microsoft / AzureStorageExplorer

Easily manage the contents of your storage account with Azure Storage Explorer. Upload, download, and manage blobs, files, queues, tables, and Cosmos DB entities. Gain easy access to manage your virtual machine disks. Work with either Azure Resource Manager or classic storage accounts, plus manage and configure cross-origin resource sharing (CORS) rules.
Creative Commons Attribution 4.0 International
370 stars 84 forks source link

Not able to download the ADLS Blob File with /T/ in its name #8114

Closed PriyaranjanKS closed 10 hours ago

PriyaranjanKS commented 1 month ago

Preflight Checklist

Storage Explorer Version

1.34.0

Regression From

No response

Architecture

i86

Storage Explorer Build Number

20240523.2

Platform

All

OS Version

Windows Server 2019

Bug Description

Whenever there is a /T/ in the ADLS file, we are not able to download/move/clone/rename the file due to the presence of /T/ . It throws the error source file does not exist.

Steps to Reproduce

  1. Add a file with /T/ in the ADLS
  2. Try to download/rename/move/clone the file to remove the /T/

Actual Experience

I have a customer who has bulk uploaded files using some tool to ADLS and some of the files has /T/ in the name which the blob considers as a directory but is infact part of the file name. Eg : 10101__Location/T/FirstName.pdf

Now when i try to download the file using Azure Storage Explorer(SAS URL that has Read,Create,Write,Add,Move,List , permissions) , it throws the error that the source file cannot be found. I try to rename it to remove the /T/ from the name and it throws 403 error(which again is not a permission issue but more related to the source path not found issue). I have also tried to Move, Clone the file so that i can rename it but again the source path not found issue is thrown. I am literally not having any other options to download this file due to the presence of /T/ in its name.

Any suggestions are welcome. Thanks.

Expected Experience

The expectation is that the Storage explorer can rename the file and remove the /T/ from the file name

Additional Context

No response

craxal commented 1 month ago

@PriyaranjanKS I assume you can list/upload/download/move/etc. files that don't have "/T/" in the path? Can you do any of those operations using the Azure Portal? Do you have permissions to list/upload/download/move/etc. in the "T" directory?

PriyaranjanKS commented 1 month ago

@craxal I have the Blob contributor rights and can perform all the operations on other blobs which have a normal file name in the same container using Azure Portal as well as as Storage Explorer. However the problem exists with the files that have a /T/ in their name and i assume that it is checking for a directory due to the presence of /T in the name. These files were pushed through FTP file drop and somehow the /T/ got into the file name.

craxal commented 1 month ago

Does the "/T/" appear in the same part of the path, for example "folder/T/blobA" and "folder/T/blobB", or are they in different places, like "folderA/folderB/T/blobA" and "folderC/T/folderD/blobB"? What happens if you create a blob with "/T/" in the path yourself? Do you have the same problem?

Just to confirm, you cannot rename/move the blobs with "/T/" in the Portal? If that's the case, I suspect this is a problem with permissions and/or your FTP push solution.

PriyaranjanKS commented 1 month ago

@craxal The "/T" occurs at uneven places and if i try to create one manually in the portal, it wont allow me as / is an illegal character. Some how the FTP push solution managed to do this upload years back and I have 3 millions files in the blob out of which only 32 have this issue. Now we are trying to migrate out of Azure Blob , and faced with the issue that we can't download the files due to "/T/" .

I am sure that this is not a permission issue because I am able to rename the rest of the 3 Million files which have a normal naming convention in the same container. I even tried with SAS URL that has the entire Write/Delete permissions to rename using Storage Explorer, even there the "/T/" files are not getting renamed . What I suspect is that /T stands for directory in Storage terminology and the Portal/Storage explorer is searching for a directory without knowing that it is part of the file name.

craxal commented 1 month ago

@PriyaranjanKS Let me rephrase my first question: Are you able to do the following, either in Storage Explorer or in the Azure Portal?

  1. Open the blob container.
  2. Create a directory named something like "folder".
  3. Inside that "folder", create a directory named "T".
  4. Inside that "T" folder, upload a blob named something like "blobA".
  5. Rename the blob to something without "T" in the path, such as "folder/blobA".

Is there any significant different between the 3 million blobs that have "T" in their path from the blobs you are having problems with? Are you able to proceed with your migration with the 3 million blobs.

The fact that you are unable to do what you need with these blobs even in the Azure Portal still suggests the problem is outside of Storage Explorer. I would suggest opening an Azure service request.

craxal commented 10 hours ago

Closing due to inactivity. If you are still experiencing this issue, please leave a comment with additional details, and we can revisit.