Google Cloud Pricing API היא חבילה של משאבי API שאפשר להשתמש בהם כדי לקבל מידע על שירותי Cloud ונתונים על המחירים שלהם.
בדף הזה מפורטות דוגמאות לבקשות API שאתם יכולים לשלוח כדי לקבל מידע על שירותים ומק"טים שהנתונים עליהם פתוחים לציבור או על כאלה שהנתונים עליהם גלויים רק לחשבון החיוב שלכם ב-Cloud כחלק מהחוזה עם Google Cloud.
אתם יכולים להשתמש ב-Pricing API כדי לקבל רשימה של שירותים או מחיר לפי מספר קטלוגי (SKU, מק"ט) ספציפי. מק"ט הוא מזהה ייחודי של משאב שאפשר לרכוש. מק"ט לדוגמה: Nvidia Tesla T4 GPU attached to
Spot Preemptible VMs running in Warsaw
. אם סיכמתם בחוזה על תמחור ספציפי לארגון, אתם יכולים להשתמש ב-Pricing API גם כדי לקבל את המחירים שמשויכים לחשבון שלכם לחיוב ב-Cloud.
כדי לעיין ברשימה המלאה של משאבים שכלולים ב-Pricing API, ולקרוא למידע מפורט על הפורמטים של הבקשות והתגובות, עיינו בהפניית ה-API.
לפני שמתחילים
Enable the Cloud Billing API.
ממשקי ה-API מופעלים ברמת הפרויקט ב-Google Cloud. Pricing API הוא חלק מ-Cloud Billing API. כשתראו בממשק בקשה לבחור את הפרויקט שדרכו אתם רוצים להפעיל את Pricing API, כדאי שתבחרו פרויקט Google Cloud שהגדרתם בו את כל אפשרויות ה-FinOps ואת כל מה שאתם צריכים כדי לנהל ולתפעל את החשבון לחיוב ב-Cloud. הפרויקט הזה יכול לכלול את כל ממשקי ה-API הספציפיים לחיוב, כולל Cloud Billing API.
כאן מוסבר למה כדאי להשתמש בפרויקט שמתמקד ב-FinOps בכל התרחישים של ניהול החיובים.
איך מקבלים מידע על שירותים ציבוריים והתמחור שלהם
פירטנו כאן דוגמאות לקריאות שאפשר לשלוח ל-API כדי לקבל מידע שפתוח לציבור על שירותים של Google Cloud ועל מוצרים של Google Cloud לפי מק"טים.
כדי לקבל מידע על שירותים ציבוריים, על מק"טים של מוצרים שמשויכים אליהם או על המחירים שלהם, צריך ליצור מפתח API.
קבלת רשימה של שירותי Google Cloud ציבוריים
בדוגמה הבאה מפורטים כל השירותים הציבוריים של Google Cloud, כולל המטא-נתונים של כל שירות.
אין צורך בהרשאות IAM ספציפיות כדי לשלוח את קריאת ה-API הזו.
אלה הנתונים שצריך להחליף לפני שמשתמשים בדוגמה:
- API_KEY: מפתח ה-API של Google Cloud.
- PAGE_SIZE (אופציונלי): מספר השירותים שצריך להחזיר. ערך ברירת המחדל הוא 50.
- PAGE_TOKEN (אופציונלי): טוקן הדף שקיבלתם מ-
nextPageToken
בתגובה קודמת.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://cloudbilling.googleapis.com/v2beta/services?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
"https://cloudbilling.googleapis.com/v2beta/services?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"
PowerShell
מריצים את הפקודה הבאה:
$headers = @{ }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v2beta/services?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content
התגובה מכילה רשימת שירותים ומידע על כל שירות. הדוגמה הבאה מציגה את הפורמט של Compute Engine.
התוצאות מחולקות לדפים, ומוגבלות ל-50 שירותים בכל דף. התגובה כוללת nextPageToken
, שאפשר להשתמש בו כדי לקבל את דף התוצאות הבא. כדי לאחזר את המקבץ הבא, צריך להגדיר
pageToken=PAGE_TOKEN
.
כדי לצמצם את מספר המק"טים בדף, צריך להגדיר
pageSize=PAGE_SIZE
. אחרי שכל הפריטים מוצגים, לא מוחזר אף אסימון.
{ "services": [ { "name": "services/6F81-5844-456A", "serviceId": "6F81-5844-456A", "displayName": "Compute Engine", }, ... ] "nextPageToken": "alphanumeric-page-token" }
קבלת רשימת מק"טים של שירות ציבורי ב-Google Cloud
בדוגמה הבאה מוצגת רשימת המק"טים הציבוריים של שירות מסוים.
אין צורך בהרשאות IAM ספציפיות כדי לשלוח את קריאת ה-API הזו.
אלה הנתונים שצריך להחליף לפני שמשתמשים בדוגמה:
- API_KEY: מפתח ה-API של Google Cloud.
- FILTER: השירותים שרוצים לסנן את המק"טים לפיהם. לדוגמה, כדי להציג רשימת מק"טים של Compute Engine, אפשר להשתמש במסנן
service="services/6F81-5844-456A"
. - PAGE_SIZE (אופציונלי): מספר המק"טים המקסימלי שצריך להחזיר. ברירת המחדל היא 50 והערך המקסימלי הוא 5,000.
- PAGE_TOKEN (אופציונלי): הטוקן של הדף שנמצא ב-
nextPageToken
בתגובה.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://cloudbilling.googleapis.com/v2beta/skus?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
"https://cloudbilling.googleapis.com/v2beta/skus?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER"
PowerShell
מריצים את הפקודה הבאה:
$headers = @{ }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v2beta/skus?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER" | Select-Object -Expand Content
nextPageToken
, שאפשר להשתמש בו כדי לקבל את דף התוצאות הבא. כדי לשלוף את המקבץ הבא צריך להגדיר pageToken=PAGE_TOKEN
.
כדי לשנות את מספר המק"טים בדף צריך להגדיר
pageSize=PAGE_SIZE
. אחרי שכל הפריטים מוצגים, לא מוחזר אף טוקן.
{ "skus": [ { "name": "skus/0008-F633-76AA", "skuId": "0008-F633-76AA", "displayName": "Example L4 GPU attached to Spot Preemptible VMs running in Hong Kong", "service": "6F81-5844-456A", "productTaxonomy": { "taxonomyCategories": [ { "category": "GCP" }, { "category": "Compute" }, { "category": "GPUs" }, { "category": "GPUs Preemptible" }, { "category": "L4" } ] }, "geoTaxonomy": { "type": "REGIONAL", "regionalMetadata": { "region": { "region": "asia-east2" } } } }, { "name": "skus/000F-0B14-D302", "skuId": "000F-0B14-D302", "displayName": "Example Sole Tenancy Instance Ram running in Turin", "service": "6F81-5844-456A", "productTaxonomy": { "taxonomyCategories": [ { "category": "GCP" }, { "category": "Compute" }, { "category": "GCE" }, { "category": "VMs On Demand" }, { "category": "Memory: Per GB" }, { "category": "C3" } ] }, "geoTaxonomy": { "type": "REGIONAL", "regionalMetadata": { "region": { "region": "europe-west12" } } } } ], "nextPageToken": "alphanumeric-nextpageToken" }
קבלת המחירים של כל המק"טים הציבוריים של Google Cloud
אלה הנתונים שצריך להחליף לפני שמשתמשים בדוגמה:
- SKU_ID: המזהה של המק"ט הספציפי שרוצים לקבל את המחיר שלו. כדי לקבל את המחירים של כל המק"טים, משתמשים ב-"-".
- API_KEY: מפתח ה-API של Google Cloud.
- PAGE_SIZE (אופציונלי): מספר השירותים שצריך להחזיר. ערך ברירת המחדל הוא 50.
- PAGE_TOKEN (אופציונלי): טוקן הדף שקיבלתם מ-
nextPageToken
בתגובה קודמת.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/prices?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
"https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/prices?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"
PowerShell
מריצים את הפקודה הבאה:
$headers = @{ }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/prices?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content
התשובה כוללת את פרטי התמחור של כל מזהה מק"ט. בדוגמה הבאה מוצג הפורמט של כל המק"טים הציבוריים, עם גודל דף "2".
התוצאות מחולקות לדפים, ובכל דף מופיעים 50 מחירים כברירת מחדל. התגובה כוללת nextPageToken
, שאפשר להשתמש בו כדי לקבל את דף התוצאות הבא. כדי לשלוף את המקבץ הבא, צריך להגדיר
pageToken=PAGE_TOKEN
.
כדי לצמצם את מספר התוצאות בדף, צריך להגדיר
pageSize=PAGE_SIZE
. אחרי שכל הפריטים מוצגים, לא מוחזר אף טוקן.
{ "prices": [ { "name": "skus/0000-9B70-F099/price", "currencyCode": "USD", "valueType": "rate", "rate": { "tiers": [ { "startAmount": { "value": "0" }, "listPrice": { "currencyCode": "USD", "nanos": 690000000 } } ], "unitInfo": { "unit": "h", "unitDescription": "hour", "unitQuantity": { "value": "1" } }, "aggregationInfo": { "level": "LEVEL_ACCOUNT", "interval": "INTERVAL_MONTHLY" } } }, { "name": "skus/0002-17F9-0731/price", "currencyCode": "USD", "valueType": "rate", "rate": { "tiers": [ { "startAmount": { "value": "0" }, "listPrice": { "currencyCode": "USD" } }, { "startAmount": { "value": "1" }, "listPrice": { "currencyCode": "USD", "nanos": 390000000 } }, { "startAmount": { "value": "1024" }, "listPrice": { "currencyCode": "USD", "nanos": 340000000 } } ], "unitInfo": { "unit": "GiBy.mo", "unitDescription": "gibibyte month", "unitQuantity": { "value": "1" } }, "aggregationInfo": { "level": "LEVEL_ACCOUNT", "interval": "INTERVAL_MONTHLY" } } } ], "nextPageToken": "1234alphanumericCode" }
קבלת המחיר של מק"ט ציבורי
בדוגמה הבאה מופיעה בקשה לקבלת המחיר של מק"ט שגלוי לכולם. אפשר לראות רשימה מלאה של מזהי המק"טים של Google Cloud בדף המק"טים.
אין צורך בהרשאות IAM ספציפיות כדי לשלוח את קריאת ה-API הזו.
אלה הנתונים שצריך להחליף לפני שמשתמשים בדוגמה:
- API_KEY: מפתח ה-API של Google Cloud.
- SKU_ID: מזהה המק"ט, שאותו אפשר לקבל באמצעות ה-method
skus.list
. המזהה הוא המחרוזת שבאה אחרי המזהה שלskus/
. - CURRENCY: (אופציונלי) קוד המטבע ISO-4217 של המחיר. אם לא מציינים זאת, המחיר הוא באותו מטבע שמוגדר בחשבון לחיוב ב-Cloud.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/price?key=API_KEY¤cyCode=CURRENCY
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
"https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/price?key=API_KEY¤cyCode=CURRENCY"
PowerShell
מריצים את הפקודה הבאה:
$headers = @{ }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/price?key=API_KEY¤cyCode=CURRENCY" | Select-Object -Expand Content
0012-B7F2-DD14
.
{ "name": "skus/0012-B7F2-DD14/price", "currencyCode": "USD", "valueType": "rate", "rate": { "tiers": [ { "startAmount": { "value": "0" }, "listPrice": { "currencyCode": "USD", "nanos": 1397000 } } ], "unitInfo": { "unit": "GiBy.h", "unitDescription": "gibibyte hour", "unitQuantity": { "value": "1" } }, "aggregationInfo": { "level": "ACCOUNT", "interval": "MONTHLY" } } }
קבלת מידע שספציפי לחשבון לחיוב ב-Cloud
בדוגמאות הבאות מופיעים קריאות לשליחה ל-API שמחזירות מידע שספציפי לחשבון שלכם לחיוב ב-Cloud, כמו מק"טים ספציפיים או פרטי תמחור שעשויים להיות חלק מהחוזה עם המחירים המותאמים אישית שלכם.
בהתאם למשאב ה-API שבו אתם משתמשים, צריכות להיות לכם ההרשאות הבאות בחשבון לחיוב ב-Cloud:
כדי לקבל מידע על שירותים באמצעות
billingAccounts.services
, צריך:billing.billingAccountServices.get
billing.billingAccountServices.list
כדי לקבל מידע על מק"טים באמצעות
billingAccounts.skus
, צריך:billing.billingAccountSkus.get
billing.billingAccountSkus.list
כדי לקבל מידע על קבוצות מק"טים באמצעות
billingAccounts.skugroups
, צריך:billing.billingAccountSkuGroups.get
billing.billingAccountSkuGroups.list
כדי לקבל מידע על מק"טים שכלולים בקבוצות מק"ט באמצעות
billingAccounts.skugroups.skus
, צריך:billing.billingAccountSkuGroupSkus.get
billing.billingAccountSkuGroupSkus.list
כדי לקבל מידע על מחירי מק"טים באמצעות
billingAccounts.skus.price
, צריך:billing.billingAccountPrice.get
אם שולחים קריאה ל-API באמצעות חשבון שירות, לחשבון השירות צריכות להיות ההרשאות.
אלה התפקידים המוגדרים מראש שיש להם את ההרשאות הנדרשות לקבלת מידע שספציפי לחשבון שלכם לחיוב ב-Cloud:
- אדמין של חשבון לחיוב
- צפייה בחשבון לחיוב
קבלת רשימה של קבוצות מק"טים של החשבון לחיוב ב-Cloud
אם יש לכם מחירים שמסוכמים בחוזה עם Google Cloud, יכול להיות שהחוזה מתייחס לקבוצות מק"טים שמכילות מק"טים מקטגוריה ספציפית. לדוגמה, קבוצת המק"טים של BigQuery כוללת מק"טים לניתוח ולאחסון של BigQuery במיקומים שונים.
בדוגמה הבאה מוצגת רשימה של קבוצות המק"טים שזמינות לחשבון לחיוב ב-Cloud.
כדי לשלוח את הקריאה הזו ל-API, אתם צריכים את ההרשאה billing.billingAccountSkuGroups.list
ב-IAM בחשבון לחיוב ב-Cloud.
אלה הנתונים שצריך להחליף לפני שמשתמשים בדוגמה:
- BILLING_ACCOUNT_ID: מזהה החשבון לחיוב ב-Cloud.
- PAGE_SIZE (אופציונלי): המספר המקסימלי של קבוצות מק"טים שצריך להחזיר. ברירת המחדל היא 50 והערך המקסימלי הוא 5,000.
- PAGE_TOKEN (אופציונלי): הטוקן של הדף שנמצא ב-
nextPageToken
בתגובה.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content
התגובה היא רשימה של קבוצות מק"טים, בפורמט הבא.
התוצאות מחולקות לדפים, ומוגבלות ל-50 קבוצות מק"טים בכל דף. התגובה כוללת nextPageToken
, שאפשר להשתמש בו כדי לקבל את דף התוצאות הבא. כדי לאחזר את המקבץ הבא, צריך להגדיר
pageToken=PAGE_TOKEN
.
כדי לצמצם את מספר המק"טים בדף, צריך להגדיר
pageSize=PAGE_SIZE
. אחרי שכל הפריטים מוצגים, לא מוחזר אף אסימון.
{ "billingAccountSkuGroups": [ { "name": "billingAccounts/012345-567890-ABCDEF/skuGroups/001234-group-id-1", "displayName": "SKU group name 1" }, { "name": "billingAccounts/012345-567890-ABCDEF/skuGroups/0045657-group-id-2", "displayName": "SKU group name 2" }, ... "nextPageToken": "A1234-alphanumeric-page-token" }
קבלת רשימת מק"טים בקבוצת מק"טים של החשבון לחיוב ב-Cloud
בדוגמה הבאה מקבלים רשימה של המק"טים בקבוצת מק"טים שעשויה להיות חלק מחוזה התמחור המותאם אישית שלכם.
כדי לשלוח את הקריאה הזו ל-API, אתם צריכים את ההרשאה billing.billingAccountSkuGroupSkus.list
ב-IAM בחשבון לחיוב ב-Cloud.
אלה הנתונים שצריך להחליף לפני שמשתמשים בדוגמה:
- SKU_GROUP_ID: המזהה של קבוצת המק"טים, שניתן לקבל באמצעות שיטת
billingAccount.skuGroups.list method
. - BILLING_ACCOUNT_ID: מזהה החשבון לחיוב ב-Cloud.
- PAGE_SIZE (אופציונלי): מספר קבוצות המק"טים שיש להחזיר. ערך ברירת המחדל הוא 5,000.
- PAGE_TOKEN (אופציונלי): הטוקן של הדף שנמצא ב-
nextPageToken
בתגובה.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups/SKU_GROUP_ID/skus?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups/SKU_GROUP_ID/skus?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups/SKU_GROUP_ID/skus?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content
בדוגמה הבאה מופיעים 2 המק"טים הראשונים של קבוצת המק"ט Network Data Transfer
, עם המזהה 28934b47-792e-4afa-a025-7720d410482f
.
התוצאות מחולקות לדפים, ומוגבלות ל-5,000 קבוצות מק"טים בכל דף. התגובה כוללת nextPageToken
, שאפשר להשתמש בו כדי לקבל את דף התוצאות הבא. כדי לאחזר את המקבץ הבא, צריך להגדיר
pageToken=PAGE_TOKEN
.
כדי לצמצם את מספר המק"טים בדף, צריך להגדיר
pageSize=PAGE_SIZE
. אחרי שכל הפריטים מוצגים, לא מוחזר אף אסימון.
{ "billingAccountSkuGroupSkus": [ { "name": "billingAccounts/12345-ABCDE-EXAMPLE/skuGroups/28934b47-792e-4afa-a025-7720d410482f/skus/0009-6F35-3126", "skuId": "0009-6F35-3126", "displayName": "Network Internet Data Transfer from EMEA to Seoul", "service": "9662-B51E-5089", "productTaxonomy": { "taxonomyCategories": [ { "category": "GCP" }, { "category": "Network" }, { "category": "Data Transfer" }, { "category": "Cloud SQL" }, { "category": "Premium" } ] }, "geoTaxonomy": { "type": "REGIONAL", "regionalMetadata": { "region": { "region": "europe-west1" } } } }, { "name": "billingAccounts/12345-ABCDE-EXAMPLE/skuGroups/28934b47-792e-4afa-a025-7720d410482f/skus/000B-47CC-2924", "skuId": "000B-47CC-2924", "displayName": "API Gateway Network Internet Data Transfer Intercontinental from/to Oceania", "service": "36A9-155B-23F0", "productTaxonomy": { "taxonomyCategories": [ { "category": "GCP" }, { "category": "Network" }, { "category": "Data Transfer" }, { "category": "API Gateway" }, { "category": "Premium" } ] }, "geoTaxonomy": {} } ], "nextPageToken": "alphanumeric-nextPageToken" }
קבלת המחירים של כל המק"טים של Google Cloud בחשבון לחיוב ב-Cloud
אלה הנתונים שצריך להחליף לפני שמשתמשים בדוגמה:
- SKU_ID: המזהה של המק"ט הספציפי שרוצים לקבל את המחיר שלו. כדי לקבל את המחירים של כל המק"טים, משתמשים ב-"-".
- API_KEY: מפתח ה-API של Google Cloud.
- PAGE_SIZE (אופציונלי): מספר השירותים שצריך להחזיר. ערך ברירת המחדל הוא 50.
- PAGE_TOKEN (אופציונלי): טוקן הדף שקיבלתם מ-
nextPageToken
בתגובה קודמת.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/prices?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/prices?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/prices?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content
התשובה כוללת רשימה של מזהי מק"טים והמחירים שלהם, כולל מק"טים שזמינים רק לחשבון שלכם לחיוב ב-Cloud, וגם מידע על התמחור של כל מק"ט. בדוגמה הבאה מוצג הפורמט של כל המק"טים, עם גודל דף "2".
התוצאות מחולקות לדפים, ובכל דף מופיעים 50 מחירים כברירת מחדל. התגובה כוללת nextPageToken
, שאפשר להשתמש בו כדי לקבל את דף התוצאות הבא. כדי לאחזר את המקבץ הבא, צריך להגדיר
pageToken=PAGE_TOKEN
.
כדי לשנות את מספר התוצאות בדף, צריך להגדיר
pageSize=PAGE_SIZE
. אחרי שכל הפריטים מוצגים, לא מוחזר אף אסימון.
{ "billingAccountPrices": [ { "name": "billingAccounts/01ABCD-EFGH23-UVWXYZ/skus/0000-9B70-F099/price", "currencyCode": "USD", "valueType": "rate", "rate": { "tiers": [ { "startAmount": { "value": "0" }, "listPrice": { "currencyCode": "USD", "nanos": 690000000 }, "contractPrice": { "currencyCode": "USD", "nanos": 690000000 }, "effectiveDiscountPercent": { "value": "0" } } ], "unitInfo": { "unit": "h", "unitDescription": "hour", "unitQuantity": { "value": "1" } }, "aggregationInfo": { "level": "LEVEL_ACCOUNT", "interval": "INTERVAL_MONTHLY" } }, "priceReason": { "type": "default-price", "defaultPrice": {} } }, { "name": "billingAccounts/01ABCD-EFGH23-UVWXYZ/skus/0002-17F9-0731/price", "currencyCode": "USD", "valueType": "rate", "rate": { "tiers": [ { "startAmount": { "value": "0" }, "listPrice": { "currencyCode": "USD" }, "contractPrice": { "currencyCode": "USD" }, "effectiveDiscountPercent": { "value": "0" } }, { "startAmount": { "value": "1" }, "listPrice": { "currencyCode": "USD", "nanos": 390000000 }, "contractPrice": { "currencyCode": "USD", "nanos": 390000000 }, "effectiveDiscountPercent": { "value": "0" } }, { "startAmount": { "value": "1024" }, "listPrice": { "currencyCode": "USD", "nanos": 340000000 }, "contractPrice": { "currencyCode": "USD", "nanos": 340000000 }, "effectiveDiscountPercent": { "value": "0" } } ], "unitInfo": { "unit": "GiBy.mo", "unitDescription": "gibibyte month", "unitQuantity": { "value": "1" } }, "aggregationInfo": { "level": "LEVEL_ACCOUNT", "interval": "INTERVAL_MONTHLY" } }, "priceReason": { "type": "default-price", "defaultPrice": {} } } ], "nextPageToken": "1234alphanumericCode" }
קבלת מחירי מק"טים של החשבון לחיוב ב-Cloud
בדוגמה הבאה מקבלים את המחיר שמשלמים על מק"ט. אם המק"ט הוא חלק מחוזה עם מחירים מוסכמים בהתאמה אישית, התגובה כוללת מידע על ההנחה במחיר המחירון.
כדי לשלוח את הקריאה הזו ל-API, אתם צריכים את ההרשאה billing.billingAccountPrice.get
ב-IAM בחשבון לחיוב ב-Cloud.
אלה הנתונים שצריך להחליף לפני שמשתמשים בדוגמה:
- SKU_ID: מזהה המק"ט, שאותו אפשר לקבל באמצעות ה-method
billingAccounts.skus
. המזהה הוא המחרוזת שבאה אחרי המזהה שלskus/
. - BILLING_ACCOUNT_ID: מזהה החשבון לחיוב ב-Cloud.
- CURRENCY: (אופציונלי) קוד המטבע ISO-4217 של המחיר. אם לא מציינים זאת, המחיר הוא באותו מטבע שמוגדר בחשבון לחיוב ב-Cloud.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/price?currencyCode=CURRENCY
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/price?currencyCode=CURRENCY"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/price?currencyCode=CURRENCY" | Select-Object -Expand Content
priceReason
.
בדוגמה הבאה מופיעים פרטי התמחור של מזהה המק"ט 0012-B7F2-DD14
. בדוגמה הזו, לחשבון לחיוב ב-Cloud יש מחירים שמוסכמים בחוזה, אבל התשלום למק"ט הזה הוא לפי מחיר המחירון.
{ "name": "billingAccounts/015978-D9414D-B80267/skus/0012-B7F2-DD14/price", "currencyCode": "USD", "valueType": "rate", "rate": { "tiers": [ { "startAmount": { "value": "0" }, "listPrice": { "currencyCode": "USD", "nanos": 1270000 }, "contractPrice": { "currencyCode": "USD", "nanos": 1270000 } } ], "unitInfo": { "unit": "GiBy.h", "unitDescription": "gibibyte hour", "unitQuantity": { "value": "1" } }, "aggregationInfo": { "level": "ACCOUNT", "interval": "MONTHLY" } }, "priceReason": { "type": "default-price", "defaultPrice": {} } }