Jika aplikasi PHP 5 Anda perlu membaca dan menulis file selama runtime, atau menayangkan 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 pertama sebesar 5 GB 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:
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.
Di aplikasi Anda, deklarasikan Cloud Storage sebagai dependensi dengan menambahkan
google/cloud-storage
ke filecomposer.json
aplikasi Anda dan menjalankancomposer install
dari direktori aplikasi Anda. Pelajari composer lebih lanjut.Daftarkan
Google\Cloud\Storage\StorageClient
sebagai wrapper aliran data untuk aplikasi Anda. Kemudian gunakan protokolgs
untuk membaca dan menulis file.Lihat contoh mendaftarkan dan menggunakan wrapper aliran data.
Selain itu, Anda dapat menggunakan library klien Google Cloud secara langsung.
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.