장기 실행 작업 관리

이 페이지는 작업 API를 사용하여 Cloud Spanner 장기 실행 작업의 수명 주기를 관리하는 방법을 설명합니다.

장기 실행 작업은 완료하는 데 상당한 시간이 걸릴 수 있는 메서드 호출입니다. Spanner는 여러 인스턴스, 데이터베이스, 백업 작업에 대해 장기 실행 작업을 생성합니다. 데이터베이스를 복원하는 메서드 projects.instances.databases.restore가 한 가지 예시입니다. 데이터베이스를 복원할 때 Spanner 서비스는 장기 실행 작업을 생성하여 복원 진행 상황을 추적합니다. Spanner는 장기 실행 작업 상태를 확인할 수 있는 작업 API를 제공합니다. 또한 사용자는 장기 실행 작업을 나열 및 취소하고 장기 실행 인스턴스 작업을 삭제할 수 있습니다.

이 페이지에서는 REST API를 사용하여 장기 실행 작업을 관리하는 방법을 설명합니다. 하지만 다음을 사용하여 장기 실행 작업을 관리할 수도 있습니다.

Spanner 장기 실행 작업은 다음 방법으로 관리할 수 있습니다.

작업 장기 실행 데이터베이스 작업 장기 실행 백업 작업 장기 실행 인스턴스 작업
장기 실행 작업 취소 cancel cancel cancel
장기 실행 작업 삭제 지원되지 않음 지원되지 않음 delete
장기 실행 작업 상태 가져오기 get get get
장기 실행 작업 나열 list list 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이라는 장기 실행 인스턴스 작업을 생성했음을 보여줍니다.

