Cloud Storage mendukung streaming data ke bucket tanpa mengharuskan data disimpan terlebih dahulu ke file. Fungsi ini berguna jika Anda ingin mengupload data, tetapi tidak mengetahui ukuran akhir pada saat upload dimulai, seperti ketika menghasilkan data upload dari proses tertentu, atau ketika mengompresi objek dengan cepat.
Menggunakan validasi checksum saat melakukan streaming
Karena checksum hanya dapat disediakan dalam permintaan awal upload, biasanya menjadi tidak mungkin untuk menggunakan validasi checksum Cloud Storage saat melakukan streaming. Sebaiknya selalu gunakan validasi checksum, dan Anda dapat melakukannya secara manual setelah upload streaming selesai; tetapi perlu diingat bahwa dengan melakukan validasi setelah transfer selesai, data yang rusak dapat diakses selama waktu yang diperlukan untuk mengonfirmasi kerusakan dan menghapusnya.
Jika memerlukan validasi checksum sebelum upload selesai dan data dapat diakses, sebaiknya Anda tidak menggunakan upload streaming. Sebaiknya gunakan opsi upload lain dengan validasi checksum yang dijalankan sebelum penyelesaian objek.
Prasyarat
Prasyarat dapat bervariasi berdasarkan alat yang digunakan:
Konsol
Untuk menyelesaikan panduan ini menggunakan konsol Google Cloud, Anda harus memiliki izin IAM yang tepat. Jika bucket yang ingin Anda akses untuk streaming ada di project yang tidak Anda buat, pemilik project harus memberi Anda peran yang berisi izin yang diperlukan.
Untuk mengetahui daftar izin yang diperlukan untuk tindakan tertentu, lihat Izin IAM untuk konsol Google Cloud.
Untuk daftar peran yang relevan, lihat peran Cloud Storage. Atau, Anda dapat membuat peran khusus yang memiliki izin tertentu dan terbatas.
Command line
Untuk menyelesaikan panduan ini menggunakan utilitas command line, Anda harus memiliki izin IAM yang tepat. Jika bucket yang ingin Anda akses untuk streaming ada di project yang tidak Anda buat, pemilik project harus memberi Anda peran yang berisi izin yang diperlukan.
Untuk mengetahui daftar izin yang diperlukan untuk tindakan tertentu, lihat Izin IAM untuk perintah gcloud storage
.
Untuk daftar peran yang relevan, lihat peran Cloud Storage. Atau, Anda dapat membuat peran khusus yang memiliki izin tertentu dan terbatas.
Library klien
Untuk menyelesaikan panduan ini menggunakan library klien Cloud Storage, Anda harus memiliki izin IAM yang tepat. Jika bucket yang ingin Anda akses untuk streaming ada di project yang tidak Anda buat, pemilik project harus memberi Anda peran yang berisi izin yang diperlukan.
Kecuali jika dinyatakan lain, permintaan library klien dibuat melalui JSON API dan memerlukan izin seperti yang tercantum dalam izin IAM untuk metode JSON. Untuk melihat metode JSON API mana yang dipanggil saat Anda membuat permintaan menggunakan library klien, buat log permintaan mentah.
Untuk daftar peran IAM yang relevan, lihat peran Cloud Storage. Atau, Anda dapat membuat peran khusus yang memiliki izin tertentu dan terbatas.
REST API
JSON API
Untuk menyelesaikan panduan ini menggunakan JSON API, Anda harus memiliki izin IAM yang tepat. Jika bucket yang ingin Anda akses untuk streaming ada di project yang tidak Anda buat, pemilik project harus memberi Anda peran yang berisi izin yang diperlukan.
Untuk mengetahui daftar izin yang diperlukan untuk tindakan tertentu, lihat Izin IAM untuk metode JSON.
Untuk daftar peran yang relevan, lihat peran Cloud Storage. Sebagai alternatif, Anda dapat membuat peran khusus yang memiliki izin tertentu dan terbatas.
Melakukan streaming upload
Contoh berikut menunjukkan cara melakukan upload streaming dari proses tertentu ke objek Cloud Storage:
Konsol
Konsol Google Cloud tidak mendukung upload streaming. Untuk itu, gunakan gcloud CLI.
Command line
Masukkan data ke perintah
gcloud storage cp
dan gunakan tanda hubung untuk URL sumber:PROCESS_NAME | gcloud storage cp - gs://BUCKET_NAME/OBJECT_NAME
Dengan keterangan:
PROCESS_NAME
adalah nama proses tempat Anda mengumpulkan data. Contohnya,collect_measurements
.BUCKET_NAME
adalah nama bucket tempat objek berada. Contoh,my_app_bucket
.OBJECT_NAME
adalah nama objek yang dibuat dari data. Contoh,data_measurements
.
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Untuk melakukan upload streaming, ikuti petunjuk cara melakukan upload yang dapat dilanjutkan dengan pertimbangan berikut:
Saat mengupload data file, lakukan upload dalam beberapa potongan.
Karena total ukuran file baru dapat diketahui saat sampai ke potongan terakhir, gunakan
*
untuk total ukuran file di headerContent-Range
potongan menengah.Misalnya, jika potongan pertama yang Anda upload berukuran 512 KiB, header
Content-Range
untuk potongan tersebut adalahbytes 0-524287/*
. Jika upload tersisa 64.000 byte setelah potongan pertama, lanjutkan dengan mengirimkan potongan terakhir berisi byte yang tersisa dan memiliki headerContent-Range
dengan nilaibytes 524288-588287/588288
.
XML API
Untuk melakukan upload streaming, gunakan salah satu metode berikut:
Upload yang dapat dilanjutkan, dengan penyesuaian berikut:
Saat mengupload data file, lakukan upload dalam beberapa potongan.
Karena total ukuran file baru dapat diketahui saat sampai ke potongan terakhir, gunakan
*
untuk total ukuran file di headerContent-Range
potongan menengah.Misalnya, jika potongan pertama yang Anda upload berukuran 512 KiB, header
Content-Range
untuk potongan tersebut adalahbytes 0-524287/*
. Jika upload tersisa 64.000 byte setelah potongan pertama, lanjutkan dengan mengirimkan potongan terakhir berisi byte yang tersisa dan memiliki headerContent-Range
dengan nilaibytes 524288-588287/588288
.
Langkah selanjutnya
- Streaming download.
- Pelajari lebih lanjut tentang transcoding dekompresi.
- Pelajari lebih lanjut tentang upload dan download.