Gunakan Cloud Storage

Jika aplikasi 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 sebesar 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 melakukan hal berikut:

    Go

    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.

    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.

    Java

    Tambahkan library ke file dependensi aplikasi Anda.

    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.

    Node.js

    Di app.yaml, tambahkan project ID Anda ke nilai lingkungan GOOGLE_CLOUD_PROJECT. Kemudian, tetapkan nilai lingkungan GCLOUD_STORAGE_BUCKET ke nama bucket Cloud Storage yang Anda buat sebelumnya.

    Tambahkan @google-cloud/storage ke file package.json aplikasi Anda. Pelajari lebih lanjut cara menentukan dependensi.

    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.

    Lihat file README.md untuk mendapatkan petunjuk tentang cara menjalankan dan melakukan pengujian secara lokal.

    PHP

    Tambahkan google/cloud-storage ke file composer.json aplikasi Anda dan jalankan composer install dari direktori aplikasi Anda. Pelajari lebih lanjut cara menentukan dependensi.

    Daftarkan Google\Cloud\Storage\StorageClient sebagai wrapper streaming untuk aplikasi Anda. Kemudian gunakan protokol gs untuk membaca dan menulis file.

    Lihat contoh mendaftarkan dan menggunakan wrapper aliran data.

    Selain itu, Anda dapat menggunakan library klien Google Cloud secara langsung.

    Python

    Tambahkan google-cloud-storage ke file requirements.txt aplikasi Anda. Pelajari lebih lanjut cara menentukan dependensi.

    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.

    Ruby

    Tambahkan google-cloud-storage ke Gemfile aplikasi Anda. Pelajari lebih lanjut cara menentukan dependensi.

    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

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.

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.