App Engine SDK 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 Google Cloud atau layanan pihak ketiga yang tidak dipaketkan, atau akses paket layanan 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.xml
datastore-index.xml
dispatch.xml
queue.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 update
Untuk 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.xml
Periksa kembali file yang dikonversi secara manual sebelum men-deploy ke produksi.
Untuk mengetahui contoh konversi file
xml
keyaml
yang 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>