SDK App Engine mandiri tidak digunakan lagi mulai 30 Juli 2019, dan sekarang dinonaktifkan. Tabel berikut mencantumkan fitur dan alternatif yang disarankan:
| Tidak digunakan lagi | Tindakan yang disarankan |
|---|---|
| SDK App Engine mandiri | Download Google Cloud CLI |
| Akses API lama App Engine menggunakan SDK App Engine | Migrasikan ke layanan pihak ketiga atau Google Cloud yang tidak dipaketkan, atau akses layanan paket menggunakan SDK layanan App Engine jika Anda menggunakan runtime generasi kedua |
Perintah appcfg |
Bermigrasi dari AppCfg ke command line gcloud |
Perintah dev_appserver.sh |
Untuk pengembangan lokal, jalankan perintah java_dev_appserver.sh dari direktori bin gcloud CLI |
Plugin berbasis Java App Engine SDK untuk Maven (com.google.appengine.appengine-maven) |
Bermigrasi ke plugin Maven berbasis gcloud CLI |
Plugin berbasis SDK App Engine Java untuk Gradle (com.google.appengine.appengine-gradle) |
Bermigrasi ke plugin Gradle berbasis gcloud CLI |
Format file cron.xml, datastore-index.xml, dispatch.xml, dan queue.xml |
Migrasikan secara otomatis menggunakan alat gcloud beta app migrate-config atau migrasikan file xml ke yaml secara manual. |
Jadwal migrasi
30 Juli 2019: Alat berbasis SDK App Engine mandiri tidak digunakan lagi. 30 Agustus 2020: SDK App Engine mandiri tidak tersedia untuk didownload dan mungkin tidak berfungsi, jika digunakan. 30 Agustus 2020: Google menonaktifkan dan menghapus dukungan untuk SDK App Engine mandiri.
Fitur yang tidak kompatibel dengan versi lama
Akibat penonaktifan alat appcfg dan App Engine SDK mandiri, fitur-fitur berikut saat ini tidak didukung di gcloud CLI:
- Download file aplikasi Anda dengan AppCfg.
Memigrasikan format file XML ke YAML
gcloud CLI tidak mendukung format file berikut:
cron.xmldatastore-index.xmldispatch.xmlqueue.xml
Contoh berikut menunjukkan cara memigrasikan file xml ke
file yaml.
Memigrasikan file secara otomatis
Untuk memigrasikan file xml secara otomatis:
Anda harus memiliki gcloud CLI versi 226.0.0 atau yang lebih baru. Untuk mengupdate ke versi terbaru:
gcloud components updateUntuk setiap file yang ingin dimigrasikan, tentukan salah satu subperintah berikut (
cron-xml-to-yaml,datastore-indexes-xml-to-yaml,dispatch-xml-to-yaml,queue-xml-to-yaml) dan nama file:gcloud beta app migrate-config queue-xml-to-yaml MY-QUEUE-XML-FILE.xmlPeriksa kembali file yang dikonversi secara manual sebelum men-deploy ke produksi.
Untuk mengetahui contoh konversi file
xmlkeyamlyang berhasil, lihat tab Memigrasikan file secara manual.
Memigrasikan file secara manual
Untuk memigrasikan file xml secara manual ke file yaml:
cron.yaml
Buat file cron.yaml dengan objek cron yang berisi daftar objek,
masing-masing dengan kolom yang sesuai dengan setiap atribut tag <cron> dalam
file cron.xml, sebagai yang ditunjukkan di bawah ini.
File cron.yaml yang dikonversi:
cron:
- url: '/recache'
schedule: 'every 2 minutes'
description: 'Repopulate the cache every 2 minutes'
- url: '/weeklyreport'
schedule: 'every monday 08:30'
target: 'version-2'
timezone: 'America/New_York'
description: 'Mail out a weekly report'
File cron.xml asli:
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
<cron>
<url>/recache</url>
<description>Repopulate the cache every 2 minutes</description>
<schedule>every 2 minutes</schedule>
</cron>
<cron>
<url>/weeklyreport</url>
<description>Mail out a weekly report</description>
<schedule>every monday 08:30</schedule>
<timezone>America/New_York</timezone>
<target>version-2</target>
</cron>
</cronentries>
Untuk informasi selengkapnya, lihat dokumentasi referensi cron.yaml.
dispatch.yaml
Buat file dispatch.yaml dengan objek dispatch yang berisi daftar
objek, masing-masing dengan kolom yang sesuai dengan setiap atribut tag <dispatch>
dalam file dispatch.xml, sebagai yang ditunjukkan di bawah ini.
File dispatch.yaml yang dikonversi:
dispatch:
- url: '*/favicon.ico'
module: default
- url: 'simple-sample.uc.r.appspot.com/'
module: default
- url: '*/mobile/*'
module: mobile-frontend
File dispatch.xml asli
<?xml version="1.0" encoding="UTF-8"?>
<dispatch-entries>
<dispatch>
<url>*/favicon.ico</url>
<module>default</module>
</dispatch>
<dispatch>
<url>simple-sample.uc.r.appspot.com/</url>
<module>default</module>
</dispatch>
<dispatch>
<url>*/mobile/*</url>
<module>mobile-frontend</module>
</dispatch>
</dispatch-entries>
Untuk informasi selengkapnya, lihat dokumentasi referensi dispatch.yaml
index.yaml
Buat file index.yaml dengan objek indexes yang berisi daftar
objek, masing-masing dengan kolom yang sesuai dengan setiap atribut tag <datastore-index>
dalam file datastore-indexes.xml, sebagai yang ditunjukkan di bawah ini.
File index.yaml yang dikonversi:
indexes:
- ancestor: false
kind: Employee
properties:
- direction: asc
name: lastName
- direction: desc
name: hireDate
- ancestor: false
kind: Project
properties:
- direction: asc
name: dueDate
- direction: desc
name: cost
File datastore-index.xml asli:
<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes
autoGenerate="true">
<datastore-index kind="Employee" ancestor="false">
<property name="lastName" direction="asc" />
<property name="hireDate" direction="desc" />
</datastore-index>
<datastore-index kind="Project" ancestor="false">
<property name="dueDate" direction="asc" />
<property name="cost" direction="desc" />
</datastore-index>
</datastore-indexes>
Untuk informasi selengkapnya, lihat dokumentasi referensi index.yaml.
queue.yaml
Buat file queue.yaml dengan objek queue yang berisi daftar
objek, masing-masing dengan kolom yang sesuai dengan setiap atribut tag <queue>
dalam file queue.xml, sebagai yang ditunjukkan di bawah ini.
File queue.yaml yang dikonversi:
queue:
- name: fooqueue
mode: push
rate: 1/s
retry_parameters:
task_retry_limit: 7
task_age_limit: 2d
- name: barqueue
mode: push
rate: 1/s
retry_parameters:
min_backoff_seconds: 10
max_backoff_seconds: 200
max_doublings: 0
File queue.xml asli:
<queue-entries>
<queue>
<name>fooqueue</name>
<rate>1/s</rate>
<retry-parameters>
<task-retry-limit>7</task-retry-limit>
<task-age-limit>2d</task-age-limit>
</retry-parameters>
</queue>
<queue>
<name>barqueue</name>
<rate>1/s</rate>
<retry-parameters>
<min-backoff-seconds>10</min-backoff-seconds>
<max-backoff-seconds>200</max-backoff-seconds>
<max-doublings>0</max-doublings>
</retry-parameters>
</queue>
<queue-entries>