장기 실행 데이터베이스 작업 상태를 가져오려면 다음 단계를 따르세요.

  1. projects.instances.databases.operations.get을 클릭합니다.
  2. 이름projects.instances.databases.create 또는 projects.instances.databases.updateDdl에 대한 응답에 표시된 장기 실행 데이터베이스 작업 이름을 입력합니다. 예를 들면 다음과 같습니다.

    projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206
    

    (이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 데이터베이스 작업을 나열하여 데이터베이스 작업 이름을 검색할 수 있습니다.

  3. 실행을 클릭하고 응답을 확인합니다. 작업이 완료되면 done 필드가 true로 설정됩니다.

장기 실행 데이터베이스 작업을 폴링하려면 작업이 완료될 때까지 projects.instances.databases.operations.get 메서드를 반복해서 호출합니다. 각 폴링 요청 사이에 백오프를 사용합니다. 예를 들어 10초마다 폴링합니다.

장기 실행 데이터베이스 작업 나열

projects.instances.databases.operations.list를 사용하여 장기 실행 데이터베이스 작업을 나열할 수 있습니다.

  1. projects.instances.databases.operations.list을 클릭합니다.
  2. 이름에 다음을 입력합니다.

    projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations
    
  3. 실행을 클릭합니다. 응답에 장기 실행 데이터베이스 작업이 포함됩니다.

장기 실행 데이터베이스 작업 취소

projects.instances.databases.operations.cancel을 사용하여 장기 실행 데이터베이스 작업을 취소합니다.

  1. projects.instances.databases.operations.cancel을 클릭합니다.
  2. 이름에 장기 실행 데이터베이스 작업 응답에 표시된 장기 실행 데이터베이스 작업 이름을 입력합니다. 예:

    projects/[PROJECT_ID]/instances/test-instance/databases/example-db/operations/_auto_1492721321097206
    

    (이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 데이터베이스 작업을 나열하여 데이터베이스 작업 이름을 검색할 수 있습니다.

  3. 실행을 클릭합니다.

백업 작업

다음은 장기 실행 백업 작업입니다.

장기 실행 백업 작업 상태 가져오기

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이라는 장기 실행 백업 작업을 생성했음을 보여줍니다.

장기 실행 백업 작업의 상태를 가져오려면 다음 안내를 따르세요.

  1. projects.instances.backups.operations.get을 클릭합니다.
  2. 이름projects.instances.backups.create에 대한 응답에 표시된 장기 실행 백업 작업 이름을 입력합니다. 예를 들면 다음과 같습니다.

    projects/[PROJECT_ID]/instances/test-instance/backups/example-db/operations/_auto_1492721321097206
    

    (이 값 대신 받은 작업 이름을 사용합니다.) 장기 실행 백업 작업 나열을 통해 백업 작업 이름을 검색할 수도 있습니다.

  3. 실행을 클릭하고 응답을 확인합니다. 작업이 완료되면 done 필드가 true로 설정됩니다.

장기 실행 백업 작업을 폴링하려면 작업이 완료될 때까지 projects.instances.backups.operations.get 메서드를 반복해서 호출합니다. 각 폴링 요청 사이에 백오프를 사용합니다. 예를 들어 10초마다 폴링합니다.

장기 실행 백업 작업 나열

projects.instances.backups.operations.list를 사용하여 단일 백업의 작업을 나열하거나 projects.instances.backupOperations.list를 사용하여 인스턴스의 모든 백업 작업을 나열합니다.

  1. projects.instances.backups.operations.list을 클릭합니다.
  2. 이름에 다음을 입력합니다.

    projects/[PROJECT_ID]/instances/test-instance/backups/example-db-backup-4/operations
    
  3. 실행을 클릭합니다. 응답에 장기 실행 작업이 포함됩니다.

장기 실행 백업 작업 취소

projects.instances.backups.operations.cancel을 사용하여 장기 실행 백업 작업을 취소합니다.

  1. projects.instances.backups.operations.cancel을 클릭합니다.
  2. 이름에 장기 실행 백업 작업 응답에 표시된 장기 실행 백업 작업 이름을 입력합니다. 예를 들면 다음과 같습니다.

    projects/[PROJECT_ID]/instances/test-instance/backups/example-db-backup-4/operations/_auto_1492721321097206
    

    (이 값 대신 받은 작업 이름을 사용합니다.) 장기 실행 백업 작업 나열을 통해 백업 작업 이름을 검색할 수도 있습니다.

  3. 실행을 클릭합니다.

인스턴스 작업

다음은 장기 실행 인스턴스 작업입니다.

장기 실행 인스턴스 작업 상태 가져오기

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라는 장기 실행 인스턴스 작업을 생성했음을 보여줍니다.

장기 실행 인스턴스 작업 상태를 가져오려면 다음 단계를 따르세요.

  1. projects.instances.operations.get을 클릭합니다.
  2. 이름projects.instances.create 또는 projects.instances.patch에 대한 응답에 표시된 장기 실행 인스턴스 작업 이름을 입력합니다. 예를 들면 다음과 같습니다.

    projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
    

    (이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 인스턴스 작업을 나열하여 인스턴스 작업 이름을 검색할 수 있습니다.

  3. 실행을 클릭하고 응답을 확인합니다. 작업이 완료되면 done 필드가 true로 설정됩니다.

장기 실행 인스턴스 작업을 폴링하려면 작업이 완료될 때까지 projects.instances.operations.get 메서드를 반복해서 호출합니다. 각 폴링 요청 사이에 백오프를 사용합니다. 예를 들어 10초마다 폴링합니다.

장기 실행 인스턴스 작업 나열

projects.instances.operations.list를 사용하여 장기 실행 인스턴스 작업을 나열할 수 있습니다.

  1. projects.instances.operations.list을 클릭합니다.
  2. 이름에 다음을 입력합니다.

    projects/[PROJECT_ID]/instances/test-instance/operations
    
  3. 실행을 클릭합니다. 응답에 장기 실행 인스턴스 작업이 포함됩니다.

장기 실행 인스턴스 작업 취소

projects.instances.operations.cancel을 사용하여 장기 실행 인스턴스 작업을 취소할 수 있습니다.

  1. projects.instances.operations.cancel을 클릭합니다.
  2. 이름에 장기 실행 인스턴스 작업 응답에 표시된 장기 실행 인스턴스 작업 이름을 입력합니다. 예:

    projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
    

    (이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 인스턴스 작업을 나열하여 인스턴스 작업 이름을 검색할 수 있습니다.

  3. 실행을 클릭합니다.

장기 실행 인스턴스 작업 삭제

projects.instances.operations.delete를 사용하여 장기 실행 인스턴스 작업을 삭제할 수 있습니다.

  1. projects.instances.operations.delete을 클릭합니다.
  2. 이름에 장기 실행 인스턴스 작업 응답에 표시된 장기 실행 인스턴스 작업 이름을 입력합니다. 예:

    projects/[PROJECT_ID]/instances/test-instance/operations/9af0cf8c1e123a2e
    

    (이 값 대신 받은 작업 이름을 사용합니다.) 또한 장기 실행 인스턴스 작업을 나열하여 인스턴스 작업 이름을 검색할 수 있습니다.

  3. 실행을 클릭합니다.