Halaman ini menunjukkan cara mengupload objek ke bucket Cloud Storage dari sistem file lokal Anda. Objek yang diupload terdiri dari data yang ingin Anda simpan bersama dengan metadata terkait. Untuk ringkasan konseptual, termasuk cara memilih metode upload yang optimal berdasarkan ukuran file Anda, lihat Upload dan download.
Untuk mengetahui petunjuk tentang cara mengupload dari memori, lihat Mengupload objek dari memori.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengupload objek ke bucket, minta administrator Anda untuk memberi Anda peran IAM Storage Object User (roles/storage.objectUser
) di bucket. Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengupload objek ke bucket. Untuk melihat izin persis yang diperlukan, luaskan
bagian Izin yang diperlukan:
Izin yang diperlukan
storage.objects.create
storage.objects.delete
- Izin ini hanya diperlukan untuk upload yang menimpa objek yang sudah ada.
storage.objects.get
- Izin ini hanya diperlukan jika Anda berencana menggunakan Google Cloud CLI untuk melakukan tugas-tugas di halaman ini.
storage.objects.list
- Izin ini hanya diperlukan jika Anda berencana menggunakan Google Cloud CLI untuk melakukan tugas-tugas di halaman ini. Izin ini juga diperlukan jika Anda ingin menggunakan Konsol Google Cloud untuk memverifikasi objek yang telah diupload.
Jika berencana menggunakan Konsol Google Cloud untuk melakukan tugas di halaman ini, Anda juga akan memerlukan izin storage.buckets.list
, yang tidak termasuk dalam peran Storage Object User (roles/storage.objectUser
). Untuk mendapatkan
izin ini, minta administrator Anda untuk memberi Anda peran Storage Admin
(roles/storage.admin
) di project tersebut.
Anda juga bisa mendapatkan izin ini dengan peran standar atau peran khusus lainnya.
Untuk mengetahui informasi tentang cara memberikan peran pada bucket, lihat Menggunakan IAM dengan bucket.
Mengupload bbjek ke bucket
Selesaikan langkah-langkah berikut untuk mengupload objek ke bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Di daftar bucket, klik nama bucket tempat Anda ingin mengupload objek.
Di tab Objek untuk bucket:
Tarik file dari desktop atau file manager ke panel utama pada Konsol Google Cloud.
Atau klik tombol Upload File, pilih file yang ingin diupload dalam dialog yang muncul, lalu klik Buka.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah gcloud storage cp
:
gcloud storage cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME
Dengan keterangan:
OBJECT_LOCATION
adalah jalur lokal ke objek Anda. Contoh,Desktop/dog.png
.DESTINATION_BUCKET_NAME
adalah nama bucket tempat Anda mengupload objek. Contohnya,my-bucket
.
Jika berhasil, responsnya akan terlihat seperti contoh berikut:
Completed files 1/1 | 164.3kiB/164.3kiB
Anda dapat menetapkan metadata objek kunci tetap dan kustom sebagai bagian dari upload objek menggunakan flag perintah.
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.
Contoh berikut menunjukkan proses upload objek individual:
Contoh berikut menunjukkan proses upload beberapa objek secara bersamaan:
Contoh berikut menunjukkan proses upload semua objek dengan awalan umum secara bersamaan:
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.
Contoh berikut menunjukkan proses upload objek individual:
Contoh berikut menunjukkan proses upload beberapa objek secara bersamaan:
Contoh berikut menunjukkan proses upload semua objek dengan awalan umum secara bersamaan:
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.
Terraform
Anda dapat menggunakan resource Terraform untuk mengupload objek.
content
atau source
harus ditentukan.
REST API
JSON API
JSON API membedakan antara upload media, yang hanya menyertakan data objek dalam permintaan, dan upload multibagian JSON API, yang mana kedua data objek tersebut dan metadata objek disertakan dalam permintaan.
Upload media (upload permintaan tunggal tanpa metadata objek)
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan ObjekPOST
:curl -X POST --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"
Dengan keterangan:
OBJECT_LOCATION
adalah jalur lokal ke objek Anda. Contoh,Desktop/dog.png
.OBJECT_CONTENT_TYPE
adalah jenis konten objek. Contohnya,image/png
BUCKET_NAME
adalah nama bucket tempat Anda mengupload objek. Contoh,my-bucket
.OBJECT_NAME
adalah nama yang dienkode ke URL yang ingin Anda berikan untuk objek. Misalnya,pets/dog.png
, dienkode URL sebagaipets%2Fdog.png
.
Upload multibagian JSON API (upload permintaan tunggal yang menyertakan metadata objek)
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Buat file
multipart/related
yang berisi informasi berikut:--BOUNDARY_STRING Content-Type: application/json; charset=UTF-8 OBJECT_METADATA --BOUNDARY_STRING Content-Type: OBJECT_CONTENT_TYPE OBJECT_DATA --BOUNDARY_STRING--
Dengan keterangan:
BOUNDARY_STRING
adalah string yang Anda tentukan yang mengidentifikasi berbagai bagian dari file multibagian. Contoh,separator_string
.OBJECT_METADATA
adalah metadata yang ingin Anda sertakan untuk file, dalam format JSON. Setidaknya, bagian ini harus menyertakan atributname
untuk objek, misalnya{"name": "myObject"}
.OBJECT_CONTENT_TYPE
adalah jenis konten objek. Misalnya,text/plain
.OBJECT_DATA
adalah data untuk objek.
Contoh:
--separator_string Content-Type: application/json; charset=UTF-8 {"name":"my-document.txt"} --separator_string Content-Type: text/plain This is a text file. --separator_string--
Gunakan
cURL
untuk memanggil JSON API dengan permintaan ObjekPOST
:curl -X POST --data-binary @MULTIPART_FILE_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: multipart/related; boundary=BOUNDARY_STRING" \ -H "Content-Length: MULTIPART_FILE_SIZE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=multipart"
Dengan keterangan:
MULTIPART_FILE_LOCATION
adalah jalur lokal ke file multibagian yang Anda buat di langkah 2. Misalnya,Desktop/my-upload.multipart
.BOUNDARY_STRING
adalah string batas yang Anda tentukan di Langkah 2. Contoh,my-boundary
.MULTIPART_FILE_SIZE
adalah ukuran total, dalam byte, dari file multibagian yang Anda buat di Langkah 2. Contoh,2000000
.BUCKET_NAME
adalah nama bucket tempat Anda akan mengupload objek. Contoh,my-bucket
.
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
beserta metadata file.
XML API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk memanggil XML API dengan permintaanPUT
Objek:curl -X PUT --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dengan keterangan:
OBJECT_LOCATION
adalah jalur lokal ke objek Anda. Contoh,Desktop/dog.png
.OBJECT_CONTENT_TYPE
adalah jenis konten objek. Contohnya,image/png
BUCKET_NAME
adalah nama bucket tempat Anda mengupload objek. Contoh,my-bucket
.OBJECT_NAME
adalah nama yang dienkode ke URL yang ingin Anda berikan untuk objek. Misalnya,pets/dog.png
, dienkode ke URL sebagaipets%2Fdog.png
.
Anda dapat menetapkan metadata objek tambahan sebagai bagian dari upload objek di header permintaan dengan cara yang sama seperti contoh sebelumnya yang menetapkan Content-Type
. Jika menggunakan XML API, metadata hanya dapat ditetapkan pada saat objek ditulis, misalnya saat mengupload, menyalin, atau mengganti objek. Untuk informasi selengkapnya, lihat
Mengedit metadata objek.
Langkah selanjutnya
- Pelajari persyaratan penamaan untuk objek.
- Transfer objek dari instance Compute Engine Anda.
- Transfer data dari penyedia cloud atau sumber online lainnya, seperti daftar URL.
- Mengontrol siapa yang memiliki akses ke objek dan bucket Anda.
- Melihat metadata objek Anda, termasuk URL untuk objek tersebut.
Cobalah sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud Storage dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba Cloud Storage gratis