Question

yarden95c on Thu, 07 Jun 2018 08:55:21


Hi,

We have an app that uses the Get-AzureStorageBlobContent Powershell command to download our clients a block blob (around ~300GB) from our storage account on azure, if the download got an exception we run the script one more time.

The thing is that sometimes the download gets to 80%+ and only then we get a timeout exception and need to start the download again from the beginning. 

I'm looking for a way to resume the download after a failure (we can't use AzCopy).

Is there any way to resume it from powershell? or maybe to use a different powershell command to get this blob in a way that can be resumed?

Thanks! :)

 

Replies

Ajay Kumar .N on Fri, 08 Jun 2018 12:41:24


As mentioned in this GitHub page Get-AzureStorageBlobContent, checkout the optional parameters to see if it helps (if not done already so): 

-ClientTimeoutPerRequest : Specifies the client-side time-out interval, in seconds, for one service request. If the previous call fails in the specified interval, this cmdlet retries the request. If this cmdlet does not receive a successful response before the interval elapses, this cmdlet returns an error.

-ServerTimeoutPerRequest: Specifies the service side time-out interval, in seconds, for a request. If the specified interval elapses before the service processes the request, the storage service returns an error.

 

Those are the only possible options (Timeout adjustments) with the current command and there is no way to resume the command.

 

Furthermore, you could also explore the -ConcurrentTaskCount (Specifies the maximum concurrent network calls) to tackle the network connection problems.

 

Apparently, you have already looked into this similar discussion thread: Interrupting a transfer from Azure Blob storage.

Ajay Kumar .N on Wed, 13 Jun 2018 02:46:47


Just checking in to see if the above suggestions helped or you need further assistance on this specific issue.