📌  相关文章
📜  将本地文件复制到 s3 (1)

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

将本地文件复制到 S3

在云计算环境下,S3 是很常见的文件存储服务。本文将介绍如何使用 AWS SDK for Python (Boto3) 将本地文件复制到 S3 存储桶。

步骤
  1. 首先,需要安装 AWS SDK for Python。可以通过运行以下命令来安装。
pip install boto3
  1. 接下来,需要创建一个 AWS S3 存储桶。在 AWS 控制台上创建存储桶,并确保拥有适当的权限。

  2. 然后,需要设置 AWS 凭证。可以将凭证文件保存在本地磁盘上,也可以将其设置为环境变量。以下示例介绍如何将凭证文件保存在本地磁盘上。

import boto3

s3 = boto3.resource('s3',
    aws_access_key_id='ACCESS_KEY',
    aws_secret_access_key='SECRET_KEY',
    region_name='us-west-1')
  1. 现在,可以使用以下代码将本地文件上传到 S3 存储桶中。
import boto3

s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')

data = open('file.txt', 'rb')
bucket.put_object(Key='file.txt', Body=data)
  1. 如果您需要复制整个文件夹,可以使用以下示例代码。
import boto3
import os

s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')

for subdir, dirs, files in os.walk('/path/to/folder'):
    for file in files:
        full_path = os.path.join(subdir, file)
        with open(full_path, 'rb') as data:
            bucket.put_object(Key=full_path, Body=data)
总结

通过 AWS SDK for Python (Boto3),可以轻松地将本地文件复制到 AWS S3 存储桶中。无论是单个文件还是整个文件夹,都可以使用上述示例代码轻松实现。