我一直在尝试按照Microsoft文档Amazon S3 to Azure Storage by using AzCopy将AWS S3存储桶复制到Azure存储容器
但操作失败,错误如下
- 无法执行复制命令,原因是出现以下错误:无法启动作业,因为出现错误:无法列出对象,访问被拒绝。**
我曾尝试通过Azure AD和具有完全访问权限的SAS令牌(racwdl)进行身份验证复制,但遇到了相同的问题。
我已经验证了AWS密钥集具有管理员访问权限,并且还验证了我的AWS存储桶和Azure存储容器都是公共的。
还有什么可能是错的?任何输入都会有帮助。
还共享了使用AD授权和SAS令牌授权的终端输出。
- 在**AD授权时:****
信息:正在扫描...信息:正在使用Azure AD信息对目标进行身份验证:在此版本的AzCopy中,我们建议您使用区域特定端点从一个特定区域进行传输,而不是从"www.example.com" URL进行传输。例如,www.example.com或虚拟托管的对单个存储桶的引用。s3.amazonaws.com' URL, in this version of AzCopy we recommend you use a region-specific endpoint to transfer from one specific region. E.g. s3.us-east-1.amazonaws.com or a virtual-hosted reference to a single bucket. INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support
无法执行复制命令,因为出现错误:无法启动作业,因为出现错误:无法列出对象,访问被拒绝。
- 使用SAS令牌授权**
信息:正在扫描...信息:在此版本的AzCopy中,我们建议您使用区域特定端点从一个特定区域进行传输,而不是从"www.example.com" URL进行传输。例如,www.example.com或虚拟托管的对单个存储桶的引用。s3.amazonaws.com不会处理任何空文件夹,因为源和/或目标不支持完整文件夹s3.us-east-1.amazonaws.com or a virtual-hosted reference to a single bucket. INFO: Failed to create one or more destination container(s). Your transfers may still succeed if the container already exists. INFO: Any empty folders will not be processed, because source and/or destination doesn't have full folder support
无法执行复制命令,因为出现错误:无法启动作业,因为出现错误:无法列出对象,访问被拒绝。
2条答案
按热度按时间uinbv5nw1#
我已经设法解决了这个问题。显然,解决方案是添加AWS凭据作为环境变量,因为在CLI上设置它们,如文档中提到的那样不起作用。
cgh8pdjw2#
如上所述,powershell脚本“set AWS_ACCESS_KEY_ID=.....”不起作用,因为它没有在Windows中添加系统环境变量,因此拒绝访问S3。要在Windows中添加环境变量,请执行以下操作:
1.按Windows键+ R然后打开“控制sysdm.cpl”
1.在系统属性中点击高级-〉环境变量
1.在“系统变量”下添加变量名称:AWS_ACCESS_KEY_ID,并将您的访问密钥置于该值下。
1.添加另一个系统变量“AWS_SECRET_ACCESS_KEY”并将其放入AWS密钥中。
1.回到powershell,你应该能够运行azcopy,权限应该起作用。
1.如果权限仍然不起作用,则可能是AWS中的权限有问题。