리소스 변형

Google Ads API는 사용 사례에 따라 리소스를 변경하는 여러 가지 방법을 제공합니다.

  • 리소스 서비스 변경: 변경 가능한 각 리소스에는 특정 리소스 유형에 대한 작업을 실행하는 전용 서비스가 있습니다. 예를 들어 Campaign 리소스는 CampaignService.MutateCampaigns 엔드포인트를 사용하여 캠페인을 만들거나 업데이트하거나 삭제합니다.
  • 일괄 변형: GoogleAdsService.Mutate 엔드포인트는 단일 동기 요청에서 여러 리소스 유형 (및 캠페인 예약 또는 견적과 같은 지원되는 작업)에 걸친 일련의 변형 작업을 래핑합니다.
  • 비동기 일괄 작업: 대규모 변형 또는 장기 실행 워크로드의 경우 BatchJobService는 동기식 요청 제한 시간의 위험 없이 비동기식으로 작업을 실행합니다. GoogleAdsService.Mutate와 달리 BatchJobService는 항상 부분 실패 시맨틱스에서 실행되며 validate_only 모드 또는 작업 작업 (book_campaigns_operation, quote_campaigns_operation)을 지원하지 않습니다. 부분 실패는 항상 활성 상태이므로 BatchJobService는 기본 서비스가 부분 실패를 지원하지 않는 리소스 작업 (예: CustomerOperation, CampaignConversionGoalOperation, ConversionGoalCampaignConfigOperation, CustomConversionGoalOperation, CustomerConversionGoalOperation)을 MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE로 거부합니다.

일괄 변형의 이점

GoogleAdsService.Mutate를 사용하면 다음과 같은 이점이 있습니다(구현 안내는 변형 권장사항 참고).

  • 여러 리소스 서비스에 걸친 그룹화된 작업: 개별 리소스 서비스 호출은 단일 리소스 유형에 대한 작업만 허용하지만 GoogleAdsService.Mutate를 사용하면 한 번의 호출로 여러 리소스 유형을 변경할 수 있습니다.
  • 임시 리소스 이름: 새로 만든 상위 항목에 음수 정수 ID (예: customers/CUSTOMER_ID/campaigns/-1)를 할당하고 동일한 요청 내에서 하위 작업의 임시 ID를 참조할 수 있습니다.

이러한 기능을 사용하면 GoogleAdsService.Mutate를 사용하여 전체 캠페인 계층 구조를 원자적으로 만들어 모든 작업이 함께 성공하거나 실패하도록 하거나 partial_failure를 true로 설정하여 유효한 작업을 독립적으로 커밋할 수 있습니다.