Fungsi di library klien App Engine untuk Cloud Storage

Library klien App Engine untuk Cloud Storage menyediakan fungsi berikut:

Fungsi

  • cloudstorage.copy2() menyalin file yang ditentukan ke nama file baru yang ditentukan di bucket Cloud Storage yang sama.
  • cloudstorage.delete() menghapus objek yang ditentukan dari bucket Cloud Storage.
  • cloudstorage.listbucket() mencantumkan objek di bucket Cloud Storage.
  • cloudstorage.open() membuka objek yang sudah ada di bucket Cloud Storage untuk dibaca atau ditimpa, atau membuat objek baru, tergantung mode yang ditentukan
  • cloudstorage.stat() memberikan informasi metadata tentang file, seperti jenis konten, ukuran, stempel waktu, ringkasan MD5, dan header Cloud Storage.

Setelah cloudstorage.open() dipanggil untuk menampilkan objek mirip file yang mewakili objek Cloud Storage yang ditentukan, Anda dapat menggunakan fungsi file Python standar, seperti write() dan close(), untuk menulis objek ke bucket Cloud Storage, atau read() untuk membaca objek dari bucket Cloud Storage.

Class

Fungsi

cloudstorage.copy2 (src, dst, metadata=None, retry_params=None)

Menyalin file yang ditentukan ke nama file baru yang ditetapkan, secara default sekaligus menyalin metadata. Secara opsional, Anda dapat menimpa metadata dalam salinan dengan memberikan parameter metadata opsional.

Mengajukan cloudstorage.NotFoundError jika objek Cloud Storage yang ditentukan tidak ada atau cloudstorage.AuthorizationError jika otorisasi gagal.

Argumen

src (Wajib)
Nama lengkap file Cloud Storage untuk objek, dalam format /bucket/object_name. Harus berupa nama file lengkap dan dapat menyertakan pemisah `/`.
dst (Wajib)
Nama lengkap file Cloud Storage untuk salinan objek, dalam format /bucket/object_name. Harus berupa nama file lengkap dan dapat menyertakan pemisah `/`.
metadata= None (Opsional.)
Teks metadata untuk salinan ini, misalnya, {'x-goog-meta-foo': 'bar'}. Jika Anda memberikan parameter metadata, tidak ada metadata asli yang akan disalin ke file baru. Jika tidak ada metadata yang diberikan, (None), semua metadata file sumber akan disalin.
retry_params= None (Opsional.)
Objek RetryParams tempat Anda memberikan perubahan yang ingin Anda buat ke waktu tunggu default dan setelan percobaan ulang untuk panggilan ini.

Contoh

Untuk menyalin file, tetapi menambahkan metadata baru dan mengabaikan error jika file sumber tidak ada:
import cloudstorage

try:
  cloudstorage.copy2('/my_bucket/README', '/my_bucket/README2', metadata={'x-goog-meta-zzzzz': 'zzzzz'})
except cloudstorage.NotFoundError:
  pass

Kembali ke atas


cloudstorage.delete (filename, retry_params=None)

Menghapus file yang ditentukan dari bucket Cloud Storage.

Mengajukan cloudstorage.NotFoundError jika objek Cloud Storage yang ditentukan tidak ada.

Argumen

filename (Wajib)
Nama lengkap file Cloud Storage untuk objek, dalam format /bucket/object_name. Harus berupa nama file lengkap dan dapat menyertakan pemisah `/`.
retry_params= None (Opsional.)
Objek RetryParams tempat Anda memberikan perubahan yang ingin Anda buat ke waktu tunggu default dan setelan percobaan ulang untuk panggilan ini.

Contoh

Untuk menghapus file, tetapi mengabaikan error jika file tidak ada:
import cloudstorage

try:
  cloudstorage.delete(filename)
except cloudstorage.NotFoundError:
  pass

Kembali ke atas


cloudstorage.listbucket (path_prefix, marker=None, max_keys=None, delimiter=None, retry_params=None)
Mengembalikan objek iterator bucket. Iterator ini menampilkan daftar objek yang diurutkan yang cocok dengan semua filter. Perhatikan bahwa fungsi ini bersifat asinkron. Ini tidak akan memblokir kecuali jika iterator dipanggil sebelum iterator mendapatkan hasil.

Fungsi ini beroperasi dalam dua mode berbeda, bergantung pada apakah Anda menggunakan argumen delimiter atau tidak:

  • Mode reguler (default): Mencantumkan semua file di bucket tanpa konsep hierarki apa pun. (Cloud Storage tidak memiliki hierarki direktori yang sebenarnya.)
  • Mode emulasi direktori: Jika Anda menentukan argumen delimiter, argumen ini akan digunakan sebagai pemisah jalur untuk mengemulasikan hierarki direktori.

Argumen

