독립형 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>