question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Support for synchronous blob copy (x-ms-requires-sync)

See original GitHub issue

Which 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.

CC @kfarmer-msft

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:8 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
DaRosenbergcommented, May 3, 2019

@mirobers Not to split hairs but the doc page for the operation itself states:

This API is available starting in version 2018-03-28.

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.

0reactions
ggirard07commented, Aug 20, 2019

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?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Copy a blob with asynchronous scheduling using .NET
Learn how to copy a blob with asynchronous scheduling in Azure Storage by using the .NET client library.
Read more >
Copy a blob with .NET - Azure Storage
Learn how to copy blobs in Azure Storage using the .NET client library. ... This operation completes synchronously. SyncUploadFromUri
Read more >
AWS DataSync now supports copying data from Azure ...
AWS DataSync supports copying data from Azure Blob Storage to AWS Storage in preview. Using DataSync, you can move your object data at...
Read more >
How do I implement synchronous copying of a single blob ...
If the copy operation is for the same storage account and the same type(example -> block blob to block blob copy in the...
Read more >
Sync Between Azure File Share and Azure Blob Container
In this article, I will share with you how to sync and copy between an Azure file share and an Azure blob container....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found