Open3
Firebase Functions (Python) から Cloud Storage に対して CSV を読み書きする
![hr20k_](https://res.cloudinary.com/zenn/image/fetch/s--2b9Cr8H7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/7c422cb353.jpeg)
読み込み
from io import BytesIO
import pandas as pd
from google.cloud import storage
client = storage.Client()
bucket = client.get_bucket(BUCKET_NAME)
blob = bucket.get_blob(FILE_PATH)
content = blob.download_as_bytes()
df = pd.read_csv(BytesIO(content))
参考
![hr20k_](https://res.cloudinary.com/zenn/image/fetch/s--2b9Cr8H7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/7c422cb353.jpeg)
書き込み
import pandas as pd
from google.cloud import storage
client = storage.Client()
df = pd.DataFrame();
bucket = client.get_bucket(BUCKET_NAME)
blob = bucket.blob(FILE_PATH)
blob.upload_from_string(df.to_csv(), 'text/csv')
参考
![hr20k_](https://res.cloudinary.com/zenn/image/fetch/s--2b9Cr8H7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/7c422cb353.jpeg)
firebase deploy --only functions:[function_name]
実行時に gcloud CLI がないと怒られるのでインストールが必要。
- M1 Mac を使用しているので google-cloud-cli-437.0.1-darwin-arm.tar.gz をダウンロード
- インストールスクリプトを実行
% ./google-cloud-sdk/install.sh
- ターミナルを更新して反映させる
- 下記コマンドを実行してログイン
% ./google-cloud-sdk/bin/gcloud init
- Functions をデプロイ
% firebase deploy --only functions:[function_name]
サポートされているバージョンは Python 3(3.5~3.9)です。
との記載があるが Python3.11 でも問題なくインストールできた。