Azcopy 将源解释为本地并在它是 gcloud 存储时添加当前路径 https url
Azcopy interprets source as local and adds current path when it is a gcloud storage https url
我们想要将文件从 Google 存储复制到 Azure 存储。
我们使用了以下指南:https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-google-cloud
我们运行这个命令:
azcopy copy 'https://storage.googleapis.com/telia-ddi-delivery-plaace/activity_daily_al1_20min/' 'https://plaacedatalakegen2.blob.core.windows.net/teliamovement?<SASKEY>' --recursive=true
并得到这个结果错误:
INFO: Scanning...
INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support
failed to perform copy command due to error: cannot start job due to error: cannot scan the path /Users/peder/Downloads/https:/storage.googleapis.com/telia-ddi-delivery-plaace/activity_daily_al1_20min, please verify that it is a valid.
在我们看来,azcopy 将源解释为本地文件目标,因此添加了我们 运行 它的当前位置:/Users/peder/Downloads/。但是我们无法找到任何参数来表明它是一个 Web 位置,并且它与本指南中的文档相同:
azcopy copy 'https://storage.cloud.google.com/mybucket/mydirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/mydirectory' --recursive=true
我们尝试过的:
- 我们在终端的 Mac 上执行此操作,但我们还针对 Mac.
测试了 PowerShell
- 我们试过单引号和双引号。
- 我们从控制台复制了带有 SAS 密钥的 Azure 存储 url 以确保语法正确
- 我们尝试使用 cp 而不是 copy,因为 azcopy 的帮助页面使用了它。
是不是我们的命令有问题?还是自从编写指南以来,azcopy 已被更改?
我还在 Azure 文档 git 页面上为此创建了一个问题:https://github.com/MicrosoftDocs/azure-docs/issues/78890
您 运行 陷入此问题的原因是 URL storage.cloud.google.com
在 Google 云存储的应用程序源代码中进行了硬编码。从这个 link
:
const gcpHostPattern = "^storage.cloud.google.com"
const invalidGCPURLErrorMessage = "Invalid GCP URL"
const gcpEssentialHostPart = "google.com"
由于您使用的是 storage.googleapis.com
而不是 storage.cloud.google.com
,azcopy 无法将其识别为有效的 Google Cloud Storage 端点,并将该值视为目录之一在您的本地文件系统中。
我们想要将文件从 Google 存储复制到 Azure 存储。 我们使用了以下指南:https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-google-cloud
我们运行这个命令:
azcopy copy 'https://storage.googleapis.com/telia-ddi-delivery-plaace/activity_daily_al1_20min/' 'https://plaacedatalakegen2.blob.core.windows.net/teliamovement?<SASKEY>' --recursive=true
并得到这个结果错误:
INFO: Scanning...
INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support
failed to perform copy command due to error: cannot start job due to error: cannot scan the path /Users/peder/Downloads/https:/storage.googleapis.com/telia-ddi-delivery-plaace/activity_daily_al1_20min, please verify that it is a valid.
在我们看来,azcopy 将源解释为本地文件目标,因此添加了我们 运行 它的当前位置:/Users/peder/Downloads/。但是我们无法找到任何参数来表明它是一个 Web 位置,并且它与本指南中的文档相同:
azcopy copy 'https://storage.cloud.google.com/mybucket/mydirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/mydirectory' --recursive=true
我们尝试过的:
- 我们在终端的 Mac 上执行此操作,但我们还针对 Mac. 测试了 PowerShell
- 我们试过单引号和双引号。
- 我们从控制台复制了带有 SAS 密钥的 Azure 存储 url 以确保语法正确
- 我们尝试使用 cp 而不是 copy,因为 azcopy 的帮助页面使用了它。
是不是我们的命令有问题?还是自从编写指南以来,azcopy 已被更改?
我还在 Azure 文档 git 页面上为此创建了一个问题:https://github.com/MicrosoftDocs/azure-docs/issues/78890
您 运行 陷入此问题的原因是 URL storage.cloud.google.com
在 Google 云存储的应用程序源代码中进行了硬编码。从这个 link
:
const gcpHostPattern = "^storage.cloud.google.com"
const invalidGCPURLErrorMessage = "Invalid GCP URL"
const gcpEssentialHostPart = "google.com"
由于您使用的是 storage.googleapis.com
而不是 storage.cloud.google.com
,azcopy 无法将其识别为有效的 Google Cloud Storage 端点,并将该值视为目录之一在您的本地文件系统中。