가격 책정 데이터 내보내기의 구조

이 문서에서는 BigQuery의 각 테이블로 내보낸 Cloud Billing 가격 책정 데이터의 스키마에 대한 참조 정보를 제공합니다.

가격 책정 데이터의 스키마

BigQuery 데이터 세트에서 Cloud Billing 계정 가격 책정 데이터는 cloud_pricing_export라는 데이터 테이블에 로드됩니다.

다음 정보는 BigQuery로 내보낸 Cloud Billing 계정 가격 책정 데이터의 스키마를 설명합니다.

필드 유형 설명
export_time 타임스탬프 Cloud Billing 데이터 추가와 연결된 처리 시간입니다. 새로 내보낼 때마다 항상 증가합니다.
pricing_as_of_time 타임스탬프 Cloud Billing 계정에 적용 가능한 가격 책정 데이터는 BigQuery로 내보낼 수 있도록 하루에 한 번 생성됩니다. 가격 책정 데이터가 생성된 시점의 일일 타임스탬프입니다.
billing_account_id 문자열 가격 책정과 연결된 Cloud Billing 계정 ID입니다.
billing_account_name 문자열

가격 책정이 연결된 Cloud Billing 계정의 이름입니다.

business_entity_name 문자열 SKU를 제공하는 서비스의 Google 서비스 계열의 이름입니다. 값에는 GCP(Google Cloud) 또는 지도(Google Maps Platform)가 포함됩니다.
service.id 문자열 Cloud Billing 데이터를 보고한 Google Cloud 서비스 또는 Google Maps Platform API의 ID입니다. 예를 들면 6F81-5844-456A입니다.
service.description 문자열 Cloud Billing 데이터를 보고한 Google Cloud 서비스 또는 Google Maps Platform API에 대한 설명입니다. 예를 들면 Compute Engine입니다.
sku.id 문자열 서비스에서 사용하는 리소스 SKU의 고유 식별자입니다. 예를 들면 2E27-4F75-95CD입니다. SKU의 전체 목록은 Google Cloud SKU를 참조하세요.
sku.description 문자열 서비스에서 사용하는 리소스 SKU에 대해 사람이 읽을 수 있는 설명입니다. 예를 들면 미주에서 실행 중인 N1 사전 정의 인스턴스 코어입니다.
sku.destination_migration_mappings 문자열 배열 이 SKU가 마이그레이션되는 대상 SKU의 이름입니다.
product_taxonomy 문자열 배열 Serverless, Cloud Run, TaskQueue, VMs On Demand, Cores: Per Core 등 SKU에 적용되는 제품 카테고리의 목록입니다.
geo_taxonomy 구조체 SKU에 적용되는 지리정보 메타데이터(예: 리전 및 us-east4유럽 연합과 같은 리전과 멀티 리전)입니다.
geo_taxonomy.type 문자열 SKU와 연결된 지리정보 메타데이터의 유형입니다. 유효한 값의 범위는 다음과 같습니다.
  • GLOBAL – 리전 없음
  • REGIONAL – 리전 1개 포함
  • MULTI_REGION – 리전 2개 이상 포함
geo_taxonomy.regions 문자열 배열 SKU와 연결된 Google Cloud 리전입니다. 예를 들면 Europe-west2 또는 US입니다.

리전은 특정한 지리적 장소(예: 런던)입니다. 멀티 리전은 두 개 이상의 지리적 장소를 포함하는 넓은 지리적 지역(예: 미국)입니다.

pricing_unit 문자열 가격이 지정된 사용량 단위의 약칭입니다(예: GiBy.mo).
pricing_unit_description 문자열 사람이 읽을 수 있는 사용량 단위의 설명입니다(예: 기비바이트 월).
account_currency_code 문자열 ISO 4217에 정의된 3자리 통화 코드를 사용하여 Cloud Billing 계정이 작동하도록 구성된 통화입니다. 자세한 내용은 결제 및 자동 결제시 현지 통화를 참조하세요.
currency_conversion_rate 문자열 Cloud Billing 계정에서 작동하도록 구성된 미국 달러와 현지 통화의 환율입니다. Cloud Billing 계정의 통화가 USD인 경우 환율이 기본적으로 1.0으로 설정됩니다.

