含等号前缀的AWS S3文件递归下载失败,如何解决?
解决AWS S3递归复制时签名不匹配的问题
具体处理步骤
验证凭证准确性
检查本地~/.aws/credentials文件中的aws_access_key_id和aws_secret_access_key是否正确,排除拼写错误、多余空格等问题。也可执行aws configure list命令查看当前生效的凭证,确认是目标账号的密钥。指定签名版本
部分S3存储桶要求使用v4版本签名,可在命令中直接指定:aws s3 cp s3://a/b/c/d/dt=20230726/tm=0700/ local_dir --recursive --signature-version s3v4也可在
~/.aws/config文件中添加全局配置:[default] signature_version = s3v4同步系统时间
签名计算依赖精准的系统时间,若本地时间与UTC偏差过大,会导致签名验证失败。Linux系统执行timedatectl set-ntp true同步时间,Windows可在日期时间设置中开启自动同步。替换为sync命令
尝试用sync命令替代cp,部分场景下可绕过签名相关问题:aws s3 sync s3://a/b/c/d/dt=20230726/tm=0700/ local_dir通过环境变量传递凭证
规避配置文件可能存在的问题,直接在命令行通过环境变量指定密钥:AWS_ACCESS_KEY_ID=你的访问密钥 AWS_SECRET_ACCESS_KEY=你的密钥 aws s3 cp s3://a/b/c/d/dt=20230726/tm=0700/ local_dir --recursive匹配存储桶区域
确保AWS配置的区域与存储桶所在区域一致,比如桶位于us-east-1,可在~/.aws/config中设置:[default] region = us-east-1或在命令中直接指定区域:
aws s3 cp s3://a/b/c/d/dt=20230726/tm=0700/ local_dir --recursive --region us-east-1
内容的提问来源于stack exchange,提问作者ablaze
相关产品推荐
相关产品推荐

