ID region
REGION_ID adalah kode singkat yang ditetapkan Google berdasarkan region yang Anda pilih saat membuat aplikasi. Kode ini tidak sesuai dengan negara atau provinsi, meskipun beberapa ID region mungkin tampak mirip dengan kode negara dan provinsi yang umum digunakan. Untuk aplikasi yang dibuat setelah Februari 2020, REGION_ID.r disertakan dalam URL App Engine. Untuk aplikasi lama yang dibuat sebelum tanggal tersebut, ID region bersifat opsional dalam URL.
Pelajari ID region lebih lanjut.
Anda mengkonfigurasi setelan aplikasi App Engine di file app.yaml.
File ini menentukan korespondensi jalur URL dengan pengendali permintaan dan
file statis.
File app.yaml juga berisi informasi tentang kode
aplikasi Anda, seperti runtime dan ID versi
terbaru.
Setiap layanan
di aplikasi Anda memiliki file app.yaml tersendiri, yang berfungsi sebagai deskriptor untuk
deployment-nya. Anda harus membuat file app.yaml terlebih dahulu untuk layanan default
sebelum dapat membuat dan men-deploy file app.yaml untuk layanan tambahan dalam
aplikasi Anda.
Struktur direktori
Untuk mempelajari lebih lanjut tentang membuat struktur beberapa layanan di aplikasi Anda, lihat Penyusunan Layanan Web di App Engine.Contoh
Berikut adalah contoh file app.yaml untuk aplikasi PHP 5:
runtime: php55 api_version: 1 handlers: # Serve images as static resources. - url: /(.+\.(gif|png|jpg))$ static_files: \1 upload: .+\.(gif|png|jpg)$ application_readable: true # Serve php scripts. - url: /(.+\.php)$ script: \1
Contoh di atas akan menayangkan file dengan ekstensi gif, png, atau jpg sebagai resource statis. File telah dikonfigurasi agar dapat dibaca oleh
kode aplikasi saat runtime.
Contoh ini juga akan menayangkan semua skrip PHP. Anda dapat membatasi pengendali skrip
ke skrip level root menggunakan ekspresi url: /([^/]+\.php). Aplikasi
yang sudah dapat memanfaatkan ini untuk menyimulasikan perutean $_GET['q']
mod_rewrite Apache.
Berikut ini konfigurasi app.yaml yang lebih ekstensif:
runtime: php55 api_version: 1 handlers: - url: / script: home.php - url: /index\.html script: home.php - url: /stylesheets static_dir: stylesheets - url: /(.*\.(gif|png|jpg))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg)$ - url: /admin/.* script: admin.php login: admin - url: /.* script: not_found.php
Sintaksis
Sintaksis app.yaml adalah format YAML.
Format YAML mendukung komentar. Baris yang dimulai dengan karakter tagar (#)
akan diabaikan:
# This is a comment.
Pola jalur file dan URL menggunakan sintaksis ekspresi reguler POSIX yang diperluas, kecuali elemen pengkolasi dan class kolasi. Referensi balik ke pencocokan yang dikelompokkan (misalnya \1) didukung, begitu juga ekstensi Perl berikut: \w \W \s \S \d \D.
Elemen aplikasi dan runtime
| Elemen | Deskripsi | 
|---|---|
application | 
      
        
         
          Pendekatan yang direkomendasikan adalah menghapus elemen  
 Untuk mengetahui informasi selengkapnya tentang penggunaan perintah ini, lihat Men-deploy Aplikasi Anda. ID aplikasi adalah Google Cloud project ID konsol yang Anda tentukan saat membuat aplikasi di Google Cloud console.  | 
    
api_version | 
      
         Wajib. Versi API di lingkungan runtime tertentu yang digunakan oleh aplikasi Anda. Kolom ini tidak digunakan lagi pada runtime App Engine yang baru. 
          Saat Google mengumumkan dukungan untuk versi baru
          API lingkungan runtime, aplikasi yang Anda deploy akan terus menggunakan versi yang telah ditentukan. Untuk mengupgrade aplikasi ke versi baru
          API, ubah nilai ini, kemudian deploy ulang aplikasi ke App Engine. Saat Anda menentukan nilai  
          
            Saat ini, App Engine memiliki satu versi dari
            lingkungan runtime   | 
    
default_expiration | 
      
         
          Opsional. Menetapkan periode cache default global untuk semua
          pengendali file statis aplikasi. Anda juga dapat mengonfigurasi durasi cache untuk pengendali file statis
         tertentu. Nilainya berupa string angka dan unit, yang dipisahkan dengan
          spasi, yang unitnya dapat berupa d untuk hari, h untuk jam, m untuk menit, dan s
          untuk detik. Misalnya,  runtime: php55 api_version: 1 default_expiration: "4d 5h" handlers: # ... Untuk informasi selengkapnya, lihat Masa berlaku cache.  | 
    
        
        env_variables
       | 
      
         
          Opsional.
          Anda dapat menentukan variabel lingkungan di file  
          Variabel lingkungan yang diawali dengan
           env_variables: MY_VAR: "my value" MY_VAR dan my value adalah nama dan
          nilai variabel lingkungan yang ingin Anda tentukan dan setiap
          entri variabel lingkungan diindentasi dua spasi pada
          elemen env_variables. Variabel lingkungan yang tidak diberi
          nilai default ke "None".
          
          
          
            Kemudian, Anda dapat mengambil nilai variabel ini menggunakan
             echo getenv('MY_VAR');echo $_SERVER['MY_VAR']; | 
    
error_handlers | 
      
         Opsional. Digunakan untuk mengonfigurasi halaman error khusus yang ditampilkan untuk berbagai jenis error. Elemen ini dapat berisi elemen berikut: 
 error_handlers: - file: default_error.html - error_code: over_quota file: over_quota.html  | 
    
handlers | 
      
         Wajib. Daftar pola URL dan deskripsi mengenai cara penanganannya. App Engine dapat menangani URL dengan mengeksekusi kode aplikasi, atau dengan menyajikan file statis yang diupload dengan kode, seperti image, CSS, atau JavaScript.  | 
    
inbound_services | 
      
         
          Opsional.
          Aplikasi harus mengaktifkan layanan tersebut sebelum dapat menerima permintaan
              masuk. Anda dapat mengaktifkan layanan untuk aplikasi PHP 5
          dengan menyertakan bagian  Tersedia layanan masuk berikut: 
 inbound_services: - mail - warmup  | 
    
instance_class | 
      
         Opsional. Class instance untuk layanan ini. Nilai berikut tersedia, bergantung pada penskalaan layanan Anda: 
  | 
    
module | 
      
         Catatan: Modul kini berganti nama menjadi Layanan. Untuk mengelola aplikasi dengan gcloud CLI, gunakan elemen layanan.  | 
    
runtime | 
      
         Wajib. Nama lingkungan runtime yang digunakan oleh aplikasi Anda. Misalnya, untuk menentukan PHP 5, gunakan: runtime: php55  | 
    
service | 
      
        
         Layanan sebelumnya dikenal sebagai Modul. 
          Hanya didukung oleh plugin berbasis gcloud CLI atau gcloud CLI, misalnya:  
          Diperlukan jika membuat 
          layanan.
          Opsional untuk layanan
           service: service-name 
            Catatan:  Perintah
             module: service-name  | 
    
service_account | 
      
         
          Opsional. Elemen  service_account: [SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com  | 
    
skip_files | 
      
         
          Opsional.
          Elemen  
           skip_files: - ^(.*/)?#.*#$ - ^(.*/)?.*~$ - ^(.*/)?.*\.py[co]$ - ^(.*/)?.*/RCS/.*$ - ^(.*/)?\..*$ 
          Pola default mengecualikan file cadangan Emacs dengan nama formulir
           
          Untuk memperluas daftar ekspresi reguler di atas, salin dan tempel daftar
          di atas ke dalam  skip_files: - ^(.*/)?#.*#$ - ^(.*/)?.*~$ - ^(.*/)?.*\.py[co]$ - ^(.*/)?.*/RCS/.*$ - ^(.*/)?\..*$ - ^(.*/)?.*\.bak$ 
          Untuk melewati direktori lengkap, tambahkan nama direktori ke
          daftar. Misalnya, untuk melewati direktori dengan nama skip_files: - logs/  | 
    
version | 
      
         
          Pendekatan yang direkomendasikan adalah menghapus elemen  
 Untuk mengetahui informasi selengkapnya tentang penggunaan perintah ini, lihat Men-deploy Aplikasi Anda. ID untuk versi kode aplikasi yang Anda deploy ke App Engine. 
          ID versi dapat berisi huruf kecil, angka, dan tanda hubung. ID versi ini
          tidak boleh diawali dengan awalan  
          Catatan: Nama versi harus dimulai dengan huruf untuk membedakannya
          dari instance numerik yang selalu ditentukan dengan angka. Hal ini
          menghindari ambiguitas dengan URL seperti
           
          Setiap versi aplikasi menyimpan salinan
            | 
    
Elemen pengendali
Elemen handlers adalah elemen yang diperlukan dalam
file konfigurasi app.yaml. Elemen ini menyediakan daftar pola URL dan deskripsi cara penanganannya. App Engine dapat
menangani URL dengan mengeksekusi kode aplikasi, menyajikan file statis yang diupload
dengan kode, seperti image, CSS, atau JavaScript.
Pola dievaluasi sesuai urutan kemunculannya dalam file app.yaml, dari
atas ke bawah. Pemetaan pertama yang polanya cocok dengan URL adalah pemetaan yang digunakan
untuk menangani permintaan.
Tabel berikut mencantumkan subelemen dari elemen handlers yang mengontrol
perilaku untuk skrip, file statis,
direktori statis, dan setelan lainnya.
| Elemen | Deskripsi | 
|---|---|
application_readable | 
      
        Opsional. Boolean. Secara default, file yang disebutkan dalam pengendali file statis
        diupload sebagai data statis dan hanya ditayangkan kepada pengguna akhir. File
        tersebut tidak dapat dibaca oleh aplikasi. Jika kolom ini diatur ke true, file
        juga akan diupload sebagai data kode sehingga aplikasi Anda dapat membacanya.
        Kedua upload dikenai biaya berdasarkan kode dan kuota resource penyimpanan data statis.
        
         Kolom ini tidak digunakan lagi pada runtime App Engine yang baru.  | 
    
        
        expiration
       | 
      
        Opsional.
        Durasi file statis yang ditayangkan oleh pengendali ini harus
        disimpan dalam cache oleh proxy web dan browser. Nilainya adalah string
        angka dan satuan, yang dipisahkan dengan spasi, dengan satuan dapat berupa
        d untuk hari, h untuk jam, m untuk
        menit, dan s untuk detik. Misalnya,
        "4d 5h" menetapkan masa berlaku cache menjadi 4 hari dan 5 jam setelah
        file pertama kali diminta. Jika dihilangkan, default_expiration aplikasi akan digunakan. Lihat Masa berlaku
        cache untuk detail selengkapnya.
       | 
    
http_headers | 
      
         
          Opsional. Anda dapat menetapkan header
        HTTP untuk respons file statis atau pengendali
        direktori. Jika perlu menetapkan header HTTP
          dalam pengendali  handlers: - url: /images static_dir: static/images http_headers: X-Foo-Header: foo X-Bar-Header: bar value vary: Accept-Encoding # ... Dukungan CORSSalah satu penggunaan penting fitur ini adalah untuk mendukung Cross-Origin Resource Sharing (CORS), seperti mengakses file yang dihosting oleh aplikasi App Engine lain. 
          Misalnya, Anda dapat memiliki aplikasi game  Berikut adalah cara membuat pengendali file statis menampilkan nilai header respons yang diperlukan: handlers: - url: /images static_dir: static/images http_headers: Access-Control-Allow-Origin: https://mygame.uc.r.appspot.com # ... 
          Catatan: jika ingin mengizinkan semua orang mengakses aset, Anda dapat
          menggunakan karakter pengganti   | 
    
mime_type | 
      
         Opsional. Jika ditentukan, semua file yang dilayani oleh pengendali ini akan dilayani menggunakan jenis MIME yang ditetapkan. Jika tidak ditentukan, jenis MIME untuk file akan diambil dari ekstensi nama file. Jika file yang sama diupload dengan beberapa ekstensi, ekstensi yang dihasilkan dapat bergantung pada urutan upload. Untuk informasi selengkapnya tentang kemungkinan jenis media MIME, lihat situs Jenis Media MIME IANA  | 
    
redirect_http_response_code | 
      
         
          Opsional.  
 handlers: - url: /youraccount/.* script: accounts.php secure: always redirect_http_response_code: 301 
          Saat permintaan pengguna dialihkan, kode status HTTP akan ditetapkan
          ke nilai parameter   | 
    
script | 
      
         Opsional. Menentukan jalur skrip dari direktori utama aplikasi: ... handlers: - url: /profile/(.*)/(.*) script: /employee/\2/\1.php # specify a script Dalam runtime App Engine yang baru, perilaku kolom ini telah diubah.  | 
    
secure | 
      
        Opsional. Semua pengendali URL dapat menggunakan setelan secure,
        termasuk pengendali skrip dan
        pengendali file statis. Elemen secure memiliki kemungkinan
        nilai berikut:
        
 handlers: - url: /youraccount/.* script: accounts.php secure: always 
          Server web pengembangan tidak mendukung koneksi HTTPS. Metode ini
          mengabaikan parameter  
          Untuk 
          menargetkan versi tertentu dari aplikasi Anda menggunakan
domain  Untuk menggunakan domain kustom dengan HTTPS, Anda harus terlebih dahulu mengaktifkan dan mengonfigurasi sertifikat SSL untuk domain tersebut. Login dan logout Akun Google selalu dilakukan menggunakan koneksi yang aman, yang tidak terkait dengan cara URL aplikasi dikonfigurasi.  | 
    
        
        static_dir
       | 
      
         
          Opsional. Jalur ke direktori yang berisi file statis, dari
          direktori utama aplikasi. Semua elemen setelah akhir pola  
          Setiap file dalam direktori statis disajikan menggunakan jenis MIME yang
          sesuai dengan ekstensi nama filenya kecuali jika diganti oleh
          setelan  
          Semua file dalam direktori ini diupload dengan aplikasi Anda sebagai file
          statis. App Engine menyimpan dan menayangkan file statis secara terpisah
          dari file aplikasi Anda. File statis tidak tersedia di sistem file
          aplikasi secara default. Ini dapat diubah dengan menetapkan opsi 
           handlers: # All URLs beginning with /stylesheets are treated as paths to # static files in the stylesheets/ directory. - url: /stylesheets static_dir: stylesheets # ...  | 
    
        static_files
       | 
      
         
          Opsional. Pengendali pola file statis mengaitkan pola URL dengan
          jalur ke file statis yang diupload dengan aplikasi. Ekspresi reguler
          pola URL dapat menentukan pengelompokan ekspresi reguler yang akan digunakan
          dalam konstruksi jalur file. Anda dapat menggunakan ini sebagai pengganti
           handlers: # All URLs ending in .gif .png or .jpg are treated as paths to # static files in the static/ directory. The URL pattern is a # regular expression, with a grouping that is inserted into the # path to the file. - url: /(.*\.(gif|png|jpg))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg)$ # ... 
          App Engine menyimpan dan menayangkan file statis secara terpisah
          dari file aplikasi. File statis tidak tersedia di
          sistem file aplikasi secara default. Ini dapat diubah dengan menetapkan opsi
          
           File statis tidak boleh sama dengan file kode aplikasi. Jika jalur file statis cocok dengan jalur ke skrip yang digunakan dalam pengendali dinamis, skrip tidak akan tersedia untuk pengendali dinamis.  | 
    
upload | 
      
         
          Opsional. Ekspresi reguler yang cocok dengan jalur file untuk semua
          file yang akan direferensikan oleh pengendali ini. Hal ini diperlukan karena pengendali tidak dapat menentukan file mana yang ada dalam direktori aplikasi Anda yang sesuai dengan pola   | 
    
url | 
      
         
          Elemen yang wajib di bawah  Pola URL memiliki beberapa perbedaan perilaku saat digunakan dengan elemen-elemen berikut: 
  | 
    
Menskalakan elemen
Elemen-elemen dalam tabel berikut mengonfigurasi cara penskalaan aplikasi. Untuk mempelajari lebih lanjut cara aplikasi App Engine melakukan penskalaan, lihat Jenis penskalaan.
| Elemen | Deskripsi | 
|---|---|
automatic_scaling | 
      
         Opsional. Hanya berlaku untuk aplikasi yang menggunakan class instance F1 atau yang lebih tinggi. Tentukan elemen ini untuk mengubah setelan default penskalaan otomatis, seperti menetapkan tingkat minimum dan maksimum untuk jumlah instance, latensi, dan koneksi serentak untuk suatu layanan. Elemen ini dapat berisi elemen-elemen berikut: 
 automatic_scaling: target_cpu_utilization: 0.65 min_instances: 5 max_instances: 100 min_pending_latency: 30ms max_pending_latency: automatic max_concurrent_requests: 50  | 
    
basic_scaling | 
      
         
          Aplikasi yang menggunakan
          class
            instance B1 atau yang lebih tinggi harus menentukan elemen ini atau dengan
           Elemen ini memungkinkan penskalaan dasar class instance B1 dan yang lebih tinggi, yang dapat berisi elemen-elemen berikut: 
 basic_scaling: max_instances: 11 idle_timeout: 10m  | 
    
manual_scaling | 
      
         
           Aplikasi yang menggunakan
          class
            instance B1 atau yang lebih tinggi harus menentukan elemen ini atau
           Elemen ini memungkinkan penskalaan manual class instance B1 dan yang lebih tinggi, serta dapat berisi elemen berikut: 
 manual_scaling: instances: 5  |