Class: Google::Apis::BigqueryV2::ExternalServiceCost

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb

Overview

The external service cost is a portion of the total cost, these costs are not additive with total_bytes_billed. Moreover, this field only track external service costs that will show up as BigQuery costs (e.g. training BigQuery ML job with google cloud CAIP or Automl Tables services), not other costs which may be accrued by running the query (e.g. reading from Bigtable or Cloud Storage). The external service costs with different billing sku (e.g. CAIP job is charged based on VM usage) are converted to BigQuery billed_bytes and slot_ms with equivalent amount of US dollars. Services may not directly correlate to these metrics, but these are the equivalents for billing purposes. Output only.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ExternalServiceCost

Returns a new instance of ExternalServiceCost.



3738
3739
3740
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3738

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#billing_methodString

The billing method used for the external job. This field, set to SERVICES_SKU , is only used when billing under the services SKU. Otherwise, it is unspecified for backward compatibility. Corresponds to the JSON property billingMethod

Returns:

  • (String)


3709
3710
3711
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3709

def billing_method
  @billing_method
end

#bytes_billedFixnum

External service cost in terms of bigquery bytes billed. Corresponds to the JSON property bytesBilled

Returns:

  • (Fixnum)


3714
3715
3716
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3714

def bytes_billed
  @bytes_billed
end

#bytes_processedFixnum

External service cost in terms of bigquery bytes processed. Corresponds to the JSON property bytesProcessed

Returns:

  • (Fixnum)


3719
3720
3721
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3719

def bytes_processed
  @bytes_processed
end

#external_serviceString

External service name. Corresponds to the JSON property externalService

Returns:

  • (String)


3724
3725
3726
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3724

def external_service
  @external_service
end

#reserved_slot_countFixnum

Non-preemptable reserved slots used for external job. For example, reserved slots for Cloua AI Platform job are the VM usages converted to BigQuery slot with equivalent mount of price. Corresponds to the JSON property reservedSlotCount

Returns:

  • (Fixnum)


3731
3732
3733
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3731

def reserved_slot_count
  @reserved_slot_count
end

#slot_msFixnum

External service cost in terms of bigquery slot milliseconds. Corresponds to the JSON property slotMs

Returns:

  • (Fixnum)


3736
3737
3738
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3736

def slot_ms
  @slot_ms
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3743
3744
3745
3746
3747
3748
3749
3750
# File 'lib/google/apis/bigquery_v2/classes.rb', line 3743

def update!(**args)
  @billing_method = args[:billing_method] if args.key?(:billing_method)
  @bytes_billed = args[:bytes_billed] if args.key?(:bytes_billed)
  @bytes_processed = args[:bytes_processed] if args.key?(:bytes_processed)
  @external_service = args[:external_service] if args.key?(:external_service)
  @reserved_slot_count = args[:reserved_slot_count] if args.key?(:reserved_slot_count)
  @slot_ms = args[:slot_ms] if args.key?(:slot_ms)
end