이 페이지에서는 Cloud AutoML을 이용해 AutoML Tables에서 장기 실행 작업을 다루는 방법을 설명합니다.
소개
AutoML Tables의 작업 중 일부는 시간이 조금 걸립니다.
- datasets.importData
- datasets.exportData
- datasets.delete
- models.batchPredict
- models.create
- models.delete
- models.deploy
- models.exportEvaluatedExamples
- models.undeploy
Google Cloud Console을 사용하는 경우 브라우저 창을 닫아도 작업에 영향을 주지 않으며 패널은 작업이 끝나면 업데이트됩니다.
완료하는 데 시간이 오래 걸리는 API 호출을 만들면, 최초 호출은 작업이 진행 중이더라도 즉시 반환됩니다. 일부 도우미 메소드를 이용해 장기 실행 작업의 상태를 확인할 수 있습니다.
AutoML Tables는 장기 실행 작업이 완료되면 프로젝트 소유자에게 이메일을 보냅니다.
작업 상태 폴링
장기 실행 작업의 상태를 폴링할 수 있습니다. 이 방법은 프로그램을 차단하지는 않지만, 작업이 끝날 때까지 폴링을 유지해야 합니다.
작업 상태를 가져오려면 작업 시작 시 응답의 작업 ID를 사용해야 합니다. 작업 ID는 Google Cloud Console에 표시되지 않습니다.
아래 명령어에서 operation-name을 작업의 전체 이름으로 바꿉니다. 전체 이름은 projects/{project-id}/locations/us-central1/operations/{operation-id}
형식입니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ https://automl.googleapis.com/v1beta1/operation-name
가져오기 작업에서는 다음과 비슷한 출력이 표시됩니다. 출력에는 요청 유형과 관련된 정보를 포함하는 metadata
객체가 있습니다. done
필드는 작업의 완료 여부를 표시합니다. 작업이 끝났다면 응답에는 요청의 효과 관련 정보가 포함됩니다
{ "name": "projects/1234/locations/us-central1/operations/TBL2126", "metadata": { ... }, "done": true, "response": { ... } }
작업 대기
이 작업에서 실행을 차단하려면 작업이 끝날 때까지, 또는 지정한 제한 시간이 지날 때까지 기다려야 합니다.
아래 명령어에서 다음과 같이 바꿉니다.
operation-name을 작업의 전체 이름으로 바꿉니다. 전체 이름은
projects/{project-id}/locations/us-central1/operations/{operation-id}
형식입니다. 작업 ID는 Google Cloud Console에 표시되지 않습니다.timeout을 대기할 최대 시간으로 바꿉니다. 시간은 단위가 (소수) 초이며 's'로 끝나야 합니다. 예를 들어 '4.5s;를 입력하면 대시 명령어는 작업이 진행 중이라면 4.5초 후에 반환합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ -d '{"timeout":"timeout"}' \ https://automl.googleapis.com/v1beta1/operation-name:wait
작업 취소
작업 ID를 사용해 가져오기 또는 학습 작업을 취소할 수 있습니다. 취소 작업은 반드시 성공하지는 않습니다. 작업 학습을 취소하는 경우 사용한 학습 시간에 대한 요금이 부과됩니다.
작업 삭제는 지원되지 않습니다.
아래 명령어에서 operation-name을 작업의 전체 이름으로 바꿉니다.
전체 이름은 projects/{project-id}/locations/us-central1/operations/{operation-id}
형식입니다.
작업 ID는 Google Cloud Console에 표시되지 않습니다.
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://automl.googleapis.com/v1beta1/operation-name:cancel