【问题标题】:How to upload nested directories and files into s3 bucket using python boto3如何使用 python boto3 将嵌套目录和文件上传到 s3 存储桶
【发布时间】:2021-03-24 21:09:26
【问题描述】:

我有一个名为要上传的文件夹,里面有文件、文件夹和嵌套文件夹/嵌套目录。

无论我想上传什么到 s3 存储桶,我只要把它放到 to be upload 文件夹并运行一个 python3 脚本,之后我必须得到里面的所有东西 要上传文件夹,因为它在 s3 存储桶内。

以下图片仅供参考,以了解我的要上传文件夹的样子

我已经使用 boto3 设置了所有 aws 配置的东西,但是卡在这里所以,我想在运行后看到一个 python 用户定义/预定义函数,我可以得到 中的所有内容 将第一张图片所示的文件夹按原样上传到 s3 存储桶中。

我正在使用 windows 10 操作系统和 python 3.9.2 解释器。

请帮忙!!!

非常感谢任何帮助!!!!

提前谢谢..

【问题讨论】:

  • 不确定是什么问题。你没有展示任何 python 脚本,也没有解释它有什么问题。
  • @Marcin 我还没有编写任何 python 脚本,我只是要求一个具有动态值的 python 代码 sn-p 到现在可以解决我的问题
  • 所以开始写something,并就你不理解的部分提出具体的问题。
  • AWS Command-Line Interface (CLI)cpsync)可以很容易地复制文件。您是否特别需要编写自己的代码来执行此操作?

标签: python python-3.x amazon-web-services amazon-s3 boto3


【解决方案1】:

试试这个:

params 是一个文件,其中您在 a、b、c、d 变量中拥有访问密钥和其他机密内容

import os, boto3, params, subprocess

os.environ['aws_access_key_id'] = params.a
os.environ['aws_secret_access_key'] = params.b
os.environ['default_region_name'] = params.c
os.environ['default_output_format'] = params.d



def upload_to_s3():
    subprocess.run(
        ['aws', 's3', 'sync', './folder-name', 's3://bucket-name'])


upload_to_s3()


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多