要从脚本中访问S3存储桶,可以在脚本中使用AWS CLI的环境变量来配置访问凭证。以下是一个示例的解决方法:
import os
import subprocess
# 设置AWS CLI环境变量
os.environ["AWS_ACCESS_KEY_ID"] = "your-access-key"
os.environ["AWS_SECRET_ACCESS_KEY"] = "your-secret-access-key"
os.environ["AWS_DEFAULT_REGION"] = "your-aws-region"
# 使用AWS CLI命令来列出S3存储桶中的对象
bucket_name = "your-bucket-name"
command = f"aws s3 ls s3://{bucket_name}"
result = subprocess.run(command, capture_output=True, shell=True, text=True)
# 输出结果
print(result.stdout)
请确保将"your-access-key"、"your-secret-access-key"、"your-aws-region"和"your-bucket-name"替换为实际的值。
这段代码首先设置了AWS CLI的环境变量,包括访问密钥和区域。然后,使用subprocess模块运行AWS CLI命令来列出S3存储桶中的对象。最后,使用print语句输出结果。
请注意,这种方法仅适用于在脚本中临时访问S3存储桶。如果需要长期访问或在多个脚本中共享访问凭证,建议使用AWS CLI配置文件或AWS凭证文件来配置访问凭证。