An Azure service that stores unstructured data in the cloud as blobs.
There isn't a separate "normalization algorithm" page beyond the Blob naming rules, but the behaviour you're seeing lines up with how names are carried in the request URL.
Documented rules (Put Blob and friends):
- A blob name may contain most characters, 1–1024 chars, case-sensitive.
- Names are path-like when you use
/as a delimiter for virtual directories. - No path segment should end with a dot (
.); avoid names that end with.,/,\, or combinations of those. - Reserved URL characters must be percent-encoded (client libraries usually do this for you).
- Path-segment count limits: 254 segments without hierarchical namespace; 63 with HNS (including account/container segments).
So folder/../file.txt or segments that are . / .. are not a supported "go up a directory" feature of Blob Storage. The service is not a real filesystem. Clients, gateways, or URL parsers often resolve . and .. before the name is stored, which is why the final blob name can look "collapsed". If you need those characters literally in a segment, don't put unescaped . / .. path segments in the URL; redesign the name (for example use a different delimiter or encode the segment) so the request URI never contains a traversable path form.
Practical guidance:
- Treat the blob name as an opaque string that happens to allow
/for listing prefixes — not as NTFS/POSIX paths. - Never end a segment with
.. - If you must preserve odd characters, percent-encode and verify with a raw REST Put using a tool that does not normalize the path (or use the SDK overload that takes the blob name as a string without going through a file-path API).
- For hierarchical namespace accounts, directory names follow the same "don't end with
." note.