Support for synchronous blob copy (x-ms-requires-sync)
See original GitHub issueWhich service(blob, file, queue, table) does this issue concern?
Blob
Which version of the SDK was used?
9.3.0
Which platform are you using? (ex: .NET Core 2.1)
.NET Core 2.1
What problem was encountered?
The performance of our application could greatly benefit from a synchronous Copy Blob operation, i.e. one request to blob storage that can be awaited, rather than having to implement code to wait and poll for the result later.
Using polling, there is a difficult trade-off:
- Poll more often, and we make many unnecessary requests to blob storage
- Poll less often, and our application can end up waiting an unnecessarily long time while the copy operation has in fact completed
Much better if our application can await the copy operation.
I see there is code in the storage client library to do this. It seems to make use of a x-ms-requires-sync
header in the Copy Blob operation, which is exactly what we need. However this code is commented out currently, and there is no mention of this header in the REST API documentation.
First question: What’s the status and plan for this functionality?
Second question: Will the x-ms-requires-sync
header remove the requirement for a lease on the target blob to be infinite? This requirement is causing some design challenges for us, and it would be awesome if we could use a limited-time lease for these operations.
Issue Analytics
- State:
- Created 5 years ago
- Comments:8 (3 by maintainers)
Top GitHub Comments
@mirobers Not to split hairs but the doc page for the operation itself states:
That’s a year in my book… 😃
Anyways, we’ll all be grateful when it’s enabled. I noticed the code has been there but commented out for quite a while.
Looks like these new service APIs have just been announced publicly… https://azure.microsoft.com/en-us/updates/new-copy-apis-for-efficient-data-copy/
Any update on the client support?