Bermigrasi ke gcloud CLI

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:

  1. Anda harus memiliki gcloud CLI versi 226.0.0 atau yang lebih baru. Untuk mengupdate ke versi terbaru:

    gcloud components update
    
  2. 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
    
  3. Periksa kembali file yang dikonversi secara manual sebelum men-deploy ke produksi.

    Untuk mengetahui contoh konversi file xml ke yaml 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>