path_prefix (Wajib)
Jalur Cloud Storage dengan format /bucket atau /bucket/prefix, misalnya, /bucket/foo/2001. Hanya objek yang jalur lengkapnya dimulai dengan path_prefix yang akan ditampilkan.
marker= None (Opsional)
String. Awalan jalur lainnya. Hanya objek yang jalur lengkapnya dimulai secara leksikografis setelah penanda secara eksklusif yang akan ditampilkan. File yang digunakan sebagai `penanda` tidak ditampilkan. Misalnya, jika Anda ingin semua file yang terdaftar mulai dari superduperfoo3.txt dicantumkan, Anda harus menentukan file tepat sebelum superduperfoo3.txt, misalnya:
stat = cloudstorage.listbucket("/my_bucket/foo", marker='/my_bucket/foo/superduperfoo2.txt')
Salah satu cara untuk menggunakan parameter ini adalah menggunakannya dengan max_keys untuk melakukan "page-through" pada nama file bucket.
max_keys= None (Opsional)
Integer. Menentukan jumlah maksimum objek yang akan ditampilkan. Gunakan ini jika Anda mengetahui jumlah objek yang diinginkan. (Jika tidak, library klien Cloud Storage akan otomatis melakukan buffering dan melakukan penomoran halaman pada semua hasil.) Dapat digunakan dengan marker untuk menelusuri nama file dalam bucket.
stats = cloudstorage.listbucket(bucket + '/foo', max_keys=page_size, marker=stat.filename)
delimiter= None (Opsional)
String. Mengaktifkan mode direktori. Anda dapat menentukan satu atau beberapa karakter untuk digunakan sebagai pemisah direktori.
retry_params= None (Opsional.)
Objek RetryParams tempat Anda memberikan perubahan yang ingin Anda buat ke waktu tunggu default dan setelan percobaan ulang untuk panggilan ini.

Nilai Hasil

Menampilkan iterator objek GCSFileStat pada file yang cocok, yang diurutkan menurut nama file. Dalam mode reguler, objek GCSFileStat yang ditampilkan memiliki data berikut:

  • filename
  • etag (Representasi heksadesimal dari hash MD5 konten file)
  • st_size (panjang konten header)
  • st_ctime
  • is_dir

Catatan: Jika properti is_dir objek GCSFileStat adalah True, satu-satunya properti lain dalam objek tersebut adalah filename. Jika is_dir adalah False, maka GCSFileStat juga berisi semua properti lainnya.

Kembali ke atas


cloudstorage.open(filename, mode='r', content_type=None, options=None, read_buffer_size=storage_api.ReadBuffer.DEFAULT_BUFFER_SIZE, retry_params=None)

Dalam mode baca (r), objek Cloud Storage yang ditentukan akan dibuka untuk dibaca. Dalam mode tulis w, jika file yang ditentukan ada, file tersebut akan dibuka untuk ditimpa (tambahkan tidak didukung). Jika tidak ada, file akan dibuat di bucket yang ditentukan.

Setelah selesai menulis, jika Anda ingin membaca file dan/atau menyimpannya di Cloud Storage, tutup file tersebut menggunakan fungsi close. Bukanlah error jika Anda tidak memanggil close, tetapi file tidak akan dapat dibaca atau disimpan di Cloud Storage.

Memunculkan:

Argumen

filename (Wajib)
File yang akan dibuka, dalam format /bucket/object. Contoh, /my_bucket/lyrics/southamerica/list5.txt
mode (Opsional)
String. Tentukan 'r' untuk membuka file agar dibaca (default). Tentukan 'w' untuk membuka file yang sudah ada untuk menimpa atau membuat file baru.

content_type: (Opsional)
String. Hanya digunakan dalam mode tulis. Anda harus menentukan jenis MIME file (Anda dapat menentukan jenis MIME yang valid). Jika Anda tidak memberikan nilai ini, Cloud Storage secara default akan menggunakan jenis binary/octet-stream saat menyajikan objek.
opsi: (Opsional)

Dict. Hanya digunakan dalam mode tulis. Opsi yang didukung adalah x-goog-acl, x-goog-meta-, cache-control, content-disposition dan content-encoding.

Jika Anda tidak memberikan opsi x-goog-acl, Cloud Storage akan menggunakan ACL default bucket. Nilai yang valid untuk x-goog-acl tercantum dalam dokumentasi Cloud Storage untuk x-goog-acl.

Anda dapat menentukan metadata objek kustom menggunakan header x-goog-meta-. Contoh:

gcs_file = cloudstorage.open(filename, 'w', content_type='text/plain', options={'x-goog-acl': 'private','x-goog-meta-foo': 'foo', 'x-goog-meta-bar': 'bar'})
read_buffer_size: (Opsional)
Integer. Hanya digunakan dalam mode baca. Jika Anda tidak menetapkan nilai ini, ukuran buffer default akan digunakan (direkomendasikan). Saat membaca, Anda harus membaca dengan read_buffer_size demi performa pengambilan data yang optimal.
retry_params= None (Opsional.)
Objek RetryParams tempat Anda memberikan perubahan yang ingin Anda buat ke waktu tunggu default dan setelan percobaan ulang untuk panggilan ini.

Nilai Hasil

Mengembalikan buffer pembacaan atau penulisan, yang mendukung antarmuka seperti file tempat Anda dapat memanggil fungsi read, write, dan close Python standar. Buffer ini harus ditutup setelah Anda selesai membaca atau menulis.

Kembali ke atas


cloudstorage.stat(filename, retry_params=None)

Menampilkan objek GCSFileStat yang berisi metadata file.

Mengajukan cloudstorage.NotFoundError jika objek Cloud Storage yang ditentukan tidak ada.

Argumen

filename (Wajib)
File yang akan dibuka, dalam format /bucket/object. Contoh,/my_bucket/lyrics/southamerica/list5.txt
retry_params= None (Opsional.)
Objek RetryParams tempat Anda memberikan perubahan yang ingin Anda buat ke waktu tunggu default dan setelan percobaan ulang untuk panggilan ini.

Nilai Hasil

Menampilkan objek GCSFileStat yang berisi metadata file.

Kembali ke atas