使用boto3上传文件到s3桶:证书验证失败
我正在使用boto3来上传文件到S3存储桶。
这是我正在使用的代码:
# s3 client initialization
s3_client = boto3.client(
service_name='s3',
region_name='us-west-2',
aws_access_key_id=access_key,
aws_secret_access_key=secret_key,
#endpoint_url='https://s3:us-west-2.amazonaws.com',
verify=True
)
如果Verify = TRUE
,我就会遇到这个错误:
[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书链中的自签名证书 (_ssl.c:1000)
如果Verify = False
,我就会遇到这个错误:
不安全请求警告:正在向主机 'itd-us-west-2--****-***.s3.us-west-2.amazonaws.com' 发起未经验证的HTTPS请求。强烈建议添加证书验证。请参见: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn(
我只是想确认一下,我是不是做错了什么?
更新:我收到了未经验证的HTTPS请求的警告,但文件还是成功复制了:
def upload_files_to_s3_CLI(files, s3location, s3_folder):
for file_data in files:
file_location = file_data['FileLocation']
file_name = os.path.basename(file_location)
command = f"aws s3 cp {file_location} s3://{s3location}/{s3_folder} --no-verify-ssl subprocess.run(command, shell=True, check=True)
1 个回答
0
这里有几点需要注意:
- 主机名里有个拼写错误。应该用句号,而不是冒号。
- 确保你能用那些凭证在AWS命令行工具上运行这个命令。
- 你是在代理服务器后面吗?