class Google::Ads::GoogleAds::V7::Services::BatchJobService::Client
Client
for the BatchJobService
service.
Service
to manage batch jobs.
Attributes
@private
Get the associated client for long-running operations.
@return [::Google::Ads::GoogleAds::V7::Services::BatchJobService::Operations]
Public Class Methods
Configure the BatchJobService
Client
class.
See {::Google::Ads::GoogleAds::V7::Services::BatchJobService::Client::Configuration} for a description of the configuration fields.
## Example
To modify the configuration for all BatchJobService
clients:
::Google::Ads::GoogleAds::V7::Services::BatchJobService::Client.configure do |config| config.timeout = 10.0 end
@yield [config] Configure the Client
client. @yieldparam config [Client::Configuration]
@return [Client::Configuration]
# File lib/google/ads/google_ads/v7/services/batch_job_service/client.rb, line 58 def self.configure @configure ||= begin default_config = Client::Configuration.new default_config.timeout = 3600.0 default_config.retry_policy = { initial_delay: 5.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] } default_config end yield @configure if block_given? @configure end
Create a new BatchJobService
client object.
## Examples
To create a new BatchJobService
client with the default configuration:
client = ::Google::Ads::GoogleAds::V7::Services::BatchJobService::Client.new
To create a new BatchJobService
client with a custom configuration:
client = ::Google::Ads::GoogleAds::V7::Services::BatchJobService::Client.new do |config| config.timeout = 10.0 end
@yield [config] Configure the BatchJobService
client. @yieldparam config [Client::Configuration]
# File lib/google/ads/google_ads/v7/services/batch_job_service/client.rb, line 116 def initialize # These require statements are intentionally placed here to initialize # the gRPC module only when it's required. # See https://github.com/googleapis/toolkit/issues/446 require "gapic/grpc" require "google/ads/google_ads/v7/services/batch_job_service_services_pb" # Create the configuration object @config = Configuration.new Client.configure # Yield the configuration if needed yield @config if block_given? # Create credentials credentials = @config.credentials # Use self-signed JWT if the scope and endpoint are unchanged from default, # but only if the default endpoint does not have a region prefix. enable_self_signed_jwt = @config.scope == Client.configure.scope && @config.endpoint == Client.configure.endpoint && !@config.endpoint.split(".").first.include?("-") credentials ||= Credentials.default scope: @config.scope, enable_self_signed_jwt: enable_self_signed_jwt if credentials.is_a?(String) || credentials.is_a?(Hash) credentials = Credentials.new credentials, scope: @config.scope end @quota_project_id = @config.quota_project @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id @operations_client = Operations.new do |config| config.credentials = credentials config.endpoint = @config.endpoint end @batch_job_service_stub = ::Gapic::ServiceStub.new( ::Google::Ads::GoogleAds::V7::Services::BatchJobService::Stub, credentials: credentials, endpoint: @config.endpoint, channel_args: @config.channel_args, interceptors: @config.interceptors ) end
Public Instance Methods
Add operations to the batch job.
List of thrown errors:
[AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
@overload add_batch_job_operations
(request, options = nil)
Pass arguments to `add_batch_job_operations` via a request object, either of type {::Google::Ads::GoogleAds::V7::Services::AddBatchJobOperationsRequest} or an equivalent Hash. @param request [::Google::Ads::GoogleAds::V7::Services::AddBatchJobOperationsRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload add_batch_job_operations
(resource_name: nil, sequence_token: nil, mutate_operations: nil)
Pass arguments to `add_batch_job_operations` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param resource_name [::String] Required. The resource name of the batch job. @param sequence_token [::String] A token used to enforce sequencing. The first AddBatchJobOperations request for a batch job should not set sequence_token. Subsequent requests must set sequence_token to the value of next_sequence_token received in the previous AddBatchJobOperations response. @param mutate_operations [::Array<::Google::Ads::GoogleAds::V7::Services::MutateOperation, ::Hash>] Required. The list of mutates being added. Operations can use negative integers as temp ids to signify dependencies between entities created in this batch job. For example, a customer with id = 1234 can create a campaign and an ad group in that same campaign by creating a campaign in the first operation with the resource name explicitly set to "customers/1234/campaigns/-1", and creating an ad group in the second operation with the campaign field also set to "customers/1234/campaigns/-1".
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Ads::GoogleAds::V7::Services::AddBatchJobOperationsResponse] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Google::Ads::GoogleAds::V7::Services::AddBatchJobOperationsResponse]
@raise [Google::Ads::GoogleAds::Error] if the RPC is aborted.
# File lib/google/ads/google_ads/v7/services/batch_job_service/client.rb, line 549 def add_batch_job_operations request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::GoogleAds::V7::Services::AddBatchJobOperationsRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.add_batch_job_operations.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Ads::GoogleAds::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "resource_name" => request.resource_name } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.add_batch_job_operations.timeout, metadata: metadata, retry_policy: @config.rpcs.add_batch_job_operations.retry_policy options.apply_defaults metadata: @config.metadata, retry_policy: @config.retry_policy @batch_job_service_stub.call_rpc :add_batch_job_operations, request, options: options do |response, operation| yield response, operation if block_given? return response end # rescue GRPC::BadStatus => grpc_error # raise Google::Ads::GoogleAds::Error.new grpc_error.message end
Configure the BatchJobService
Client
instance.
The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on {Client.configure}.
See {::Google::Ads::GoogleAds::V7::Services::BatchJobService::Client::Configuration} for a description of the configuration fields.
@yield [config] Configure the Client
client. @yieldparam config [Client::Configuration]
@return [Client::Configuration]
# File lib/google/ads/google_ads/v7/services/batch_job_service/client.rb, line 91 def configure yield @config if block_given? @config end
Returns the batch job.
List of thrown errors:
[AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
@overload get_batch_job
(request, options = nil)
Pass arguments to `get_batch_job` via a request object, either of type {::Google::Ads::GoogleAds::V7::Services::GetBatchJobRequest} or an equivalent Hash. @param request [::Google::Ads::GoogleAds::V7::Services::GetBatchJobRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload get_batch_job
(resource_name: nil)
Pass arguments to `get_batch_job` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param resource_name [::String] Required. The resource name of the batch job to get.
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Ads::GoogleAds::V7::Resources::BatchJob] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Google::Ads::GoogleAds::V7::Resources::BatchJob]
@raise [Google::Ads::GoogleAds::Error] if the RPC is aborted.
# File lib/google/ads/google_ads/v7/services/batch_job_service/client.rb, line 282 def get_batch_job request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::GoogleAds::V7::Services::GetBatchJobRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.get_batch_job.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Ads::GoogleAds::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "resource_name" => request.resource_name } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.get_batch_job.timeout, metadata: metadata, retry_policy: @config.rpcs.get_batch_job.retry_policy options.apply_defaults metadata: @config.metadata, retry_policy: @config.retry_policy @batch_job_service_stub.call_rpc :get_batch_job, request, options: options do |response, operation| yield response, operation if block_given? return response end # rescue GRPC::BadStatus => grpc_error # raise Google::Ads::GoogleAds::Error.new grpc_error.message end
Returns the results of the batch job. The job must be done. Supports standard list paging.
List of thrown errors:
[AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
@overload list_batch_job_results
(request, options = nil)
Pass arguments to `list_batch_job_results` via a request object, either of type {::Google::Ads::GoogleAds::V7::Services::ListBatchJobResultsRequest} or an equivalent Hash. @param request [::Google::Ads::GoogleAds::V7::Services::ListBatchJobResultsRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload list_batch_job_results
(resource_name: nil, page_token: nil, page_size: nil, response_content_type: nil)
Pass arguments to `list_batch_job_results` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param resource_name [::String] Required. The resource name of the batch job whose results are being listed. @param page_token [::String] Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results. @param page_size [::Integer] Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. @param response_content_type [::Google::Ads::GoogleAds::V7::Enums::ResponseContentTypeEnum::ResponseContentType] The response content type setting. Determines whether the mutable resource or just the resource name should be returned.
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Ads::GoogleAds::V7::Services::BatchJobResult>] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Gapic::PagedEnumerable<::Google::Ads::GoogleAds::V7::Services::BatchJobResult>]
@raise [Google::Ads::GoogleAds::Error] if the RPC is aborted.
# File lib/google/ads/google_ads/v7/services/batch_job_service/client.rb, line 371 def list_batch_job_results request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::GoogleAds::V7::Services::ListBatchJobResultsRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.list_batch_job_results.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Ads::GoogleAds::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "resource_name" => request.resource_name } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.list_batch_job_results.timeout, metadata: metadata, retry_policy: @config.rpcs.list_batch_job_results.retry_policy options.apply_defaults metadata: @config.metadata, retry_policy: @config.retry_policy @batch_job_service_stub.call_rpc :list_batch_job_results, request, options: options do |response, operation| response = ::Gapic::PagedEnumerable.new @batch_job_service_stub, :list_batch_job_results, request, response, operation, options yield response, operation if block_given? return response end # rescue GRPC::BadStatus => grpc_error # raise Google::Ads::GoogleAds::Error.new grpc_error.message end
Mutates a batch job.
List of thrown errors:
[AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
@overload mutate_batch_job
(request, options = nil)
Pass arguments to `mutate_batch_job` via a request object, either of type {::Google::Ads::GoogleAds::V7::Services::MutateBatchJobRequest} or an equivalent Hash. @param request [::Google::Ads::GoogleAds::V7::Services::MutateBatchJobRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload mutate_batch_job
(customer_id: nil, operation: nil)
Pass arguments to `mutate_batch_job` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param customer_id [::String] Required. The ID of the customer for which to create a batch job. @param operation [::Google::Ads::GoogleAds::V7::Services::BatchJobOperation, ::Hash] Required. The operation to perform on an individual batch job.
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Ads::GoogleAds::V7::Services::MutateBatchJobResponse] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Google::Ads::GoogleAds::V7::Services::MutateBatchJobResponse]
@raise [Google::Ads::GoogleAds::Error] if the RPC is aborted.
# File lib/google/ads/google_ads/v7/services/batch_job_service/client.rb, line 207 def mutate_batch_job request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::GoogleAds::V7::Services::MutateBatchJobRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.mutate_batch_job.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Ads::GoogleAds::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "customer_id" => request.customer_id } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.mutate_batch_job.timeout, metadata: metadata, retry_policy: @config.rpcs.mutate_batch_job.retry_policy options.apply_defaults metadata: @config.metadata, retry_policy: @config.retry_policy @batch_job_service_stub.call_rpc :mutate_batch_job, request, options: options do |response, operation| yield response, operation if block_given? return response end # rescue GRPC::BadStatus => grpc_error # raise Google::Ads::GoogleAds::Error.new grpc_error.message end
Runs the batch job.
The Operation.metadata field type is BatchJobMetadata. When finished, the long running operation will not contain errors or a response. Instead, use ListBatchJobResults to get the results of the job.
List of thrown errors:
[AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
@overload run_batch_job
(request, options = nil)
Pass arguments to `run_batch_job` via a request object, either of type {::Google::Ads::GoogleAds::V7::Services::RunBatchJobRequest} or an equivalent Hash. @param request [::Google::Ads::GoogleAds::V7::Services::RunBatchJobRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload run_batch_job
(resource_name: nil)
Pass arguments to `run_batch_job` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param resource_name [::String] Required. The resource name of the BatchJob to run.
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Gapic::Operation]
@raise [Google::Ads::GoogleAds::Error] if the RPC is aborted.
# File lib/google/ads/google_ads/v7/services/batch_job_service/client.rb, line 454 def run_batch_job request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::GoogleAds::V7::Services::RunBatchJobRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.run_batch_job.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Ads::GoogleAds::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "resource_name" => request.resource_name } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.run_batch_job.timeout, metadata: metadata, retry_policy: @config.rpcs.run_batch_job.retry_policy options.apply_defaults metadata: @config.metadata, retry_policy: @config.retry_policy @batch_job_service_stub.call_rpc :run_batch_job, request, options: options do |response, operation| response = ::Gapic::Operation.new response, @operations_client, options: options yield response, operation if block_given? return response end # rescue GRPC::BadStatus => grpc_error # raise Google::Ads::GoogleAds::Error.new grpc_error.message end