장기 실행 작업 관리

이 페이지에서는 Video Stitcher API 장기 실행 작업(LRO)의 수명 주기를 관리하는 방법을 설명합니다.

메서드 호출이 완료되는 데 오래 걸릴 수 있으면 장기 실행 작업이 반환됩니다. 예를 들어 Video Stitcher API는 projects.locations.liveConfigs.create를 호출할 때마다 LRO를 만듭니다. LRO는 처리 작업의 상태를 추적합니다.

Video Stitcher API가 제공하는 projects.locations.operations 메서드를 사용하여 LRO 상태를 확인할 수 있습니다. LRO를 나열, 취소 또는 삭제도 할 수 있습니다.

LRO는 Google Cloud 프로젝트 및 위치 수준에서 관리됩니다. API에 요청을 수행할 때는 Google Cloud 프로젝트 및 LRO가 실행되는 위치를 포함하세요.

LRO 레코드는 LRO가 완료된 후 약 30일 동안 유지됩니다. 이후에는 LRO를 보거나 나열할 수 없습니다.

장기 실행 작업에 대한 세부정보 가져오기

실시간 구성을 만들었다고 가정해 보겠습니다. 응답의 name 값은 Video Stitcher API가 projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID라는 LRO를 만들었음을 보여줍니다.

입력 엔드포인트가 생성되었는지 확인하려면 projects.locations.operations.get 메서드를 사용합니다. 응답에 "done": false가 포함되어 있으면 응답에 "done": true가 포함될 때까지 명령어를 반복합니다. 이 작업은 완료하는 데 몇 분 정도 걸릴 수 있습니다.

또한 장기 실행 작업을 나열하여 LRO를 검색할 수 있습니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_NUMBER: Google Cloud 프로젝트 번호입니다. IAM 설정 페이지의 프로젝트 번호 필드에 있습니다.
  • LOCATION: 데이터의 위치입니다. 지원되는 리전 중 하나를 사용합니다.
    위치 표시
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: 작업의 식별자

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "endTime": END_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.LiveConfig",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID",
    "sourceUri": "SOURCE_LIVESTREAM_URI",
    "adTagUri": "AD_TAG_URI",
    "state": "READY",
    "adTracking": "CLIENT",
    "defaultSlate": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID",
    "stitchingPolicy": "CUT_CURRENT",
    "defaultAdBreakDuration": "30s"
  }
}

작업에 실패하면 문제 해결에 도움이 되는 error 객체 형식의 오류 정보가 수신됩니다.

{
  "error": {
    "code": 404,
    "message": "got status code 403 when fetching playlist from URI \"https://example.com/manifest.m3u8\"",
    "status": "NOT_FOUND"
  }
}

장기 실행 작업 나열

지정된 위치의 모든 작업을 나열하려면 projects.locations.operations.list 메서드를 사용합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_NUMBER: Google Cloud 프로젝트 번호입니다. IAM 설정 페이지의 프로젝트 번호 필드에 있습니다.
  • LOCATION: 작업의 위치입니다. 지원되는 리전 중 하나를 사용합니다.
    위치 표시
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "operations": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "endTime": END_TIME,
        "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID,
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/my-other-operation",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.OperationMetadata",
        "createTime": CREATE_TIME,
        "endTime": END_TIME,
        "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/my-other-live-config",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.LiveConfig",
        "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/my-other-live-config",
        "sourceUri": "SOURCE_LIVESTREAM_URI",
        "adTagUri": "AD_TAG_URI",
        "state": "READY",
        "adTracking": "SERVER",
        "defaultSlate": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID",
        "stitchingPolicy": "CUT_CURRENT",
        "defaultAdBreakDuration": "30s"
      }
    }
  ]
}

장기 실행 작업 취소

장기 실행 작업에 대한 비동기 취소를 시작하려면 projects.locations.operations.cancel 메서드를 사용합니다. 서버는 작업이 취소되도록 최선을 다하지만 성공한다고 보장되지 않습니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_NUMBER: Google Cloud 프로젝트 번호입니다. IAM 설정 페이지의 프로젝트 번호 필드에 있습니다.
  • LOCATION: 작업의 위치입니다. 지원되는 리전 중 하나를 사용합니다.
    위치 표시
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: 작업의 식별자

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

빈 JSON 객체가 응답으로 반환됩니다.
{}

장기 실행 작업 삭제

완료된 장기 실행 작업을 삭제하려면 projects.locations.operations.delete 메서드를 사용합니다. 이 메소드는 클라이언트가 작업 결과에 더 이상 관심이 없음을 나타냅니다. 작업을 취소하지는 않습니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_NUMBER: Google Cloud 프로젝트 번호입니다. IAM 설정 페이지의 프로젝트 번호 필드에 있습니다.
  • LOCATION: 작업의 위치입니다. 지원되는 리전 중 하나를 사용합니다.
    위치 표시
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: 작업의 식별자

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

빈 JSON 객체가 응답으로 반환됩니다.
{}