Mengupload dan mendownload objek penyimpanan

Penyimpanan objek di Google Distributed Cloud (GDC) dengan air gap memungkinkan Anda mentransfer dan mengambil file, direktori, dan data berversi di seluruh bucket yang tercakup dalam project. Anda dapat menjalankan operasi file tunggal atau multibagian melalui konsol GDC atau gdcloud CLI dan melindungi objek dengan enkripsi AEADKey kustom.

Sebelum memulai

Bucket penyimpanan adalah resource yang dicakup ke project tertentu. Project bertindak sebagai penampung, yang mengelompokkan bucket Anda dan memungkinkan pengelolaannya melalui server Management API. Sebelum dapat melakukan operasi di halaman ini, Anda harus membuat project baru atau memilih project yang sudah ada dan memiliki izin yang memadai.

Peran IAM yang diperlukan

Hubungi IAM Project Admin Anda untuk meminta peran berikut di namespace project Anda:

  • Project Bucket Admin (project-bucket-admin): membuat, memperbarui, dan menghapus bucket penyimpanan.
  • Project Bucket Object Viewer (project-bucket-object-viewer): melihat dan memeriksa detail bucket dan objek penyimpanan.

Untuk mengetahui informasi selengkapnya, lihat Memberikan akses bucket.

Menyiapkan lingkungan Anda

Untuk menjalankan perintah terhadap server API pengelolaan atau server API global, lakukan hal berikut:

  1. Login dan buat file kubeconfig untuk server API pengelolaan zona jika Anda belum memilikinya.
  2. Untuk bucket dual-zone, lakukan hal berikut:
    • Pastikan dengan Operator Infrastruktur (IO) Anda bahwa resource kustom BucketLocationConfig telah dibuat untuk zona yang disambungkan.
    • Buat file kubeconfig untuk server API global.

Panduan penamaan objek

Gunakan panduan berikut untuk memberi nama objek:

  • Gunakan karakter UTF-8 saat memberi nama objek.
  • Terdiri dari 1-55 karakter.
  • Jangan menyertakan informasi identitas pribadi (PII).

Mengupload objek ke bucket penyimpanan

Konsol

  1. Di menu navigasi, klik Object Storage.
  2. Klik nama bucket tempat Anda ingin mengupload objek.
  3. Opsional: Jika Anda ingin membuat folder untuk menyimpan objek, klik Create folder > masukkan nama folder > klik Create.
  4. Klik Upload file secara langsung, atau buka folder yang baru saja Anda buat, lalu klik Upload file.
  5. Pilih file yang diinginkan, lalu klik Buka.
  6. Tunggu pesan konfirmasi bahwa upload berhasil.

gdcloud

Untuk mengupload objek, jalankan perintah berikut:

gdcloud storage cp LOCAL_PATH s3://REMOTE_PATH
gdcloud storage cp s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME
gdcloud storage mv s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME

Perintah berikut memerlukan FULLY_QUALIFIED_BUCKET_NAME. Gunakan perintah GET atau DESCRIBE dari bagian Melihat konfigurasi bucket untuk mendapatkan nama bucket yang sepenuhnya memenuhi syarat.

Perintah berikut mengupload semua file teks dari direktori lokal ke bucket:

gdcloud storage cp *.txt s3://FULLY_QUALIFIED_BUCKET_NAME

Perintah berikut mengupload beberapa file dari direktori lokal ke bucket:

gdcloud storage cp abc1.txt abc2.txt s3://FULLY_QUALIFIED_BUCKET_NAME

Untuk mengupload folder ke bucket, gunakan opsi --recursive untuk menyalin seluruh hierarki direktori. Perintah berikut mengupload hierarki direktori dir:

gdcloud storage cp DIRECTORY_NAME s3://FULLY_QUALIFIED_BUCKET_NAME --recursive

Lakukan upload multibagian untuk objek besar, atau gunakan upload multibagian secara otomatis saat Anda memiliki file yang akan diupload yang berukuran lebih besar dari 15 MB. Dalam hal ini, file akan dibagi menjadi beberapa bagian, dengan setiap bagian berukuran 15 MB. Bagian terakhir lebih kecil. Setiap bagian diupload secara terpisah dan direkonstruksi di tujuan saat transfer selesai.

Jika upload satu bagian gagal, Anda dapat memulai ulang upload tanpa memengaruhi bagian lain yang sudah diupload.

Ada dua opsi yang terkait dengan upload multibagian:

  • --disable-multipart: menonaktifkan upload multibagian untuk semua file.
  • --multipart-chunk-size-mb=SIZE: menetapkan ukuran setiap bagian upload multibagian.

File yang lebih besar dari SIZE akan otomatis diupload sebagai multithreaded-multipart. File yang lebih kecil diupload menggunakan metode tradisional. SIZE dalam megabyte. Ukuran potongan default adalah 15 MB. Ukuran potongan minimum yang diizinkan adalah 5 MB, dan maksimumnya adalah 5 GB.

Mendownload objek dari bucket penyimpanan

Konsol

  1. Di menu navigasi, klik Object Storage.
  2. Klik nama bucket yang berisi objek.
  3. Centang kotak di samping nama objek yang akan didownload.
  4. Klik Download.

gdcloud

Untuk mendapatkan objek dari bucket:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/OBJECT LOCAL_FILE_TO_SAVE

Untuk mendownload semua file teks dari bucket ke direktori Anda saat ini:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/*.txt .

Untuk mendownload file teks abc.txt dari bucket ke direktori Anda saat ini:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt .

Untuk mendownload versi lama file, tampilkan semua versi file terlebih dahulu:

gdcloud storage ls s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt --all-versions

Contoh output:

s3://my-bucket/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND
s3://my-bucket/abc.txt#ODgzNEYzQ0MtMzEzRS0xMUVFLTk2NEItMjI1MTAwQkJENjND
s3://my-bucket/abc.txt#ODNCNDEzNzgtMzEzRS0xMUVFLTlDOUMtQzRDOTAwQjg3RTg3

Kemudian, download versi tertentu dari file teks abc.txt dari bucket ke direktori Anda saat ini:

gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND .

Menggunakan AEADKey kustom

Untuk penyesuaian yang lebih besar, Anda dapat membuat AEADKey sendiri dan menggunakannya secara langsung saat mengenkripsi objek di bucket Anda. Tindakan ini memberi Anda kontrol penuh atas kunci enkripsi, sehingga mengabaikan kunci default. Ikuti Membuat kunci untuk membuat AEADKey baru dan pastikan AEADKey tersebut berada di Namespace yang sama dengan bucket yang ingin Anda gunakan. Kemudian, setiap kali mengirim permintaan, pastikan HEADER dikonfigurasi dengan x-amz-server-side-encryption: SSE-KMS dan x-amz-server-side-encryption-aws-kms-key-id: NAMESPACE_NAME/AEADKey_NAME