Udemyで講座を受講しよう!
IT

Googleドライブのフォルダ→AmazonS3にアップロードするときの備忘録

Yujiro Sakaki

こんにちは! Excel講師の榊裕次郎です。

依頼があって、4月にローカルフォルダにあるデータをAmazon S3にアップロードするPythonのコードを書いたつもりなのですが、そのPythonファイルがどっかに行ってしまい、しかもほとんど忘れてしまったため、ゼロからやり直しの状態でした……。

忘れないために、自分のブログに記載しておきます。ちなみに私の開発環境は、WindowsでVSCodeです。Python、そんなに得意じゃないのでご容赦ください。

Boto3をインストール

pip install boto3

その最初に作業した4月のときにインストールをしたのだけど、どうやってインストールしたのかあまり覚えておらず、VSCodeにこれをそのまま入力してインストールしたような気がします。

2回目以降は、エラーでインストールできませんでした。まあ、boto3が入っているのでこれでインストールできたとします。

AWSのIAMからアクセスキーとシークレットキーを発行

IAM→[アクセス管理]→[ユーザー]→[認証情報]→[アクセスキーの作成]で作成。

注意点としては、ここでDLできるcsvファイルしかシークレットキーを見ることができないので、必ず大事に保管する。

VSCodeにPythonで記述

import boto3

s3=boto3.resource(‘s3’, 
aws_access_key_id=”XXXXXXXXXXXXXXXXXXXX”,
aws_secret_access_key=”XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”)
s3.Bucket(‘①’).upload_file(‘②’, ‘③’)

① S3のバゲットネーム

② ドライブファイルストリームのGoogleドライブを指定
例) G://マイドライブ/xxx/xxx.csv

③ S3にアップする位置を指定。以下の場合なら、RAWフォルダー内にxxx.csvを配置。
例) RAW/xxx.csv

これで実行するとあっさりアップロード。ちなみに文字コードはUTF-8で。

どうしてこれが必要?

Googleドライブ側は、RAWデータをため込ませる仕様で運用しています。

それをAmazonS3に送るというフローを取ると、Googleドライブ側はスプレッドシートでオペレーションを行うことができて、S3のほうはQuickSightなどのBIツールで利用することができる点。

GoogleはGoogleで完結したいのだけど、Amazonでないと苦手なところもあるからね……。ちなみに同一ファイル名は、S3側でちゃんと上書きしてくれる。

同一ファイル名は(1)とついて上書きできないという不安はあったけど、大丈夫だった。

Advertisement

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUT ME
榊 裕次郎
榊 裕次郎
Excel講師
1981年10月生まれのてんびん座、東京都出身。趣味は、旅行と料理とワイン。2024年は、佐賀県に行って「呼子のイカ」を思いっきり食べたいです。

引き続き、青森・秋田・岩手でのお仕事ご依頼、お待ちしております!
記事URLをコピーしました