📜  将数据上传到 s3 存储桶 python (1)

📅  最后修改于: 2023-12-03 15:25:19.126000             🧑  作者: Mango

将数据上传到 S3 存储桶 - Python

Amazon S3(Simple Storage Service)是一个高度可扩展的云存储服务,用于存储和检索任意量的数据。本文将演示如何使用 Python 上传数据到 S3 存储桶。

步骤:
1. 安装 AWS SDK for Python(Boto3)

使用 pip 命令安装 Boto3:

pip install boto3
2. 配置 AWS 访问凭证

在使用 Boto3 访问 AWS 服务之前,需要配置 AWS 访问凭证。Boto3 支持以下几种凭证:

  • IAM 用户(access key 和 secret access key)
  • 环境变量
  • 配置文件

这里以 IAM 用户为例,配置方法如下:

  1. 登录 AWS 控制台
  2. 进入 IAM 控制台
  3. 创建一个新的 IAM 用户
  4. 将 IAM 用户添加到一个或多个 IAM 组中
  5. 通过 "Security credentials" 标签页获取 access key 和 secret access key
3. 编写 Python 代码

首先,需要导入 Boto3 模块:

import boto3

然后,创建一个 S3 客户端对象:

s3 = boto3.client('s3',
                  aws_access_key_id=<ACCESS_KEY>,
                  aws_secret_access_key=<SECRET_KEY>)

其中 <ACCESS_KEY><SECRET_KEY> 是 AWS 访问凭证中的 access key 和 secret access key。如果使用了环境变量或配置文件,则可以省略这两个参数。

最后,可以使用 s3.upload_file() 方法将文件上传到 S3 存储桶:

s3.upload_file(<LOCAL_PATH>, <BUCKET_NAME>, <S3_PATH>)

其中 <LOCAL_PATH> 是本地文件的路径,<BUCKET_NAME> 是 S3 存储桶名称,<S3_PATH> 是在存储桶中的对象路径(可以省略)。

以下是完整的 Python 代码:

import boto3

ACCESS_KEY = '<ACCESS_KEY>'
SECRET_KEY = '<SECRET_KEY>'
BUCKET_NAME = '<BUCKET_NAME>'
LOCAL_PATH = '<LOCAL_PATH>'
S3_PATH = '<S3_PATH>'

s3 = boto3.client('s3',
                  aws_access_key_id=ACCESS_KEY,
                  aws_secret_access_key=SECRET_KEY)

s3.upload_file(LOCAL_PATH, BUCKET_NAME, S3_PATH)
总结

本文介绍了如何使用 Python 上传数据到 S3 存储桶。首先需要安装 AWS SDK for Python(Boto3),然后配置访问凭证,并编写 Python 代码来上传数据。