Copy Blob From URL (Sync) does not support `x-ms-copy-source-tag-option`
- Dominant language
- TypeScript
- Stars
- 2.3k
- Forks
- 393
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 36
Description
### Which service(blob, file, queue, table) does this issue concern?
Blob
### Which version of the Azurite was used?
3.30.0
### Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
DockerHub
### What problem was encountered?
[Sync CopyFromUri](https://learn.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url) does not copy tags from the source blob. It does not appear to respect the `x-ms-copy-source-tag-option` header.
Furthermore, when `x-ms-copy-source-tag-option` is supplied as `COPY`, a 409 is _supposed_ to be returned if any tags are specified via `x-ms-tags`.
Instead, in both cases tags specified via `x-ms-tags` are set on the new blob and original tags are never copied.
### Steps to reproduce the issue?
Invoke [Copy Blob from URL](https://learn.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url?tabs=microsoft-entra-id#request), passing `x-ms-copy-source-tag-option=COPY` with a source blob that has tabs set.
Also:
Invoke Copy Blob from URI, passing `x-ms-copy-source-tag-option=COPY` and also specify `x-ms-tags` and note that no 409 is returned and the tags specified in the request are set.
### Have you found a mitigation/solution?
Copy the tags in a seperate operation, or retrieve them ahead of time and pass them via `x-ms-tags`
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.