Cloud Billing 비용이 USD가 아닌 통화로 청구되는 경우 다음 공식을 사용해 사용 비용을 USD로 변환할 수 있습니다. cost ÷ currency_conversion_rate = 미국 달러로 변환된 사용 비용.

Google에서는 현지 통화로 청구 시 주요 금융 기관 고시 환율을 기준으로 청구합니다. 여기에는 USD 외의 통화로 청구되는 추가 요금도 포함됩니다. pricing_as_of_time에 적용되는 요율을 사용합니다.

list_price 구조체

pricing_as_of_time부터 적용되는 Google Cloud 또는 Google Maps Platform SKU와 SKU 가격 책정 등급의 정가입니다.

list_price에는 다음을 비롯해 정가의 구조와 값을 설명하는 필드가 포함됩니다.

정가는 list_price.tiered_rates.usd_amount에서 확인할 수 있습니다.

정가 데이터는 모든 고객에 대해 생성되고 내보내집니다. Cloud Billing 계정에 커스텀 계약 가격이 있는 경우 결제 계정별 가격 책정 데이터도 내보내집니다.

billing_account_price 구조체

계약 가격이 있는 경우 이는 Cloud Billing 계정에 연결된 계약의 커스텀 SKU 가격입니다.

billing_account_price에는 Google Cloud와 Google Maps Platform SKU 및 SKU 가격 책정 등급의 커스텀 계약 가격 구조와 값을 설명하는 필드가 포함되어 있습니다. billing_account_price에는 다음이 포함됩니다.

계약 가격(Cloud Billing 계정에 해당되는 경우)은 billing_account_price.tiered_rates.usd_amount에서 확인할 수 있습니다.

price_info 구조체 계약 가격에 대한 배경 정보입니다.
price_info.price_reason 문자열

계약 가격 원본의 배경 정보입니다.

이유는 다음과 같습니다.

  • DEFAULT_PRICE: 기본 가격은 SKU의 현재 정가입니다.
  • FIXED_PRICE: 계약 기간 동안 적용 가능한 SKU의 고정 가격입니다.
  • FIXED_DISCOUNT: 고정된 날짜 기준 정가에 고정된 정가 대비 할인 비율입니다.
  • FLOATING_DISCOUNT: 현재 정가(특정 날짜의 정가로 고정되지 않음) 대비 할인 비율입니다.
  • MIGRATED_PRICE: 다른 SKU에서 마이그레이션된 가격에 적용됩니다.
  • MERGED_PRICE: 여러 소스에서 병합한 후의 SKU 가격입니다. 예를 들어 병합된 등급을 사용할 경우 각 개별 등급에는 할인 유형이 서로 다른 소스가 포함될 수 있습니다.
  • LIST_PRICE_AS_CEILING: 2022년 3월 21일 이후 새로운 계약에 제공되는 선택적인 계약 기능입니다. 활성화된 경우 현재 정가커스텀 고정 가격보다 낮아지면 SKU 가격에 대해 정가(DEFAULT_PRICE)가 사용됩니다. FIXED_PRICE, FIXED_DISCOUNT, MIGRATED_PRICE, MERGED_PRICE를 포함하여 계약의 모든 고정 가격 SKU에 적용됩니다.
  • CONTRACTED_PRICE_PROTECTION: 계약에서 보호되는 가격인 SKU에 적용됩니다. 이는 거의 사용되지 않습니다.
price_info.discount_percent 숫자 백분율 할인(FIXED_DISCOUNT 또는 FLOATING_DISCOUNT)에 따른 계약 가격의 경우 사용되는 할인의 비율입니다.
price_info.discount_percent_fixed_date 날짜 특정 날짜 (FIXED_DISCOUNT)에 고정된 백분율 할인에 대한 계약 가격 책정의 경우 사용된 날짜입니다.
price_info.discount_migrated_from 문자열 다른 SKU(MIGRATED_PRICE)에서 마이그레이션된 계약 가격 할인의 경우 할인의 소스 SKU입니다. SKU가 둘로 분할되는 경우에는 할인이 이전 SKU에서 새 SKU로 마이그레이션됩니다.
aggregation_info 구조체 단일 SKU의 가격 책정 등급의 집계 수준과 간격을 나타냅니다.
aggregation_info.aggregation_level 문자열 가격 등급의 비용 계산을 위해 사용량을 집계하는 수준입니다.

