Traffine I/O

日本語

2022-07-01

Cloud Storage API

Cloud Storage API

Google Cloud Storage APIは、開発者がPythonを使用してGoogle Cloud Storageと対話するためのツールです。クラウドストレージ環境内のバケットとオブジェクトを管理するための包括的なメソッドと関数を提供します。

インストール

Google Cloud Storage Pythonライブラリをインストールするには、次のコマンドを実行します。

bash
$ pip install google-cloud-storage

バケットの取得

Python APIを使用してGoogle Cloud Storage内の特定のバケットに関する情報を取得するには、次の手順に従うことができます。

python
from google.cloud import storage

# Create a client
client = storage.Client()

# Retrieve the bucket
bucket = client.get_bucket(bucket_name)

# Print bucket details
print("Bucket Name: {}".format(bucket.name))
print("Location: {}".format(bucket.location))
print("Storage Class: {}".format(bucket.storage_class))

バケットのリストの取得

プロジェクトに関連する全てのバケットのリストを取得するには、次のコードを使用します。

python
from google.cloud import storage

# Create a client
client = storage.Client()

# Retrieve the list of buckets
buckets = client.list_buckets()

# Print bucket names
for bucket in buckets:
    print("Bucket Name: {}".format(bucket.name))

バケットの作成

Google Cloud Storage APIを使用してプログラムで新しいバケットを作成するには、次のコードを使用します。

python
from google.cloud import storage

# Create a client
client = storage.Client()

# Create the bucket
bucket = client.create_bucket(bucket_name, location=location, storage_class=storage_class)

print("Bucket {} created.".format(bucket.name))

バケットの削除

Python APIを使用してGoogle Cloud Storage内のバケットを削除するには、次の手順に従います。

python
from google.cloud import storage

# Create a client
client = storage.Client()

# Retrieve the bucket
bucket = client.get_bucket(bucket_name)

# Delete the bucket
bucket.delete()

print("Bucket {} deleted.".format(bucket.name))

オブジェクトのリストの取得

Python APIを使用してGoogle Cloud Storageバケット内のオブジェクトのリストを取得するには、次のコードを使用します。

python
from google.cloud import storage

# Create a client
client = storage.Client()

# Retrieve the bucket
bucket = client.get_bucket(bucket_name)

# List objects in the bucket
objects = bucket.list_blobs()

# Print object names
for obj in objects:
    print("Object Name: {}".format(obj.name))

ファイルとしてのオブジェクトのダウンロードとアップロード

Python APIを使用してGoogle Cloud Storage内のオブジェクトをファイルとしてダウンロードおよびアップロードするには、次のコードを使用します。

python
from google.cloud import storage

# Create a client
client = storage.Client()

# Retrieve the bucket
bucket = client.get_bucket(bucket_name)

# Download an object as a file
blob = bucket.blob(object_name)
blob.download_to_filename(local_file_path)

print("Object downloaded and saved as file: {}".format(local_file_path))

# Upload a file as an object
blob = bucket.blob(new_object_name)
blob.upload_from_filename(local_file_path)

print("File uploaded as object: {}".format(new_object_name))

リソースからファイルオブジェクトとしてのオブジェクトのダウンロード

PythonでGoogle Cloud Storageからオブジェクトをダウンロードし、ファイルオブジェクトとして取得するには、次のコードを使用します。

python
from google.cloud import storage

# Create a client
client = storage.Client()

# Retrieve the bucket
bucket = client.get_bucket(bucket_name)

# Retrieve the object
blob = bucket.get_blob(object_name)

# Download the object as a file object
file_object = blob.download_as_file()

# Read the contents from the file object
content = file_object.read()

print("Object Content: {}".format(content))

URLからファイルオブジェクトとしてのオブジェクトのダウンロード

PythonでURLを使用してGoogle Cloud Storageからオブジェクトをダウンロードし、ファイルオブジェクトとして取得するには、次のコードを使用します。

python
import requests

# Specify the URL of the object
object_url = "https://storage.googleapis.com/{}/{}".format(bucket_name, object_name)

# Download the object and retrieve it as a file object
response = requests.get(object_url)
file_object = response.content

# Read the contents from the file object
content = file_object.read()

print("Object Content: {}".format(content))

オブジェクトの削除

Python APIを使用してGoogle Cloud Storageバケットからオブジェクトを削除するには、次のコードを使用します。

python
from google.cloud import storage

# Create a client
client = storage.Client()

# Retrieve the bucket
bucket = client.get_bucket(bucket_name)

# Delete the object
blob = bucket.blob(object_name)
blob.delete()

print("Object {} deleted.".format(object_name))

参考

https://cloud.google.com/storage/docs/reference/libraries#client-libraries-install-python
https://cloud.google.com/python/docs/reference/storage/latest/index.html

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!