class Google::Cloud::Spanner::V1::Spanner::Client

def batch_write request, options = nil

Other tags:
    Example: Basic example -

Raises:
  • (::Google::Cloud::Error) - if the RPC is aborted.

Returns:
  • (::Enumerable<::Google::Cloud::Spanner::V1::BatchWriteResponse>) -

Other tags:
    Yieldparam: operation -
    Yieldparam: response -

Other tags:
    Yield: - Access the result along with the RPC operation

Parameters:
  • exclude_txn_from_change_streams (::Boolean) --
  • mutation_groups (::Array<::Google::Cloud::Spanner::V1::BatchWriteRequest::MutationGroup, ::Hash>) --
  • request_options (::Google::Cloud::Spanner::V1::RequestOptions, ::Hash) --
  • session (::String) --
  • options (::Gapic::CallOptions, ::Hash) --
  • request (::Google::Cloud::Spanner::V1::BatchWriteRequest, ::Hash) --

Overloads:
  • batch_write(session: nil, request_options: nil, mutation_groups: nil, exclude_txn_from_change_streams: nil)
  • batch_write(request, options = nil)
def batch_write request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?
  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Spanner::V1::BatchWriteRequest
  # 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.batch_write.metadata.to_h
  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version 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::Cloud::Spanner::V1::VERSION
  metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
  header_params = {}
  if request.session
    header_params["session"] = request.session
  end
  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.batch_write.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.batch_write.retry_policy
  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy
  @spanner_stub.call_rpc :batch_write, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end