독립형 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명령어를 실행합니다. | 
| Maven용 자바 App Engine SDK 기반 플러그인( com.google.appengine.appengine-maven) | gcloud CLI 기반 Maven 플러그인으로 마이그레이션 | 
| Gradle용 자바 App Engine SDK 기반 플러그인( 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를 다운로드할 수 없으며 사용 중인 경우에는 더 이상 작동하지 않을 수 있습니다. 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.yaml 파일의 각 <cron> 태그 속성에 해당하는 필드가 각각 있는 객체 목록이 포함된 cron 객체로 cron.xml 파일을 만듭니다.
전환된 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.yaml 파일의 각 <dispatch> 태그 속성에 해당하는 필드가 각각 있는 객체 목록이 포함된 dispatch 객체로 dispatch.xml 파일을 만듭니다.
전환된 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
아래 나온 것처럼 index.yaml 파일의 각 <datastore-index> 태그 속성에 해당하는 필드가 각각 있는 객체 목록이 포함된 indexes 객체로 datastore-indexes.xml 파일을 만듭니다.
전환된 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.yaml 파일의 각 <queue> 태그 속성에 해당하는 필드가 각각 있는 객체 목록이 포함된 queue 객체로 queue.xml 파일을 만듭니다.
전환된 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>