권장사항 및 제한사항

사용 시 다음 가이드라인을 고려하세요. BatchJobService

처리량 개선

  • 규모가 작은 여러 개의 작업보다 적은 수의 작업이 선호됩니다.

  • 업로드된 작업을 작업 유형별로 정렬합니다. 예를 들어 직업이 여기에는 캠페인, 광고 그룹 및 광고 그룹 기준을 추가하는 작업이 포함됩니다. 업로드 시 모든 캠페인이 연산이 먼저 나온 다음 광고 그룹 작업, 그리고 마지막으로 모든 광고그룹 기준 연산을 참조하세요.

  • 동일한 유형의 작업 내에서 그룹화하여 성능을 개선할 수 있습니다. 기준으로 합니다. 예를 들어 일련의 AdGroupCriterionOperation 객체를 사용하면 그룹화하는 것이 더 효율적일 수 있음 운영에 영향을 미치는 작업을 혼합하는 것이 아니라 광고그룹별 운영 광고 그룹 기준을 설정할 수 있습니다.

동시 실행 문제 방지

  • 동일한 계정에 대해 동시 작업을 여러 개 제출하는 경우 같은 객체에 대해 동시에 작동할 가능성이 있는 반면, 유지관리할 수 있습니다 많은 완료되지 않은 작업( RUNNING) 동일한 객체 집합을 변형하려고 하면 교착 상태 같은 상태가 발생할 수 있습니다. 심각한 속도 저하와 작업 실패까지도 발생할 수 있습니다

  • 동일한 객체 내에서 동일한 객체를 변경하는 작업을 여러 개 제출하지 마세요. 결과를 예측할 수 없을 수 있기 때문입니다.

최적의 결과 검색

  • 작업 상태를 너무 자주 폴링하지 마세요. 비율 한도에 도달할 위험이 있습니다. 오류가 발생했습니다.

  • 페이지당 1,000개가 넘는 결과를 검색하지 않습니다. 서버는 더 적다는 것을 알 수 있습니다.

  • 결과 순서는 업로드 순서와 동일합니다.

추가 사용법 안내

  • 다음 날짜 이전에 일괄 작업을 실행할 수 있는 시간의 상한값을 설정할 수 있습니다. 있습니다. 새 일괄 작업을 만들 때 metadata.execution_limit_seconds 드림 필드를 원하는 시간 제한(초)으로 설정합니다. 기본 시간이 없습니다. metadata.execution_limit_seconds가 설정되지 않은 경우 제한

  • 작업당 1,000개 이하의 작업을 추가하는 것이 좋습니다. AddBatchJobOperationsRequest 드림 로 이동하여 sequence_token 나머지 작업을 동일한 작업에 업로드할 수 있습니다. 사용 가능 여부에 따라 너무 많은 작업을 한 번에 AddBatchJobOperationsRequest로 인해 REQUEST_TOO_LARGE 오류가 발생할 수 있습니다. 나 연산의 수를 줄이고 AddBatchJobOperationsRequest

제한사항

  • BatchJob는 최대 100만 개까지 지원합니다. 작업을 수행할 수 있습니다

  • 각 계정에는 동시에 최대 100개의 활성 또는 대기 중인 작업이 있을 수 있습니다.

  • 7일이 지난 대기 중인 작업은 자동으로 삭제됩니다.

  • AddBatchJobOperationsRequest 최대 크기는 10,484,504바이트입니다. 이 한도를 초과하면 INTERNAL_ERROR 요청 크기를 결정하기 전에 크기가 너무 크면 적절한 조치를 취하세요.

    자바

    
    static final int MAX_REQUEST_BYTES = 10_484_504;
    
    ... (code to get the request object)
    
    int sizeInBytes = request.getSerializedSize();
    

    Python

    
    from google.ads.googleads.client import GoogleAdsClient
    
    MAX_REQUEST_BYTES = 10484504
    
    ... (code to get the request object)
    
    size_in_bytes = request._pb.ByteSize()
    

    Ruby

    
    require 'google/ads/google_ads'
    
    MAX_REQUEST_BYTES = 10484504
    
    ... (code to get the request object)
    
    size_in_bytes = request.to_proto.bytesize
    

    PHP

    
    use Google\Ads\GoogleAds\V16\Resources\Campaign;
    
    const MAX_REQUEST_BYTES = 10484504;
    
    ... (code to get the request object)
    
    $size_in_bytes = $campaign->byteSize() . PHP_EOL;
    

    .NET

    
    using Google.Protobuf;
    const int MAX_REQUEST_BYTES = 10484504;
    
    ... (code to get the request object)
    
    int sizeInBytes = request.ToByteArray().Length;
    

    Perl

    
    use Devel::Size qw(total_size);
    use constant MAX_REQUEST_BYTES => 10484504;
    
    ... (code to get the request object)
    
    my $size_in_bytes = total_size($request);