이 페이지는 작업 API를 사용하여 Cloud Spanner 장기 실행 작업의 수명 주기를 관리하는 방법을 설명합니다.
장기 실행 작업은 완료하는 데 상당한 시간이 걸릴 수 있는 메서드 호출입니다. Spanner는 여러 인스턴스, 데이터베이스, 백업 작업에 대해 장기 실행 작업을 생성합니다. 데이터베이스를 복원하는 메서드 projects.instances.databases.restore
가 한 가지 예시입니다.
데이터베이스를 복원할 때 Spanner 서비스는 장기 실행 작업을 생성하여 복원 진행 상황을 추적합니다.
Spanner는 장기 실행 작업 상태를 확인할 수 있는 작업 API를 제공합니다. 또한 사용자는 장기 실행 작업을 나열 및 취소하고 장기 실행 인스턴스 작업을 삭제할 수 있습니다.
이 페이지에서는 REST API를 사용하여 장기 실행 작업을 관리하는 방법을 설명합니다. 하지만 다음을 사용하여 장기 실행 작업을 관리할 수도 있습니다.
- Spanner 클라이언트 라이브러리
gcloud
명령줄 도구- Google Cloud Console의 Spanner 페이지
Spanner 장기 실행 작업은 다음 방법으로 관리할 수 있습니다.
작업 | 장기 실행 데이터베이스 작업 | 장기 실행 백업 작업 | 장기 실행 인스턴스 작업 |
---|---|---|---|
장기 실행 작업 취소 | cancel |
cancel |
cancel |
장기 실행 작업 삭제 | 지원되지 않음 | 지원되지 않음 | delete |
장기 실행 작업 상태 가져오기 | get |
get |
get |
장기 실행 작업 나열 | list |
list |
list |
데이터베이스 작업
다음은 장기 실행 데이터베이스 작업입니다.
projects.instances.databases.create
projects.instances.databases.restore
projects.instances.databases.updateDdl
projects.instances.databaseOperations.list
장기 실행 데이터베이스 작업 상태 가져오기
projects.instances.databases.operations.get
을 사용하여 장기 실행 데이터베이스 작업 상태를 가져옵니다.
예를 들어 다음은 projects.instances.databases.create
의 응답입니다.
{
"name": "projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206",
"metadata": {
"@type": "type.googleapis.com/google.spanner.admin.database.v1.CreateDatabaseMetadata",
"database": "projects/[PROJECT_ID]/instances/test-instance/databases/example-db"
}
}
응답 맨 위의 name
값은 Spanner 서비스가 projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206
이라는 장기 실행 인스턴스 작업을 생성했음을 보여줍니다.
장기 실행 데이터베이스 작업 상태를 가져오려면 다음 단계를 따르세요.
projects.instances.databases.operations.get
을 클릭합니다.이름에
projects.instances.databases.create
또는projects.instances.databases.updateDdl
에 대한 응답에 표시된 장기 실행 데이터베이스 작업 이름을 입력합니다. 예를 들면 다음과 같습니다.projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206
(이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 데이터베이스 작업을 나열하여 데이터베이스 작업 이름을 검색할 수 있습니다.
실행을 클릭하고 응답을 확인합니다. 작업이 완료되면
done
필드가true
로 설정됩니다.
장기 실행 데이터베이스 작업을 폴링하려면 작업이 완료될 때까지 projects.instances.databases.operations.get
메서드를 반복해서 호출합니다. 각 폴링 요청 사이에 백오프를 사용합니다. 예를 들어 10초마다 폴링합니다.
장기 실행 데이터베이스 작업 나열
projects.instances.databases.operations.list
를 사용하여 장기 실행 데이터베이스 작업을 나열할 수 있습니다.
projects.instances.databases.operations.list
을 클릭합니다.이름에 다음을 입력합니다.
projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations
실행을 클릭합니다. 응답에 장기 실행 데이터베이스 작업이 포함됩니다.
장기 실행 데이터베이스 작업 취소
projects.instances.databases.operations.cancel
을 사용하여 장기 실행 데이터베이스 작업을 취소합니다.
projects.instances.databases.operations.cancel
을 클릭합니다.이름에 장기 실행 데이터베이스 작업 응답에 표시된 장기 실행 데이터베이스 작업 이름을 입력합니다. 예:
projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206
(이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 데이터베이스 작업을 나열하여 데이터베이스 작업 이름을 검색할 수 있습니다.
실행을 클릭합니다.
백업 작업
다음은 장기 실행 백업 작업입니다.
장기 실행 백업 작업 상태 가져오기
projects.instances.backups.operations.get
을 사용하여 장기 실행 백업 작업의 상태를 가져옵니다.
예를 들어 다음은 projects.instances.backups.create
의 응답입니다.
{
"name": "projects/[PROJECT_ID]/instances/test-instance/backups/example-db-backup-5/operations/_auto_1492721321097206",
"metadata": {
"@type": "type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata",
"name": "projects/[PROJECT_ID]/instances/test-instance/backup/example-db-backup-5"
}
}
응답 상단의 name
값은 Spanner 서비스가 projects/[PROJECT_ID]/instances/test-instance/backups/example-db/operations/_auto_op_0cf69250b487c2f7
이라는 장기 실행 백업 작업을 생성했음을 보여줍니다.
장기 실행 백업 작업의 상태를 가져오려면 다음 안내를 따르세요.
projects.instances.backups.operations.get
을 클릭합니다.이름에
projects.instances.backups.create
에 대한 응답에 표시된 장기 실행 백업 작업 이름을 입력합니다. 예를 들면 다음과 같습니다.projects/[PROJECT_ID]/instances/test-instance/backups/example-db/operations/_auto_1492721321097206
(이 값 대신 받은 작업 이름을 사용합니다.) 장기 실행 백업 작업 나열을 통해 백업 작업 이름을 검색할 수도 있습니다.
실행을 클릭하고 응답을 확인합니다. 작업이 완료되면
done
필드가true
로 설정됩니다.
장기 실행 백업 작업을 폴링하려면 작업이 완료될 때까지 projects.instances.backups.operations.get
메서드를 반복해서 호출합니다. 각 폴링 요청 사이에 백오프를 사용합니다. 예를 들어 10초마다 폴링합니다.
장기 실행 백업 작업 나열
projects.instances.backups.operations.list
를 사용하여 단일 백업의 작업을 나열하거나 projects.instances.backupOperations.list
를 사용하여 인스턴스의 모든 백업 작업을 나열합니다.
projects.instances.backups.operations.list
을 클릭합니다.이름에 다음을 입력합니다.
projects/[PROJECT_ID]/instances/test-instance/backups/example-db-backup-4/operations
실행을 클릭합니다. 응답에 장기 실행 작업이 포함됩니다.
장기 실행 백업 작업 취소
projects.instances.backups.operations.cancel
을 사용하여 장기 실행 백업 작업을 취소합니다.
projects.instances.backups.operations.cancel
을 클릭합니다.이름에 장기 실행 백업 작업 응답에 표시된 장기 실행 백업 작업 이름을 입력합니다. 예를 들면 다음과 같습니다.
projects/[PROJECT_ID]/instances/test-instance/backups/example-db-backup-4/operations/_auto_1492721321097206
(이 값 대신 받은 작업 이름을 사용합니다.) 장기 실행 백업 작업 나열을 통해 백업 작업 이름을 검색할 수도 있습니다.
실행을 클릭합니다.
인스턴스 작업
다음은 장기 실행 인스턴스 작업입니다.
장기 실행 인스턴스 작업 상태 가져오기
projects.instances.operations.get
을 사용하여 장기 실행 인스턴스 작업 상태를 가져올 수 있습니다.
예를 들어 다음은 projects.instances.create
의 응답입니다.
{
"name": "projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e",
"metadata": {
"@type": "type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceMetadata",
"instance": {
"name": "projects/[PROJECT_ID]/instances/test-instance",
"config": "projects/[PROJECT_ID]/instanceConfigs/regional-us-central1",
"displayName": "Test Instance",
"nodeCount": 1,
"state": "READY"
},
"startTime": "2017-04-24T22:45:41.130854Z"
}
}
응답 맨 위의 name
값은 Spanner 서비스가 projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
라는 장기 실행 인스턴스 작업을 생성했음을 보여줍니다.
장기 실행 인스턴스 작업 상태를 가져오려면 다음 단계를 따르세요.
projects.instances.operations.get
을 클릭합니다.이름에
projects.instances.create
또는projects.instances.patch
에 대한 응답에 표시된 장기 실행 인스턴스 작업 이름을 입력합니다. 예를 들면 다음과 같습니다.projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
(이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 인스턴스 작업을 나열하여 인스턴스 작업 이름을 검색할 수 있습니다.
실행을 클릭하고 응답을 확인합니다. 작업이 완료되면
done
필드가true
로 설정됩니다.
장기 실행 인스턴스 작업을 폴링하려면 작업이 완료될 때까지 projects.instances.operations.get
메서드를 반복해서 호출합니다. 각 폴링 요청 사이에 백오프를 사용합니다. 예를 들어 10초마다 폴링합니다.
장기 실행 인스턴스 작업 나열
projects.instances.operations.list
를 사용하여 장기 실행 인스턴스 작업을 나열할 수 있습니다.
projects.instances.operations.list
을 클릭합니다.이름에 다음을 입력합니다.
projects/[PROJECT_ID]/instances/test-instance/operations
실행을 클릭합니다. 응답에 장기 실행 인스턴스 작업이 포함됩니다.
장기 실행 인스턴스 작업 취소
projects.instances.operations.cancel
을 사용하여 장기 실행 인스턴스 작업을 취소할 수 있습니다.
projects.instances.operations.cancel
을 클릭합니다.이름에 장기 실행 인스턴스 작업 응답에 표시된 장기 실행 인스턴스 작업 이름을 입력합니다. 예:
projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
(이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 인스턴스 작업을 나열하여 인스턴스 작업 이름을 검색할 수 있습니다.
실행을 클릭합니다.
장기 실행 인스턴스 작업 삭제
projects.instances.operations.delete
를 사용하여 장기 실행 인스턴스 작업을 삭제할 수 있습니다.
projects.instances.operations.delete
을 클릭합니다.이름에 장기 실행 인스턴스 작업 응답에 표시된 장기 실행 인스턴스 작업 이름을 입력합니다. 예:
projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
(이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 인스턴스 작업을 나열하여 인스턴스 작업 이름을 검색할 수 있습니다.
실행을 클릭합니다.