Cloud SDK への移行

2019 年 7 月 30 日以降、スタンドアロンの App Engine SDK は非推奨になりました。2020 年 7 月 30 日以降は、ダウンロードできなくなります。次の表は、非推奨になる機能と推奨される代替策の一覧です。

非推奨 推奨される対処方法
スタンドアロンの App Engine SDK Cloud SDK をダウンロードします。
appcfg コマンド AppCfg から gcloud コマンドラインに移行します。
dev_appserver.sh コマンド ローカル開発の場合は、Cloud SDK の bin ディレクトリから java_dev_appserver.sh コマンドを実行します。
Java App Engine SDK ベースの Maven 用プラグイン(com.google.appengine.appengine-maven Cloud SDK ベースの Maven プラグインに移行します。
Java App Engine SDK ベースの Gradle 用プラグイン(com.google.appengine.appengine-gradle Cloud SDK ベースの Gradle プラグインに移行します。
cron.xmldatastore-index.xmldispatch.xmlqueue.xml の各ファイル形式 gcloud beta app migrate-config ツールを使用して自動的にファイルを移行するか、手動で xml ファイルを yaml ファイルに移行します。

移行のスケジュール

2019 年 7 月 30 日: スタンドアロンの App Engine SDK をベースとしたツールが非推奨になりました。

2020 年 7 月 30 日: スタンドアロンの App Engine SDK をダウンロードできなくなります。スタンドアロンの App Engine SDK を使用している場合、動作しなくなる可能性があります。

2020 年 7 月 30 日: Google がスタンドアロンの App Engine SDK を停止し、サポートを終了します。

下位互換性のない機能

appcfg ツールとスタンドアロンの App Engine SDK が非推奨になることから、現在、次の機能は Cloud SDK でサポートされていません。

XML から YAML へのファイル形式の移行

Cloud SDK では、次のファイル形式はサポートされません。

  • cron.xml
  • datastore-index.xml
  • dispatch.xml
  • queue.xml

以下の例は、xml ファイルを yaml ファイルに移行する方法を説明するものです。

自動的にファイルを移行する

自動的に xml ファイルを移行するには:

  1. Cloud SDK バージョン 226.0.0 以降が必要です。最新バージョンに更新するには、次のコマンドを実行します。

    gcloud components update
    
  2. 次のように、移行するファイルごとに、cron-xml-to-yamldatastore-indexes-xml-to-yamldispatch-xml-to-yamlqueue-xml-to-yaml のいずれかのサブコマンドとファイル名を指定します。

    gcloud beta app migrate-config queue-xml-to-yaml MY-QUEUE-XML-FILE.xml
    
  3. 本番環境にデプロイする前に、変換後のファイルを手動でダブルチェックします。

    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.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.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>
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Java 8 の App Engine スタンダード環境