0

寻找一些帮助来解决我面临的错误。让我解释一下这个场景。我正在尝试将 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 一起使用。任何输入都非常感谢。

4

1 回答 1

0

对于 404 错误,您可以检查命令中是否有任何拼写错误,并且/testsamplefiles/SAMPLE源帐户和目标帐户上都存在路径。另外,请注意从提示

在除 Windows 命令外壳 (cmd.exe) 之外的所有命令外壳中使用单引号。如果您使用的是 Windows 命令外壳 (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]" 

但得到与Github 问题相同的 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

在此处输入图像描述

于 2020-06-02T09:21:29.160 回答