수준은 다음과 같습니다.

  • ACCOUNT: 여러 등급 가격 책정의 SKU를 나타냅니다. 가격 책정 등급의 SKU 사용량은 단일 Cloud Billing 계정의 모든 프로젝트에서 집계됩니다.
  • PROJECT: 여러 등급 가격 책정의 SKU를 나타냅니다. 가격 책정 등급의 SKU 사용량은 프로젝트별로 집계됩니다.
  • UNKNOWN_AGGREGATION_LEVEL: 단일 등급 가격 책정이 있는 SKU를 나타냅니다. 등급이 지정되지 않은 가격과 함께 SKU의 기본값입니다.
aggregation_info.aggregation_interval 문자열 가격 등급의 비용 계산을 위해 사용량을 집계하는 간격입니다.

간격은 다음과 같습니다.

  • ONE_DAY: 여러 등급 가격 책정의 SKU를 나타냅니다. 가격 책정 등급의 SKU 사용량은 매일 집계됩니다.
  • ONE_MONTH: 여러 등급 가격 책정의 SKU를 나타냅니다. 가격 책정 등급의 SKU 사용량은 월별로 집계됩니다.
  • UNKNOWN_AGGREGATION_INTERVAL: 단일 등급 가격 책정이 있는 SKU를 나타냅니다. 등급이 지정되지 않은 가격과 함께 SKU의 기본값입니다.
tiered_rates 문자열 배열 SKU 가격(USD)과 SKU의 가격 Cloud Billing 계정에 포함된 가격 책정 등급에 대한 정보 계정이 사용하도록 구성되어 있습니다.

일부 SKU에는 하나의 가격 책정 등급만 있습니다. SKU에 여러 가격 책정 등급이 있는 경우 각 가격 등급이 서로 다른 행으로 표시됩니다. tiered_rates.start_usage_amount를 사용하여 여러 가격 등급의 SKU를 식별할 수 있습니다.

tiered_rates.pricing_unit_quantity 부동 소수점 수 SKU의 가격 등급 단위 수량입니다. 예를 들어 등급 가격이 1,000,000바이트당 $1이면 이 열에 1,000,000이 표시됩니다.
tiered_rates.start_usage_amount 부동 소수점 수 특정 가격 등급의 가격 하한값으로 가격 책정 단위 기준입니다. 예를 들어 0~100 단위, 101-1000 단위, 1001+ 단위의 세 가지 가격 등급을 사용하는 SKU의 경우 [tiered_rates].start_usage_amount 값으로 0, 101, 1001을 사용하는 세 가지 가격 행이 표시됩니다.
tiered_rates.usd_amount 숫자 SKU의 가격(미국 달러)입니다.
tiered_rates.account_currency_amount 숫자 SKU의 등급 가격은 currency_conversion_rate을 사용해 미국 달러에서 Cloud Billing 계정이 사용하도록 구성된 통화로 변환됩니다.

이 변환된 가격은 tiered_rates.usd_amount * currency_conversion_rate = tiered_rates.account_currency_amount 공식을 사용하여 계산됩니다.

Google에서는 현지 통화로 청구 시 주요 금융 기관 고시 환율을 기준으로 청구합니다. 여기에는 USD 외의 통화로 청구되는 추가 요금도 포함됩니다. pricing_as_of_time에 적용되는 요율을 사용합니다.

가격 책정 등급 정보

SKU 가격은 가격 책정 등급에서 제공됩니다. 가격 책정 등급은 여러 등급 수준에 따라 가격 책정 구조를 제공합니다. 일부 SKU에는 하나의 가격 책정 등급만 있고 어떤 SKU에는 가격 책정 등급이 여러 개 있습니다. 여러 등급의 가격 책정이 포함된 SKU의 예는 다음과 같습니다.

  • 무료 사용량 등급의 SKU 예: 1~1000단위는 무료입니다. 1001개 이상 단위의 가격은 각각 $1달러입니다.
  • 등급 내의 사용량 수량을 초과한 후 단위당 가격이 인하되는 SKU입니다. 예: 1~100단위의 가격이 각 $5이고, 101~1000단위가 각 $4로 청구되며, 1001개 이상의 가격이 각각 $3로 책정됩니다.

