日: 2022年2月5日

  • boto3 でファイルをアップロードする

    python 経由で s3 にファイルをアップロードしたくなる場合がある。

    本記事はその際のメモ。

    import boto3
    
    # 書き込み先バケット
    BUCKET = 'output-bucket'
    INPUT= 'hoge.csv'
    OUTPUT = 'hoge.csv'
    # OUTPUT = 'DIR/DIR/hoge.csv'
    
    
    s3 = boto3.resource('s3')
    s3.Bucket(BUCKET).upload_file(Filename=INPUT, Key=OUTPUT)
    
    

    ポイントとして、書き込み先の s3 のディレクトリに対し書き込むとき、存在しないディレクトリを対象にすると、存在しないディレクトリは一緒に作られる。これは、そもそも s3 にディレクトリという考えがないためである。

    それについては以下の記事を参照