LoginSignup
2
2

More than 3 years have passed since last update.

Cloud StorageへPythonを使ってファイルをアップロードする方法【RaspberryPIで定点カメラを作る #1】

Last updated at Posted at 2020-05-02

最初に

RaspberryPIで定点カメラを作ったので備忘録 第一弾です。
動画も作成したのでよろしく!
IMAGE ALT TEXT HERE

分かること

  • google cloud storageのアップロード方法

作成

用意するもの

  • GoogleCloudPlatformのアカウント

手順

1.GoogleCloudPlatform関連

GoogleCloudPlatform(GoogleCloudStorage)って?

基本的には下記のようなサービスです。

Googleが提供するクラウドにある巨大なフォルダのようなもので、ファイルを書き込んだり 読み込んだりが簡単に出来るサービスです。
価格は無料分もありますが、読み込み・書き込み・存在するデータサイズで課金されていきます。

Cloud側設定
GoogleCloudPlatformにログインしていただき、横のStorage>ブラウザをクリックします。
image.png

表示されたページでバケットを作成をクリックします。
image.png

こんな感じでバケットを作成します。
バケット名は自由でいいです。
image.png
image.png
image.png

作成が完了したら、アクセスするサービスアカウントを作成します。
左のメニューからIAMと管理>サービスアカウントをクリックします。
image.png

画面上部のサービスアカウントを作成をクリックします
image.png

名前は適当でいいです。わかりやすいものにしてください。
image.png

サービスアカウントの権限ではCloud Storageの権限を付与します。
ロールではCloud Storage>ストレージの管理者としておいてください
image.png

最後にキーの作成をクリック
image.png

JSONタイプを選択した状態で作成をクリックするとダウンロードできます。
このファイルは後で利用するので大切に保管しておいてください。
また、この情報が公になると大量の請求が来たりするのでご注意ください。
image.png

ローカル側で確認
Pythonの環境を構築していきます。
今回、python3を利用するため、下記のコマンドで環境を入れます。

sudo apt install python3 python3-pip

インストールが完了したら、Cloud Storageにアクセスするため、google-cloud-storageというpythonのモジュールをインストールします。

pip3 install google-cloud-storage

そして、テスト用のコードを作成します。
下記のコードをnanoなどで作成してください。

#nano で作る場合
nano file2gs.py

※バケット名の部分は自分のバケット名を入れてください。

file2gs.py
# /home/pi/image.jpgをアップロードするお試しコード
from google.cloud import storage
import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="/home/pi/gkey.json"
client = storage.Client()
bucket = client.get_bucket('{バケット名}')
blob2 = bucket.blob('test.txt')
blob2.upload_from_filename(filename='/home/pi/test.txt')

実行する前に先程ダウンロードしたjsonファイルを開いてコピーしてgkey.jsonというファイルに書き込みます。

#nano で作る場合
nano gkey.json

開いたファイルに内容をコピーしてください。
また、アップロードするファイルも作成しておきます。

echo "hi. this is text file">test.txt

この状態で、下記のコマンドを入力し、実行します。

python3 file2gs.py

image.png

下のリンクをクリックすれば内容も確認できます。
デフォルトでは世界には公開されないのでご安心を…
image.png

これで、クラウドにデータをアップロードすることができました。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2