여러 등급 가격 책정 관련 참고사항:

  • 등급 사용량 카운터는 SKU의 aggregation_interval(일일 또는 월간)을 기준으로 0으로 재설정됩니다.

    • 일일 SKU는 매일 미국 및 캐나다 태평양 표준시 (UTC-8 또는 UTC-7) 기준 오전 12시에 재설정됩니다.
    • 월별 SKU는 매월 1일 (예: 1월, 2월 등) 미국 및 캐나다 태평양 표준시 (UTC-8 또는 UTC-7) 기준 오전 12시에 0으로 재설정됩니다.
  • 등급은 각 Cloud Billing 계정과 독립적으로 작동하며 프로젝트가 동일한 조직이나 동일한 법인에 속해 있는 경우에도 여러 Cloud Billing 계정 간에 집계되지 않습니다.

  • 등급은 SKU별로 독립적으로 작동합니다. 한 SKU를 사용하면 해당 SKU의 가격에만 영향을 미칩니다. 사용량이 다른 SKU의 등급별 가격에 영향을 미치는 SKU는 없습니다.

  • 정가의 SKU 가격 책정 등급이 계약 가격의 가격 책정 등급과 정확히 일치하지 않을 수 있습니다. 이러한 상황은 매우 드뭅니다.

  • SKU에서 여러 가격 등급을 사용하는 경우 각 SKU 등급 가격은 가격표에 별도의 행으로 나열됩니다. tiered_rates.start_usage_amount를 사용하여 여러 가격 등급의 SKU를 식별할 수 있습니다.

  • 쿼리 작성 방법에 따라 SKU 가격 등급을 중첩 또는 중첩되지 않은 데이터로 반환할 수 있습니다. 중첩 및 중첩되지 않은 데이터에 대한 자세한 내용은 다음 예시를 참조하세요.

가격 책정 데이터 쿼리 예시

이 섹션에서는 BigQuery로 내보낸 Cloud Billing 가격 책정 데이터를 쿼리하는 예시를 제공합니다.

이 섹션에서는 BigQuery로 내보낸 Cloud Billing 가격 책정 데이터를 쿼리하는 다양한 예시를 제공합니다.

가격 책정 쿼리 예시에 사용되는 공통 값

이 섹션의 쿼리 예시에서는 다음 값을 사용합니다.

  • 테이블 이름: project.dataset.cloud_pricing_export
  • SKU ID: 2DA5-55D3-E679(Cloud Run - 요청)

특정 SKU의 정가 가져오기

이 예에서는 지정된 SKU의 각 가격 책정 등급에 대한 list_price를 반환하는 쿼리를 보여줍니다.

표준 SQL

SELECT sku.id,  sku.description, list_price.*
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

_PARTITIONTIME는 BigQuery에서 자동 생성되는 필드이며, 데이터가 속한 날짜를 나타냅니다. _PARTITIONTIME 대신 Cloud Billing 내보내기가 명시적으로 생성하는 필드(예: pricing_as_of_time)를 사용할 수 있습니다.

다음은 pricing_as_of_time 필드를 사용하도록 구성된 동일한 쿼리입니다.

SELECT sku.id,  sku.description, list_price.*
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(pricing_as_of_time) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

쿼리 결과

id 설명 pricing_unit aggregation_info.
aggregation_level
aggregation_info.
aggregation_interval
tiered_rates.
pricing_unit_quantity
tiered_rates.
start_usage_amount
tiered_rates.
usd_amount
tiered_rates.
account_currency_amount
1 2DA5-55D3-E679 요청 COUNT 계정 매월 1000000 0 0 0
          1000000 2000000 0.4 0.4

특정 SKU의 정가를 가져오고 서비스 설명을 포함

이 섹션의 두 예시에서는 지정된 SKU의 각 가격 책정 등급에 대해 list_price를 반환하는 쿼리를 보여주며 SKU 설명 및 서비스 설명이 포함되어 있습니다.

  • 예시 1은 가격 책정 등급이 중첩된 데이터로 표시된 행당 하나의 SKU를 반환합니다.
  • 예시 2는 가격 책정 등급별로 SKU당 하나의 행을 반환하기 위해 데이터의 중첩을 보여줍니다.

