sami1220
@sami1220

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

PythonからGCSバケット内の指定フォルダにデータ保存したい

解決したいこと

PythonからGCSバケット内の指定フォルダにデータ保存したい

現在、以下のソースコードでGCSのバケット(main-bucket)にデータを保存することができました。
しかし本来は、バケット内の指定フォルダにデータを保存したいのですが、その方法がわからずに困ってます。

バケット内の構造:main-bucket/main-folder/sub-folder ←sub-folderを指定してデータ保存したい

どなたかお分かりの方がいらっしゃいましたら、教えていただきたいです。
よろしくお願いします。

ソースコード

import os
import json
import pyarrow as pa
import pyarrow.parquet as pq
from pprint import pprint
from google.cloud import storage as gcs
from google.oauth2 import service_account
key_path = 'service_account.json'
service_account_info = json.load(open(key_path))
credentials = service_account.Credentials.from_service_account_info(service_account_info)
client = gcs.Client(
    credentials=credentials,
    project=credentials.project_id,
)

# df_ をparquet型に変換
table = pa.Table.from_pandas(df_)
buf = pa.BufferOutputStream()

bucket_name = 'main-bucket' #保存するバケット名
blob_name = 'sample-data.parquet' #保存するデータの名前

bucket = client.get_bucket(bucket_name)
blob = bucket.blob(blob_name)

#main-bucketへアップロード
blob.upload_from_string(data=buf.getvalue().to_pybytes())

0

1Answer

blob_name = 'main-folder/sub-folder/sample-data.parquet'

blobnameにバケットから下のPATHを指定するとPATHの指定ができました。

0Like

Your answer might help someone💌