Sebagian besar fungsi yang disediakan oleh paket layanan lama kini disediakan oleh Library Klien Cloud. Untuk informasi selengkapnya, lihat alternatif yang direkomendasikan yang tercantum di bawah ini.
Jika bermigrasi ke solusi yang tidak dipaketkan bukan merupakan opsi untuk project, maka Anda mungkin dapat terus menggunakan paket layanan lama di aplikasi Python 3 sebagai gantinya. Pendekatan ini memberi Anda fleksibilitas untuk beralih ke layanan yang tidak dipaketkan nanti dalam siklus migrasi.
Google CloudSetelah bermigrasi dari paket layanan lama, Anda dapat terus menggunakan App Engine atau bermigrasi ke Cloud Run. Cloud Run dirancang untuk meningkatkan pengalaman App Engine, dan menggabungkan banyak fitur terbaik dari lingkungan standar dan lingkungan fleksibel. Untuk membandingkan fitur dan memahami cara bermigrasi, lihat panduan perbandingan App Engine dan Cloud Run.
Google Cloud Google Cloud menyediakan produk mandiri yang menawarkan fungsi serupa dengan beberapa paket layanan lama di runtime Python. Untuk paket layanan lama yang tidak tersedia sebagai produk terpisah di Google Cloud, seperti email, dan pesan, panduan ini merekomendasikan penyedia pihak ketiga atau solusi lainnya.
Halaman ini memperkenalkan jalur migrasi untuk paket layanan lama.
Memahami Google Cloud izin
Aplikasi yang dimigrasikan dan layanan Google Cloud yang digunakannya tidak berjalan di lingkungan sandbox yang sama, dan aplikasi Anda memerlukan otorisasi untuk mengakses setiap layanan. Misalnya, untuk berinteraksi dengan Firestore dalam mode Datastore (Datastore) atau Cloud Tasks, aplikasi Anda harus menyediakan kredensial untuk akun yang diotorisasi untuk mengakses layanan tersebut.
Secara default, aplikasi yang berjalan di lingkungan standar App Engine menyediakan kredensial untuk akun layanan App Engine default, yang diotorisasi untuk mengakses database dalam project yang sama dengan aplikasi Anda.
Jika salah satu kondisi berikut terpenuhi, gunakan metode autentikasi alternatif yang secara eksplisit memberikan kredensial:
Aplikasi Anda dan database Memorystore berada di project yang berbeda Google Cloud .
Anda telah mengubah peran yang ditetapkan ke akun layanan App Engine default.
Untuk mengetahui informasi tentang metode autentikasi alternatif, lihat Menyiapkan autentikasi untuk aplikasi produksi server ke server.
Autentikasi untuk pengembangan lokal
Untuk mengembangkan atau menguji aplikasi secara lokal, buat dan gunakan akun layanan. Jangan gunakan akun layanan App Engine default karena akun tersebut memiliki izin luas untuk project Anda. Sebagai gantinya, buat dan gunakan akun layanan dengan izin minimum yang Anda perlukan untuk tugas pengembangan dan pengujian khusus.
Untuk menyiapkan akun layanan dan menghubungkannya ke aplikasi Anda, lihat Mendapatkan dan memberikan kredensial akun layanan secara manual.
Menginstal library klien
Untuk menggunakan Google Cloud layanan dari aplikasi Python, instal library klien Python untuk layanan tersebut. Google Cloud Layanan juga menyediakan REST API dan antarmuka lainnya.
Untuk menginstal library klien untuk runtime Python 3:
Tambahkan nama library ke file
requirements.txtaplikasi Anda. Contoh:google-cloud-ndb
App Engine secara otomatis mengupload semua library yang tercantum dalam file requirements.txt ke runtime Python 3.
Jalur migrasi untuk paket layanan App Engine
Blobstore
Untuk menyimpan dan mengambil data, gunakan Cloud Storage melalui Library Klien Cloud. Untuk memulai, baca panduan Menggunakan Cloud Storage serta Bermigrasi dari Blobstore ke Cloud Storage. Untuk menyimulasikan migrasi ini, tambahkan penggunaan Blobstore ke aplikasi contoh dan migrasikan ke Cloud Storage.
Datastore
Jika aplikasi Python 2 Anda menggunakan NDB untuk berinteraksi dengan Datastore, migrasikan ke library Cloud NDB. Fungsi utama Cloud NDB adalah sebagai alat transisi untuk memigrasikan aplikasi Python 2. Aplikasi Python 3 sebaiknya menggunakan library klien mode Datastore.
Untuk mengetahui detailnya, baca Bermigrasi ke Cloud NDB. Untuk menyimulasikan migrasi ini dengan aplikasi contoh, lihat Bermigrasi dari App Engine ndb ke Cloud NDB.
Gambar
Untuk memigrasikan layanan App Engine Images, deploy layanan transformasi gambar dalam container ke Cloud Run dan arahkan panggilan layanan App Engine Images ke layanan tersebut. Untuk menghosting dan menayangkan gambar, simpan gambar di bucket Cloud Storage atau distribusikan menggunakan Cloud CDN. Untuk mengetahui informasi selengkapnya, lihat Memigrasikan layanan Images.Logging
Sebaiknya update aplikasi Anda untuk menggunakan Cloud Logging, yang mendukung
fitur seperti melihat log di Logs Explorer, mendownload log,
memfilter pesan menurut tingkat keparahan, dan menghubungkan pesan aplikasi dengan permintaan
tertentu. Namun, jika lebih menyukai kemudahan daripada akurasi data, Anda dapat menulis log terstruktur ke stdout atau stderr.
Untuk informasi selengkapnya, baca
Menulis dan melihat log dan Bermigrasi ke Cloud Logging.
Memcache
Untuk meng-cache data aplikasi, gunakan Memorystore for Redis.
Untuk mengetahui detailnya, baca Memigrasikan Memcache ke Memorystore. Untuk menyimulasikan migrasi ini, tambahkan penggunaan Memcache ke aplikasi contoh dan migrasikan ke Memorystore for Redis.
Untuk aplikasi yang menggunakan Memcache hanya untuk mengurangi latensi permintaan NDB (atau Cloud NDB), gunakan dukungan bawaan Cloud NDB untuk Redis, bukan Memcache atau Memorystore for Redis.
Modul
Untuk memperoleh informasi dan mengubah layanan aplikasi yang sedang berjalan, gunakan kombinasi variabel lingkungan dan App Engine Admin API:
| Informasi layanan | Cara mengakses |
|---|---|
| ID aplikasi saat ini | Variabel lingkungan GAE_APPLICATION |
| ID project saat ini | Variabel lingkungan GOOGLE_CLOUD_PROJECT |
| Nama layanan saat ini | Variabel lingkungan GAE_SERVICE |
| Versi layanan saat ini | Variabel lingkungan GAE_VERSION |
| ID instance saat ini | Variabel lingkungan GAE_INSTANCE |
| Nama host default | Metode apps.get Admin API |
| Daftar layanan | Metode apps.services.list Admin API |
| Daftar versi layanan | Metode apps.services.versions.list Admin API |
| Versi default untuk layanan, termasuk pemisahan traffic | Metode apps.services.get Admin API |
| Daftar instance yang berjalan untuk versi | Metode apps.services.versions.instances.list Admin API |
Namespace
API Namespace memungkinkan aplikasi multitenant untuk mempartisi data di seluruh tenant hanya dengan menentukan string namespace unik untuk setiap tenant.
Datastore mendukung multitenancy secara langsung, sedangkan layanan Google Cloud lainnya tidak. Jika aplikasi multitenant menggunakan layanan lain Google Cloud, Anda harus menangani multitenancy secara manual. Untuk memiliki instance layanan yang sepenuhnya terisolasi, Anda dapat membuat project baru secara terprogram menggunakan Cloud Resource Manager API dan mengakses resource di seluruh project.
OAuth
Daripada menggunakan layanan OAuth App Engine untuk memverifikasi token OAuth 2.0,
gunakan
oauth2.tokeninfo
metode dari
OAuth 2.0 API.
Telusuri
Hosting database penelusuran teks lengkap seperti Elasticsearch di Compute Engine, lalu akses dari layanan Anda.
Antrean tugas
Layanan Task Queue App Engine tersedia dalam dua mode berbeda. Bermigrasi dari salah satu titik ke dua produk Cloud mandiri yang berbeda.
Tugas push
Daripada menggunakan layanan tugas push Task Queue App Engine untuk eksekusi kode asinkron, gunakan library klien Cloud Tasks dengan endpoint lingkungan standar Python 3 sebagai target. Untuk informasi selengkapnya, baca Memigrasikan push queue ke Cloud Tasks.
Untuk menyimulasikan migrasi ini dengan aplikasi contoh, baca Cara menggunakan push queue App Engine di aplikasi Flask dan bermigrasi ke Cloud Tasks.
Tugas pull
Jika Anda menggunakan layanan tugas pull Task Queue, misalnya, mengantrekan tugas atau pesan untuk diproses oleh worker terpisah, Cloud Pub/Sub dapat menjadi alternatif yang baik. Layanan ini menawarkan fungsi dan jaminan pengiriman yang serupa. Seperti layanan Cloud lainnya, Pub/Sub menyediakan library klien yang praktis untuk mengakses layanan. Untuk informasi selengkapnya, baca Menulis dan merespons pesan Pub/Sub dan panduan migrasi Tugas pull Task Queue ke Pub/Sub.
Untuk menyimulasikan migrasi ini dengan aplikasi contoh, baca penggunaan Cara menggunakan tugas pull App Engine ke aplikasi contoh dan bermigrasi ke Pub/Sub.
URL Fetch
Secara default, runtime Python 2.7 menggunakan layanan URL-fetch untuk menangani permintaan HTTP(S) keluar, meskipun Anda menggunakan library Python standar untuk mengeluarkan permintaan tersebut.
Jika aplikasi Anda menggunakan API URL-fetch secara langsung, misalnya untuk membuat permintaan asinkron, sebaiknya lakukan migrasi ke library Python standar seperti Library permintaan.
Untuk informasi selengkapnya, baca Memigrasikan Permintaan Keluar.
Autentikasi pengguna
Sebagai alternatif untuk Users API, gunakan salah satu mekanisme autentikasi berbasis HTTP yang dijelaskan di halaman Autentikasi pengguna.