예시 1: 중첩 데이터 반환

이 예에서는 단일 SKU를 쿼리하여 list_price 데이터를 반환합니다. 이 SKU에는 여러 가격 책정 등급이 있습니다. 목록 가격 필드 값은 SKU ID 행 아래에 중첩된 개별 행에 표시됩니다.

표준 SQL

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       list_price.*
FROM my-billing-admin-project.my_billing_dataset.cloud_pricing_export
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

쿼리 결과:

sku_id sku_description service_id service_description aggregation_info.
aggregation_level
aggregation_info.
aggregation_interval
tiered_rates.
pricing_unit_quantity
tiered_rates.
start_usage_amount
tiered_rates.
usd_amount
tiered_rates.
account_currency_amount
1 2DA5-55D3-E679 요청 152E-C115-5142 Cloud Run 계정 매월 1000000 0 0 0
            1000000 2000000 0.4 0.4

예시 2: 동일한 테이블과 조인된 중첩되지 않은 데이터 반환

이 예시에서는 단일 SKU를 쿼리하여 list price를 반환합니다. SKU에는 여러 가격 책정 등급이 있습니다. 이 쿼리는 UNNEST 연산자를 사용하여 tiered_rates 배열을 평면화하고 필드를 동일한 테이블과 조인하여 결과적으로는 가격 등급당 하나의 행이 생깁니다.

표준 SQL

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       tier.*
FROM `my-billing-admin-project.my_billing_dataset.cloud_pricing_export` as sku_pricing, UNNEST (sku_pricing.list_price.tiered_rates) as tier
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

쿼리 결과:

sku_id sku_description service_id service_description pricing_unit_quantity start_usage_amount usd_amount account_currency_amount
1 2DA5-55D3-E679 요청 152E-C115-5142 Cloud Run 1000000.0 0.0 0.0 0.0
2 2DA5-55D3-E679 요청 152E-C115-5142 Cloud Run 1000000.0 2000000.0 0.4 0.4

제품 분류 및 지역 분류를 사용하여 SKU 쿼리

  • 상품 분류Serverless, Cloud Run, VMs On Demand와 같이 SKU에 적용되는 제품 카테고리 목록입니다.
  • 지역 분류는 유형 및 리전 값으로 구성된 SKU에 적용되는 지리정보 메타데이터입니다.

SKU의 상품 분류 가져오기

이 예시는 지정된 SKU에 대해 product_taxonomy 목록을 반환하는 쿼리를 보여줍니다. 여기에서 SKU ID = 2DA5-55D3-E679(Cloud Run - 요청)입니다.

표준 SQL

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       product_taxonomy
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

쿼리 결과:

sku_id sku_description service_id service_description product_taxonomy
1 2DA5-55D3-E679 요청 152E-C115-5142 Cloud Run GCP
        서버리스
        Cloud Run
        기타

특정 제품 분류에 대한 모든 SKU 가져오기

이 예시에서는 지정된 product_taxonomy와 일치하는 모든 SKU를 반환하는 쿼리를 보여줍니다. 이 쿼리에서는 서버리스product taxonomy 값으로 지정합니다.

표준 SQL

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       product_taxonomy
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
     AND "Serverless" in UNNEST(product_taxonomy)
LIMIT 10
;

쿼리 결과:

sku_id sku_description service_id service_description product_taxonomy
1 0160-BD7B-4C40 Cloud Tasks 네트워크 리전 내 이그레스 F3A6-D7B7-9BDA Cloud Tasks GCP
        서버리스
        Cloud Tasks
        기타
2 FE08-0A74-7AFD Cloud Tasks GOOGLE-API 이그레스 F3A6-D7B7-9BDA Cloud Tasks GCP
        서버리스
        Cloud Tasks
        기타
3 A81A-32A2-B46D 태스크 큐 저장소 솔트레이크시티 F17B-412E-CB64 App Engine GCP
        서버리스
        GAE
        기타
        TaskQueue

특정 지역 분류 및 제품 분류에 대한 모든 SKU 가져오기

