Menggunakan Cloud Storage

Jika aplikasi Go 1.11 Anda perlu membaca dan menulis file selama runtime, atau menyajikan file seperti film, gambar, atau konten statis lainnya, sebaiknya gunakan bucket Cloud Storage.

App Engine membuat bucket default saat Anda membuat aplikasi. Bucket ini memberikan penyimpanan 5 GB pertama secara gratis dan menyertakan kuota gratis untuk operasi I/O Cloud Storage. Anda dapat membuat bucket Cloud Storage lainnya, tetapi hanya bucket default yang menyertakan penyimpanan pertama sebesar 5 GB secara gratis.

Menggunakan Cloud Storage dengan App Engine

Untuk menggunakan bucket Cloud Storage dari aplikasi App Engine:

  1. Lihat nama bucket yang ada di project App Engine Anda. Anda akan menentukan nama-nama tersebut saat mengupload atau mendownload data dari Cloud Storage.

    Sebaiknya simpan nama bucket Cloud Storage Anda di variabel lingkungan aplikasi, bukan melakukan hard code terhadap nama tersebut ke dalam aplikasi.

  2. Di aplikasi Anda, deklarasikan Cloud Storage sebagai dependensi dengan menggunakan perintah go get cloud.google.com/go/storage. Atau, Anda dapat mendeklarasikan dependensi dalam file go.mod aplikasi. Pelajari lebih lanjut cara menentukan dependensi.

  3. Gunakan Library Klien Google Cloud untuk mengupload atau mendownload data dari bucket Anda.

    Untuk mengetahui informasi tentang cara menyajikan konten statis, lihat Menyimpan dan Menyajikan File Statis.

Menggunakan bucket default

Saat Anda membuat aplikasi, App Engine akan membuat bucket default yang menyediakan penyimpanan pertama sebesar 5 GB secara gratis. Bucket default juga menyertakan kuota gratis untuk operasi I/O Cloud Storage. Lihat Harga, kuota, dan batas untuk mengetahui detailnya. Anda akan ditagih apabila penyimpanan melebihi 5 GB.

Nama bucket default menggunakan format berikut:

project-id.appspot.com

App Engine juga membuat bucket yang digunakan untuk penyimpanan sementara saat men-deploy versi baru aplikasi Anda. Bucket yang bernama staging.project-id.appspot.com ini hanya digunakan oleh App Engine. Aplikasi tidak dapat berinteraksi dengan bucket ini.

Menetapkan izin bucket dan objek

Akun layanan yang terkait dengan aplikasi Anda memerlukan izin untuk membaca dan menulis ke bucket dalam project Anda. Untuk mempelajari izin yang diperlukan, lihat Peran IAM untuk Cloud Storage.

Biasanya, akun layanan yang terkait dengan aplikasi Anda adalah akun layanan App Engine default.

Bergantung pada konfigurasi kebijakan organisasi Anda, akun layanan default mungkin secara otomatis diberi peran Editor di project Anda. Sebaiknya Anda menonaktifkan pemberian peran otomatis dengan menerapkan batasan kebijakan organisasi iam.automaticIamGrantsForDefaultServiceAccounts. Jika Anda membuat organisasi setelah 3 Mei 2024, batasan ini akan diterapkan secara default.

Jika Anda menonaktifkan pemberian peran otomatis, Anda harus menentukan peran mana yang akan diberikan ke akun layanan default, lalu memberikan peran tersebut secara manual.

Jika akun layanan default sudah memiliki peran Editor, sebaiknya ganti peran Editor dengan peran yang kurang permisif.Untuk mengubah peran akun layanan dengan aman, gunakan Policy Simulator untuk melihat dampak perubahan, lalu berikan dan cabut peran yang sesuai.

Untuk mengetahui informasi tentang cara mengizinkan pengguna, aplikasi, atau project lain mengakses bucket dan kontennya, lihat Menetapkan izin bucket dan Menetapkan izin objek.

Menggunakan Cloud Storage dengan server pengembangan lokal

Server pengembangan lokal App Engine tidak mengemulasi Cloud Storage, sehingga semua permintaan Cloud Storage harus dikirim melalui Internet ke bucket Cloud Storage sebenarnya.

Harga, kuota, dan batas

Tidak ada biaya bandwidth yang terkait dengan panggilan library klien Cloud Storage ke Cloud Storage. Namun, ada biaya operasi. Selain itu, panggilan juga mengurangi kuota URL-fetch karena library menggunakan layanan URL-fetch untuk berinteraksi dengan Cloud Storage.

Perlu diperhatikan bahwa Cloud Storage adalah layanan dengan sistem bayar sesuai penggunaan; Anda akan dikenakan biaya sesuai dengan lembar harga Cloud Storage.