スタンドアロンの App Engine SDK は 2019 年 7 月 30 日に非推奨となっており、現在提供を終了しています。次の表に、非推奨の機能と推奨される代替手段を示します。
| 非推奨 | 推奨される対処方法 | 
|---|---|
| スタンドアロンの App Engine SDK | Google Cloud CLI をダウンロードします | 
| App Engine SDK を使用した App Engine のレガシー API へのアクセス | バンドルされていない Google Cloud またはサードパーティ サービスに移行するか、第 2 世代ランタイムを使用している場合は App Engine サービス SDK を使用してバンドル サービスにアクセスします | 
| appcfgコマンド | AppCfg から gcloud コマンドラインに移行する | 
| dev_appserver.shコマンド | ローカル開発の場合は、gcloud CLI の bin ディレクトリから java_dev_appserver.shコマンドを実行します。 | 
| Java App Engine SDK ベースの Maven 用プラグイン( com.google.appengine.appengine-maven) | gcloud CLI ベースの Maven プラグインへの移行 | 
| Java App Engine SDK ベースの Gradle 用プラグイン( com.google.appengine.appengine-gradle) | gcloud CLI ベースの Gradle プラグインへの移行 | 
| cron.xml、datastore-index.xml、dispatch.xml、queue.xmlファイル形式 | gcloud beta app migrate-configツールを使用して自動的に移行するか、xmlを手動でyamlファイルに移行します。 | 
移行スケジュール
2019 年 7 月 30 日: スタンドアロンの App Engine SDK をベースとしたツールが非推奨になりました。2020 年 8 月 30 日: スタンドアロンの App Engine SDK をダウンロードできなくなりました。スタンドアロンの App Engine SDK を使用している場合、動作しなくなる可能性があります。2020 年 8 月 30 日: Google は、スタンドアロンの App Engine SDK を停止し、サポートを終了しました。
下位互換性のない機能
appcfg ツールとスタンドアロンの App Engine SDK の提供が終了したため、現在、次の機能は gcloud CLI でサポートされていません。
- AppCfg を使用したアプリケーション ファイルのダウンロード。
XML から YAML へのファイル形式の移行
gcloud CLI は、次のファイル形式をサポートしていません。
- cron.xml
- datastore-index.xml
- dispatch.xml
- queue.xml
次の例は、xml ファイルを yaml ファイルに移行する方法を示しています。
自動的にファイルを移行する
xml ファイルを自動的に移行するには:
- gcloud CLI バージョン 226.0.0 以降が必要です。最新バージョンに更新するには: - gcloud components update
- 移行するファイルごとに、次のいずれかのサブコマンド( - cron-xml-to-yaml、- datastore-indexes-xml-to-yaml、- dispatch-xml-to-yaml、- queue-xml-to-yaml)とファイル名を指定します。- gcloud beta app migrate-config queue-xml-to-yaml MY-QUEUE-XML-FILE.xml
- 本番環境にデプロイする前に、変換後のファイルを手動でダブルチェックします。 - xmlファイルから- yamlファイルへの正常な変換例については、手動でファイルを移行するのタブをご覧ください。
手動でファイルを移行する
xml ファイルを yaml ファイルに手動で移行するには:
cron.yaml
cron オブジェクトを含む cron.yaml ファイルを作成します。このオブジェクトにはオブジェクトのリストが含まれます。以下に示すように、各オブジェクトには cron.xml ファイルの <cron> タグ属性に対応するフィールドがあります。
変換後の cron.yaml ファイル:
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'
元の cron.xml ファイル:
<?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>
詳細については、cron.yaml リファレンス ドキュメントをご覧ください。
dispatch.yaml
dispatch オブジェクトを含む dispatch.yaml ファイルを作成します。このオブジェクトにはオブジェクトのリストが含まれます。以下に示すように、各オブジェクトには dispatch.xml ファイルの <dispatch> タグ属性に対応するフィールドがあります。
変換後の dispatch.yaml ファイル:
dispatch:
- url: '*/favicon.ico'
  module: default
- url: 'simple-sample.uc.r.appspot.com/'
  module: default
- url: '*/mobile/*'
  module: mobile-frontend
元の dispatch.xml ファイル
<?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>
詳細については、dispatch.yaml リファレンス ドキュメントをご覧ください。
index.yaml
indexes オブジェクトを含む index.yaml ファイルを作成します。このオブジェクトにはオブジェクトのリストが含まれます。以下に示すように、各オブジェクトには datastore-indexes.xml ファイルの <datastore-index> タグ属性に対応するフィールドがあります。
変換後の index.yaml ファイル:
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
元の datastore-index.xml ファイル:
<?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>
詳細については、index.yaml リファレンス ドキュメントをご覧ください。
queue.yaml
queue オブジェクトを含む queue.yaml ファイルを作成します。このオブジェクトにはオブジェクトのリストが含まれます。以下に示すように、各オブジェクトには queue.xml ファイルの <queue> タグ属性に対応するフィールドがあります。
変換後の queue.yaml ファイル:
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
元の queue.xml ファイル:
<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>