이 예시에서는 지정된 geo_taxonomy 리전 및 지정된 product_taxonomy와 일치하는 모든 SKU를 반환하는 쿼리를 보여줍니다. 여기서 region = us -east4이고 product_taxonomy = VMs On Demand입니다.

표준 SQL

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       geo_taxonomy,
       product_taxonomy
FROM `project.dataset.cloud_pricing_export`
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND "VMs On Demand" in UNNEST(product_taxonomy)
      AND geo_taxonomy.type = "REGIONAL"
      AND "us-east4" in UNNEST (geo_taxonomy.regions)
;

쿼리 결과:

sku_id sku_description service_id service_description geo_taxonomy.type geo_taxonomy.regions product_taxonomy
1 9174-81EE-425B 버지니아에서 실행하는 단독 테넌시 인스턴스용 단독 테넌시 6F81-5844-456A Compute Engine 리전 us-east4 GCP
            컴퓨팅
            GCE
            VMs On Demand
            메모리: GB별
2 C3B9-E891-85ED 버지니아에서 실행되는 단독 테넌시 인스턴스 Ram 6F81-5844-456A Compute Engine 리전 us-east4 GCP
            컴퓨팅
            GCE
            VMs On Demand
            메모리: GB별
3 6E2A-DCD9-87ED N1 사전 정의된 인스턴스 Ram은 버지니아에서 실행됨 6F81-5844-456A Compute Engine 리전 us-east4 GCP
            컴퓨팅
            GCE
            VMs On Demand
            메모리: GB별

여러 가격 등급이 있는 SKU의 정가를 반환

테이블 이름으로 BigQuery 데이터를 쿼리합니다. 쿼리의 FROM 절에 사용되는 테이블 이름은 project.dataset.BQ_table_name의 세 가지 값을 사용하여 결정됩니다.

이 예시에 사용된 일반적인 값:

  • 테이블 이름: project.dataset.cloud_pricing_export
  • SKU ID: 2DA5-55D3-E679(Cloud Run - 요청)

예시 1: 중첩 데이터 반환

이 예에서는 단일 SKU를 쿼리하여 list_price 데이터를 반환합니다. 이 SKU에는 여러 가격 책정 등급이 있습니다. 목록 가격 필드 값은 SKU ID 행 아래에 중첩된 개별 행에 표시됩니다.

표준 SQL

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       list_price.*
FROM my-billing-admin-project.my_billing_dataset.cloud_pricing_export
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

쿼리 결과:

sku_id sku_description service_id service_description aggregation_info.
aggregation_level
aggregation_info.
aggregation_interval
tiered_rates.
pricing_unit_quantity
tiered_rates.
start_usage_amount
tiered_rates.
usd_amount
tiered_rates.
account_currency_amount
1 2DA5-55D3-E679 요청 152E-C115-5142 Cloud Run 계정 매월 1000000 0 0 0
            1000000 2000000 0.4 0.4

예시 2: 동일한 테이블과 조인된 중첩되지 않은 데이터 반환

이 예시에서는 단일 SKU를 쿼리하여 list price를 반환합니다. SKU에는 여러 가격 책정 등급이 있습니다. 이 쿼리는 UNNEST 연산자를 사용하여 tiered_rates 배열을 평면화하고 필드를 동일한 테이블과 조인하여 결과적으로는 가격 등급당 하나의 행이 생깁니다.

표준 SQL

SELECT sku.id AS sku_id,
       sku.description AS sku_description,
       service.id AS service_id,
       service.description as service_description,
       tier.*
FROM `my-billing-admin-project.my_billing_dataset.cloud_pricing_export` as sku_pricing, UNNEST (sku_pricing.list_price.tiered_rates) as tier
WHERE DATE(_PARTITIONTIME) = "2020-07-20"
      AND sku.id = "2DA5-55D3-E679"
;

쿼리 결과:

sku_id sku_description service_id service_description pricing_unit_quantity start_usage_amount usd_amount account_currency_amount
1 2DA5-55D3-E679 요청 152E-C115-5142 Cloud Run 1000000.0 0.0 0.0 0.0
2 2DA5-55D3-E679 요청 152E-C115-5142 Cloud Run 1000000.0 2000000.0 0.4 0.4

Google Cloud 콘솔에서 사용 가능한 비용 및 가격 책정 보고서