Unable to create a directory named space character using ADLS Gen2 REST API

Phil R 5 Reputation points
2025-01-16T15:07:47.1866667+00:00

I am unable to create a directory in "Azure Data Lake Storage Gen2" that is named as just a single space character, despite reviewing the documentation and there being no indication this is a disallowed name.

My primary access to "Azure Data Lake Storage Gen2" is using the Azure Data Lake Storage Gen2 REST API - most notably using the Hadoop ABFS File System provider.

In the REST API / ABFS, a dedicated operation to create a directory occurs. When it attempts the creation of the directory simply named " " (space) we get an exception.

2024-12-09 14:30:12.713  WARN - [action-pool-2       ] - a.b.c.RedactedClass           : Exception migrating /test-data/dir1/  - will retry:
org.apache.hadoop.fs.azurebfs.contracts.exceptions.AbfsRestOperationException: Operation failed: "The request URI is invalid.", 400, PUT, https://REDACTED.dfs.core.windows.net/REDACTED/test-data/dir1/%20?resource=directory&timeout=90, InvalidUri, "The request URI is invalid. RequestId:00000000-0000-0000-0000-000000000000 Time:2024-12-09T14:30:12.7006415Z"

As noted, using the BLOB API, such as using azcopy, this works perfectly fine, as the space just becomes encoded as part of the BLOBs name

2024/12/05 16:19:24 ==> REQUEST/RESPONSE (Try=1/104.067886ms, OpTime=228.146948ms) -- RESPONSE SUCCESSFULLY RECEIVED
   PUT https://REDACTED.blob.core.windows.net/REDACTED/dummy%2Fwp%2F%20%2Ffile?sdd=1&se=2024-12-06T00%3A13%3A02Z&sig=-REDACTED-&sp=racwdlmeop&sr=d&st=2024-12-05T16%3A13%3A02Z&sv=2022-11-02
   X-Ms-Request-Id: [00000000-0000-0000-0000-000000000000]

According to the documentation, it identifies and confirms that BLOB storage does support this provided it is correctly escaped.The ADLS Gen2 documentation lacks any direct statement of non/support for this, but does state that it is built on BLOB with a direct statement.> Most Blob Storage features are fully supported, but some features might be supported only at the preview level and there are a handful of them that aren't yet supported

Reviewing the Features page https://learn.microsoft.com/en-us/azure/storage/blobs/storage-feature-support-in-storage-accounts does not rule them in or out.

Reviewing the Known Issues page https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-known-issues does not list it either as a known issue, or unsupported concept.

For all intent and purposes, there is an indication that this is a supportable concept.

Can anybody clarify this? Most ideally, have it documented?

Azure Data Lake Storage
Azure Data Lake Storage
An Azure service that provides an enterprise-wide hyper-scale repository for big data analytic workloads and is integrated with Azure Blob Storage.
1,547 questions
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.