使用Python从S3上传和下载文件

本文介绍如何使用Python的boto3库进行Amazon S3文件的上传和下载操作,并提供了具体的代码示例。
部署运行你感兴趣的模型镜像

上传文件:

首先获取到具有相应操作S3权限的IAM账户的 aws_access_key_id 和 aws_secret_access_key 

from boto3.session import Session
session = Session(aws_access_key_id=aws_key, aws_secret_access_key=aws_secret_key, region_name='cn-north-1')
s3 = session.client("s3")

然后获取S3存储桶的相关信息

# file_name:本地文件名
# upload_key:上传到s3存储桶的文件名
# bucket:存储桶名
s3.upload_file(Filename=file_name, Key=upload_key, Bucket=bucket)

下载文件:

跟上传步骤基本相同:

# file_name:本地文件名
# upload_key:上传到s3存储桶的文件名
# bucket:存储桶名
s3.download_file(Filename=file_name, Key=upload_key, Bucket=bucket)

更多使用细节查看官网:https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3.html

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

获取AWS或其他云服务的访问密钥(ACCESS_KEY)秘密密钥(SECRET_KEY)是管理云资源访问权限的重要步骤。以下是针对AWS及其他主流云服务提供商(如Azure、Google Cloud)的详细说明。 ### AWS 获取 ACCESS_KEY SECRET_KEY 在AWS中,访问密钥秘密密钥用于访问AWS服务的API。获取这些密钥的步骤如下: 1. 登录 [AWS管理控制台](https://aws.amazon.com/console/)。 2. 进入 **IAM (Identity and Access Management)** 服务[^2]。 3. 在左侧导航栏中选择 **用户 (Users)**。 4. 选择需要获取密钥的用户,点击 **“安全凭证” (Security credentials)** 标签。 5. 点击 **“创建访问密钥” (Create access key)**。 6. 下载或复制生成的 **Access Key ID** **Secret Access Key**。这是唯一一次可以查看或下载秘密密钥的机会,请务必妥善保存。 建议将密钥配置到AWS CLI或SDK中,使用以下命令进行配置: ```bash aws configure ``` 输入提示的Access Key ID、Secret Access Key、默认区域(如`us-east-1`)输出格式(如`json`)即可完成配置。 ### Azure 获取访问密钥 Azure 使用“存储账户访问密钥”来访问存储服务,或者使用“服务主体(Service Principal)”来访问其他资源。以下是获取存储账户密钥的方法: 1. 登录 [Azure门户](https://portal.azure.com/)。 2. 进入 **存储账户 (Storage Accounts)**。 3. 选择一个存储账户。 4. 在左侧菜单中选择 **“访问密钥 (Access keys)”**。 5. 在页面中可以看到两个密钥(key1 key2),可以用于访问存储服务。 对于资源管理API的访问,需创建服务主体并获取客户端ID客户端密钥,这通常通过Azure CLI或PowerShell完成: ```bash az ad sp create-for-rbac --name "myApp" --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/{group-name} ``` ### Google Cloud Platform (GCP) 获取密钥 GCP 使用服务账户密钥文件(JSON格式)来访问API。以下是获取方法: 1. 登录 [Google Cloud Console](https://console.cloud.google.com/)。 2. 导航至 **IAM & Admin > Service Accounts**。 3. 创建或选择一个服务账户。 4. 点击 **“Keys”** 标签页。 5. 点击 **“Add Key > Create New Key”**,选择 **JSON** 格式并下载。 该JSON文件包含访问所需的私钥客户端ID,适用于SDKAPI调用。 ### 注意事项 - **安全性**:请勿将密钥硬编码在代码中或提交到公共代码仓库。建议使用环境变量或密钥管理服务(如AWS Secrets Manager、Azure Key Vault、Google Cloud Secret Manager)。 - **权限最小化**:确保密钥对应的用户或服务账户仅拥有执行任务所需的最小权限[^2]。 - **定期轮换**:定期更换密钥以减少安全风险。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值