azureazure-storageazure-blob-storageazcopyazure-china

Azure China Storage - AZCopy upload fail


I am trying to upload a 2.6 GB iso to Azure China Storage using AZCopy from my machine here in the USA. I shared the file with a colleague in China and they didn't have a problem. Here is the command which appears to work for about 30 minutes and then fails. I know there is a "Great Firewall of China" but I'm not sure how to get around the problem.

C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy> .\AzCopy.exe
    /Source:C:\DevTrees\MyProject\Layout-Copy\Binaries\Iso\Full 
    /Dest:https://xdiso.blob.core.chinacloudapi.cn/iso 
    /DestKey:<my-key-here>

Solution

  • Since you're experiencing a timeout, you could try AZCopy with in re-startable mode like this:

    C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy> .\AzCopy.exe
        /Source:<path-to-my-source-data>
        /Dest:<path-to-my-storage>
        /DestKey:<my-key-here>
        /Z:<path-to-my-journal-file>
    

    The path to your journal file is arbitrary. For instance, you could site it to C:\temp\azcopy.log if you'd like.

    Assume an interrupt occurs while copying your file, and 90% of the file has been transferred to Azure already. Then upon restarting, we will only transfer the remaining 10% of the file.

    For more information, type .\AzCopy.exe /?:Z to find the following info:

    Specifies a journal file folder for resuming an operation. AzCopy always supports resuming if an operation has been interrupted.

    If this option is not specified, or it is specified without a folder path, then AzCopy will create the journal file in the default location, which is %LocalAppData%\Microsoft\Azure\AzCopy.

    Each time you issue a command to AzCopy, it checks whether a journal file exists in the default folder, or whether it exists in a folder that you specified via this option. If the journal file does not exist in either place, AzCopy treats the operation as new and generates a new journal file.

    If the journal file does exist, AzCopy will check whether the command line that you input matches the command line in the journal file.

    If the two command lines match, AzCopy resumes the incomplete operation. If they do not match, you will be prompted to either overwrite the journal file to start a new operation, or to cancel the current operation.

    The journal file is deleted upon successful completion of the operation.

    Note that resuming an operation from a journal file created by a previous version of AzCopy is not supported.

    You can also find out more here: http://blogs.msdn.com/b/windowsazurestorage/archive/2013/09/07/azcopy-transfer-data-with-re-startable-mode-and-sas-token.aspx