Lingkungan Runtime Go 1.11

Runtime Go 1.11 adalah stack software yang bertanggung jawab untuk menginstal kode layanan web Anda dan dependensinya serta menjalankan layanan Anda.

Runtime Go 1.11 untuk App Engine di lingkungan standar dideklarasikan dalam file app.yaml:

runtime: go111

Versi Go

Lingkungan runtime Go 1.11 menggunakan rilis stabil terbaru Go 1.11. App Engine otomatis diupdate ke revisi minor baru, tetapi tidak akan otomatis mengupdate versi utama.

Misalnya, aplikasi Anda mungkin di-deploy di Go 1.11.1 dan otomatis diupdate ke versi 1.11.2 pada deployment berikutnya, tetapi tidak akan diupdate secara otomatis ke Go 1.12.

Dependensi

Untuk mengetahui informasi selengkapnya tentang mendeklarasikan dan mengelola dependensi, lihat Menentukan dependensi.

Variabel lingkungan

Variabel lingkungan berikut ditetapkan oleh runtime:

Variabel lingkungan Deskripsi
GAE_APPLICATION ID aplikasi App Engine Anda. ID ini diawali dengan 'region code~' seperti 'e~' untuk aplikasi yang di-deploy di Eropa.
GAE_DEPLOYMENT_ID ID deployment saat ini.
GAE_ENV Lingkungan App Engine. Tetapkan ke standard.
GAE_INSTANCE ID instance di mana layanan Anda saat ini berjalan.
GAE_MEMORY_MB Jumlah memori yang tersedia untuk proses aplikasi, dalam MB.
GAE_RUNTIME Runtime yang ditentukan dalam file app.yaml Anda.
GAE_SERVICE Nama layanan yang ditentukan dalam file app.yaml Anda. Jika tidak ada nama layanan yang ditentukan, nama akan ditetapkan ke default.
GAE_VERSION Label versi layanan Anda saat ini.
GOOGLE_CLOUD_PROJECT ID project Google Cloud yang terkait dengan aplikasi Anda.
PORT Port yang menerima permintaan HTTP.

Anda dapat menentukan variabel lingkungan tambahan dalam file app.yaml, tetapi nilai di atas tidak dapat diganti.

HTTPS dan proxy penerusan

App Engine menghentikan koneksi HTTPS di load balancer dan meneruskan permintaan ke aplikasi Anda. Beberapa aplikasi perlu menentukan IP dan protokol permintaan asli. Alamat IP pengguna tersedia di header X-Forwarded-For standar. Aplikasi yang memerlukan informasi ini harus mengonfigurasi framework webnya untuk memercayai proxy.

Filesystem

Runtime ini menyertakan direktori /tmp yang dapat ditulis, beserta dengan semua direktori lain yang memiliki akses hanya baca. Menulis ke /tmp akan menggunakan memori sistem. Untuk mengetahui informasi selengkapnya, lihat dokumentasi TempDir dan TempFile.

Server metadata

Setiap instance aplikasi Anda dapat menggunakan server metadata App Engine untuk mengkueri informasi tentang instance dan project Anda.

Anda dapat mengakses server metadata melalui endpoint berikut:

  • http://metadata
  • http://metadata.google.internal

Permintaan yang dikirim ke server metadata harus menyertakan header permintaan Metadata-Flavor: Google. Header ini menunjukkan bahwa permintaan dikirim dengan tujuan mengambil nilai metadata.

Tabel berikut mencantumkan daftar endpoint tempat Anda dapat membuat permintaan HTTP untuk metadata tertentu:

Endpoint metadata Deskripsi
/computeMetadata/v1/project/numeric-project-id Nomor project yang ditetapkan ke project Anda.
/computeMetadata/v1/project/project-id ID project yang ditetapkan ke project Anda.
/computeMetadata/v1/instance/zone Zona tempat instance berjalan.
/computeMetadata/v1/instance/service-accounts/default/aliases
/computeMetadata/v1/instance/service-accounts/default/email Email akun layanan default yang ditetapkan ke project Anda.
/computeMetadata/v1/instance/service-accounts/default/ Mencantumkan semua akun layanan default untuk project Anda.
/computeMetadata/v1/instance/service-accounts/default/scopes Mencantumkan semua cakupan yang didukung untuk akun layanan default.
/computeMetadata/v1/instance/service-accounts/default/token Menampilkan token autentikasi yang dapat digunakan untuk mengautentikasi aplikasi Anda ke Google Cloud API lain.

Misalnya, untuk mengambil project ID Anda, kirimkan permintaan ke http://metadata.google.internal/computeMetadata/v1/project/project-id.

Variabel lingkungan

Variabel lingkungan berikut ditetapkan oleh runtime:

Variabel lingkungan Deskripsi
GAE_APPLICATION ID aplikasi App Engine Anda. ID ini diawali dengan 'region code~' seperti 'e~' untuk aplikasi yang di-deploy di Eropa.
GAE_DEPLOYMENT_ID ID deployment saat ini.
GAE_ENV Lingkungan App Engine. Tetapkan ke standard.
GAE_INSTANCE ID instance di mana layanan Anda saat ini berjalan.
GAE_MEMORY_MB Jumlah memori yang tersedia untuk proses aplikasi, dalam MB.
GAE_RUNTIME Runtime yang ditentukan dalam file app.yaml Anda.
GAE_SERVICE Nama layanan yang ditentukan dalam file app.yaml Anda. Jika tidak ada nama layanan yang ditentukan, nama akan ditetapkan ke default.
GAE_VERSION Label versi layanan Anda saat ini.
GOOGLE_CLOUD_PROJECT ID project Google Cloud yang terkait dengan aplikasi Anda.
PORT Port yang menerima permintaan HTTP.

Anda dapat menentukan variabel lingkungan tambahan dalam file app.yaml, tetapi nilai di atas tidak dapat diganti.