Azcopy在通过Terraform执行时抛出错误
我正在使用Azcopy工具将一个存储帐户复制到另一个存储帐户。当使用终端执行命令时,它可以完美地执行。但是当使用Terraform的本地执行器执行相同的操作时,它抛出了一个错误。请在下面查找代码和错误 代码:Azcopy在通过Terraform执行时抛出错误,terraform,terraform-provider-azure,terraform0.12+,Terraform,Terraform Provider Azure,Terraform0.12+,我正在使用Azcopy工具将一个存储帐户复制到另一个存储帐户。当使用终端执行命令时,它可以完美地执行。但是当使用Terraform的本地执行器执行相同的操作时,它抛出了一个错误。请在下面查找代码和错误 代码: 请提供您对此的想法。今天,我需要实现一个类似的任务,并且我使用了azcopy cp命令和-recursive=true选项,该选项在中给出 它成功地将源容器的所有内容复制到目标 Copy all blob containers, directories, and blobs from st
请提供您对此的想法。今天,我需要实现一个类似的任务,并且我使用了azcopy cp命令和-recursive=true选项,该选项在中给出 它成功地将源容器的所有内容复制到目标
Copy all blob containers, directories, and blobs from storage account to another by using a SAS token:
- azcopy cp "https://[srcaccount].blob.core.windows.net?[SAS]" "https://[destaccount].blob.core.windows.net?[SAS]" --recursive=true
今天,我需要实现一个类似的任务,我使用了azcopy cp命令和-recursive=true选项,该选项在中给出 它成功地将源容器的所有内容复制到目标
Copy all blob containers, directories, and blobs from storage account to another by using a SAS token:
- azcopy cp "https://[srcaccount].blob.core.windows.net?[SAS]" "https://[destaccount].blob.core.windows.net?[SAS]" --recursive=true
azcopy仅支持源和目标类型blob、Gen1、Gen2、S3、本地文件系统等的某些组合。。。用于复制子命令
azcopy尝试根据URL和参数猜测源/目标类型
这个错误意味着
您正在尝试使用不受支持或无效的组合
你无能为力。提出建议的问题。他们可能会毫不在意。
您的URL有问题。例如,当您本应使用dfs.core.windows.net时,却使用blob.core.windows.net,反之亦然。这反过来会导致错误识别源和目标类型。
如果您确定该组合受支持,那么可以使用-from-to告诉azcopy类型。具有讽刺意味的是,当您使用不受支持的组合(例如blobfsblobbs)时,它会给出相同的错误消息,而不是说源-目标组合不受支持。
在处理Gen2时,可以在URL中使用blob而不是dfs,以使其使用较旧的blob/Gen1 API与Gen2帐户交互。虽然性能较差,但仍有可能奏效。
用于Blob存储的“Blob”
本地文件系统的“本地”
Azure文件的“文件”
用于ADLS Gen2的“BlobFS”
到目前为止,支持以下组合:
本地Azure Blob SAS或OAuth身份验证
本地Azure文件共享/目录SAS身份验证
本地Azure Data Lake存储Gen 2 SAS、OAuth或共享密钥身份验证
Azure Blob SAS或公共->Azure Blob SAS或OAuth身份验证
Azure Blob SAS或公共->Azure文件SAS
Azure文件SAS->Azure文件SAS
Azure文件SAS->Azure Blob SAS或OAuth身份验证
Amazon Web服务AWS S3访问密钥->Azure Block Blob SAS或OAuth身份验证
Google云存储服务帐户密钥->Azure Block Blob SAS或OAuth身份验证[预览]
azcopy仅支持源和目标类型blob、Gen1、Gen2、S3、本地文件系统等的某些组合。。。用于复制子命令
azcopy尝试根据URL和参数猜测源/目标类型
这个错误意味着
您正在尝试使用不受支持或无效的组合
你无能为力。提出建议的问题。他们可能会毫不在意。
您的URL有问题。例如,当您本应使用dfs.core.windows.net时,却使用blob.core.windows.net,反之亦然。这反过来会导致错误识别源和目标类型。
如果您确定该组合受支持,那么可以使用-from-to告诉azcopy类型。具有讽刺意味的是,当您使用不受支持的组合(例如blobfsblobbs)时,它会给出相同的错误消息,而不是说源-目标组合不受支持。
在处理Gen2时,可以在URL中使用blob而不是dfs,以使其使用较旧的blob/Gen1 API与Gen2帐户交互。虽然性能较差,但仍有可能奏效。
用于Blob存储的“Blob”
本地文件系统的“本地”
Azure文件的“文件”
用于ADLS Gen2的“BlobFS”
到目前为止,支持以下组合:
本地Azure Blob SAS或OAuth身份验证
本地Azure文件共享/目录SAS身份验证
本地Azure Data Lake存储Gen 2 SAS、OAuth或共享密钥身份验证
Azure Blob SAS或公共->Azure Blob SAS或OAuth身份验证
Azure Blob SAS或公共->Azure文件SAS
Azure文件SAS->Azure文件SAS
Azure文件SAS->Azure Blob SAS或OAuth身份验证
Amazon Web服务AWS S3访问密钥->Azure Block Blob SAS或OAuth身份验证
Google云存储服务帐户密钥->Azure Block Blob SAS或OAuth身份验证[预览]
提供了命令行中的工作示例,以便我们进行比较。azcopy cp这是工作示例您是否在Windows中通过Terraform执行命令?是的,这就是问题所在。在Windows中通过Terraform执行命令时会引发错误,而在Windows中直接执行命令效果很好。提供了命令行中的工作示例,以便我们进行比较。azcopy cp这是工作示例您是否在Windows中通过Terraform执行命令?是的,这就是问题所在。当在Windows中通过Terraform执行命令而直接在Windo中执行时,它会抛出一个错误
ws工作正常。感谢您的回复,但实际上我想将整个存储帐户容器复制到另一个容器,这样路径就不重要了。您是否在容器URL和SAS之间提供问号?在您的terraform代码中,我没有看到这样的问号。问号是自动创建的,感谢您的回复,但实际上我想将整个存储帐户容器复制到另一个容器中,这样路径就不重要了。您是否在容器URL和SAS之间提供问号?在您的地形代码中,我没有看到这样的问号。问号是用SAS自动创建的
Copy all blob containers, directories, and blobs from storage account to another by using a SAS token:
- azcopy cp "https://[srcaccount].blob.core.windows.net?[SAS]" "https://[destaccount].blob.core.windows.net?[SAS]" --recursive=true