使用AzCopy将ADLS传输到Azure存储同步

寻求一些帮助来解决我面临的错误。让我解释一下情况。我正在尝试将ADLS Gen2容器之一同步到Azure BLOB存储。我有AzCopy 10.4.3,我正在使用Azcopy Sync来做到这一点。我正在使用下面的命令

azcopy sync 'https://ADLSGen2.blob.core.windows.net/testsamplefiles/SAMPLE' 'https://AzureBlobStorage.blob.core.windows.net/testsamplefiles/SAMPLE' --recursive

当我运行此命令时,我遇到了错误

REQUEST/RESPONSE (Try=1/71.0063ms,OpTime=110.9373ms) -- RESPONSE SUCCESSFULLY RECEIVED
   PUT https://AzureBlobStorage.blob.core.windows.net/testsamplefiles/SAMPLE/SampleFile.parquet?blockid=ZDQ0ODlkYzItN2N2QzOWJm&comp=block&timeout=901
   X-Ms-Request-Id: [378ca837-d01e-0031-4f48-34cfc2000000]

ERR: [P#0-T#0] COPYFAILED: https://ADLSGen2.blob.core.windows.net/testsamplefiles/SAMPLE/SampleFile.parquet: 404 : 404 The specified resource does not exist.. When Staging block from URL. X-Ms-Request-Id: [378ca837-d01e-0031-4f48-34cfc2000000]

   Dst: https://AzureBlobStorage.blob.core.windows.net/testsamplefiles/SAMPLE/SampleFile.parquet
REQUEST/RESPONSE (Try=1/22.9854ms,OpTime=22.9854ms) -- RESPONSE SUCCESSFULLY RECEIVED
   GET https://AzureBlobStorage.blob.core.windows.net/testsamplefiles/SAMPLE/SampleFile.parquet?blocklisttype=all&comp=blocklist&timeout=31
   X-Ms-Request-Id: [378ca84e-d01e-0031-6148-34cfc2000000]

到目前为止,我检查并确认了以下内容

  • 我登录AzCopy时登录了正确的租户
  • Storage Blob Data Contributor角色已授予我的AD凭据

不确定源文件中是否还存在其他缺少的内容,并且出现相同的错误。我尝试使用SAS,但收到了其他错误。由于供应商政策的原因,我无法继续使用SAS,因此我需要确保此方法适用于oAuth。非常感谢任何投入。

iCMS 回答:使用AzCopy将ADLS传输到Azure存储同步

对于404错误,您可以检查命令中是否有错字,并且源帐户和目标帐户上都存在路径/testsamplefiles/SAMPLE。另外,请注意,来自tips

在所有命令外壳中使用单引号,但Windows命令除外 外壳(cmd.exe)。如果您使用的是Windows Command Shell(cmd.exe), 用双引号(“”)而不是单引号引起来的路径参数 用引号('')。

azcopy sync支持的情况下:

Azure Blob Azure Blob(来源必须包含SAS或公开 无障碍; SAS或OAuth身份验证均可用于 目的地)

我们必须在源代码中提供一个SAS令牌,但是我尝试了以下带有AD身份验证的代码。

azcopy sync "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]" "https://[account].blob.core.windows.net/[container]/[path/to/blob]" 

但出现与the Github issue相同的400错误。

因此,在这种情况下,在我验证之后,您可以使用此命令将ADLS Gen2容器之一同步到Azure BLOB存储,而无需执行azcopy login。如果已登录,则可以运行azcopy logout

azcopy sync "https://nancydl.blob.core.windows.net/container1/sample?sv=xxx" "https://nancytestdiag244.blob.core.windows.net/container1/sample?sv=xxx" --recursive --s2s-preserve-access-tier=false

enter image description here

本文链接:https://www.f2er.com/2255457.html

大家都在问