Obtenir des informations sur la tarification Google Cloud Platform

Cette page explique comment utiliser l'API Cloud Billing Catalog pour :

  • obtenir la liste de tous les services publics, y compris la liste de métadonnées correspondant à chaque service ;
  • obtenir la liste de tous les SKU publics au sein d'un service, y compris ce qui suit :
    • Description lisible du SKU
    • Prix public du SKU
    • Régions où le SKU est disponible à l'achat
    • Informations de classification sur le SKU

Avant de commencer

Une clé API est nécessaire pour appeler l'API Cloud Billing Catalog. Consultez la page sur l'utilisation des clés API pour en savoir plus à leur sujet.

Répertorier les services publics du catalogue

Au cours de cette étape, vous allez obtenir la liste de tous les services publics, ainsi que les métadonnées pertinentes pour chaque service.

API

L'extrait de code suivant répertorie tous les services publics du catalogue :

Requête :

GET https://cloudbilling.googleapis.com/v1/services?key=API_KEY

Réponse :

{
  "services": [
    {
      "name": "[SERVICE_NAME]",
      "serviceId": "[SERVICE_ID]",
      "displayName": "[DISPLAY_NAME]",
    },
    [...]
  ]
}

Où :

  • [SERVICE_NAME] est le nom de la ressource pour le service.
  • [SERVICE_ID] est l'identifiant du service.
  • [DISPLAY_NAME] est le nom lisible à afficher pour le service.

Obtenir la liste des SKU pour un service

API

L'extrait de code suivant répertorie les SKU du catalogue pour le service spécifié :

Requête :

GET https://cloudbilling.googleapis.com/v1/services/SERVICE_ID/skus?key=API_KEY

Où :

  • SERVICE_ID est l'identifiant du service parent.

Réponse :

{
  "skus": [
    {
        "name": "[SKU_NAME]",
        "skuId": "[SKU_ID]",
        "description": "[SKU_DESCRIPTION]",
        "category": {
            "serviceDisplayName": "[SVC_DISPLAY_NAME]",
            "resourceFamily": "[FAMILY]",
            "resourceGroup": "[GROUP]",
            "usageType": "[USAGE]",
        },
        "serviceRegions": [
          "[REGION]"
        ],
        "pricingInfo": [
          {
              "effectiveTime": "[TIME]",
              "summary": "[SUMMARY]",
              "pricingExpression": {
                  "usageUnit": "[UNIT]",
                  "usageUnitDescription": "[UNIT_DESCRIPTION]",
                  "displayQuantity": [DISPLAY_QUANTITY],
                  "tieredRates": [
                    {
                        "startUsageAmount": [START_AMOUNT],
                        "unitPrice": {
                            "currencyCode": "[CURRENCY_CODE]",
                            "units": [UNITS],
                            "nanos": [NANOS],
                        },
                    }
                  ],
              },
              "aggregationInfo": {
                  "aggregationLevel": enum("[AGGREGATION_LEVEL]"),
                  "aggregationInterval": enum("[AGGREGATION_INTERVAL]"),
                  "aggregationCount": [AGGREGATION_COUNT],
              },
              "currencyConversionRate": [CONVERSION_RATE],
          }
        ],
        "serviceProviderName": "[SERVICE_PROVIDER]",
    }
  ]
}

Où :

  • [SKU_NAME] est le nom de la ressource pour le SKU au format services/{SERVICE_ID}/skus/{SKU_ID}.
  • [SKU_ID] est l'identifiant unique du SKU.
  • [SKU_DESCRIPTION] est une description, dans un format lisible, du SKU.
  • [SVC_DISPLAY_NAME] est le nom à afficher pour le service auquel appartient le SKU.
  • [FAMILY] est le type de produit auquel se réfère le SKU. Par exemple, "Compute", "Storage", "Network", etc.
  • [GROUP] est une classification de groupe pour les SKU associés. Par exemple, "RAM, "GPU", "Prediction", etc.
  • [USAGE] représente la façon dont le SKU est consommé. Par exemple, "OnDemand, "Preemptible, "Commit1Mo", "Commit1Yr", etc.
  • [REGION] est la liste des régions de service dans lesquelles le SKU est proposé. Par exemple, "asia-east1".
  • [TIME] est un horodatage au format 2014-10-02T15:01:23.045123456Z, qui représente l'heure à partir de laquelle cette tarification est applicable.
  • [SUMMARY] est un résumé, dans un format lisible, des informations tarifaires.
  • [UNIT] est la forme abrégée de l'unité d'utilisation dans laquelle la tarification est spécifiée. Lorsque par exemple usageUnit est défini sur "GiBy", cela signifie que l'utilisation est spécifiée en gibioctets ("Gibibytes").
  • [UNIT_DESCRIPTION] est l'unité d'utilisation exprimée dans un format lisible, par exemple, "Gibibyte".
  • [DISPLAY_QUANTITY] correspond au nombre recommandé d'unités pour afficher les informations tarifaires. Il est recommandé de respecter le format suivant pour afficher les informations tarifaires : (unitPrice * displayQuantity) per displayQuantity usageUnit. Ce champ n'affecte pas la formule de calcul tarifaire et n'est utilisé qu'à des fins d'affichage. Par exemple, pour un prix unitaire (unitPrice) de "0,0001 USD", une unité d'utilisation (usageUnit) définie sur "GB" et un nombre d'unités (displayQuantity) de "1000", alors la méthode recommandée pour afficher les informations tarifaires est "0,10 USD pour 1 000 Go".
  • [START_AMOUNT] signifie que l'utilisation n'est facturée au tarif indiqué qu'après que cette quantité a été consommée. Par exemple, une quantité d'utilisation de départ (startUsageAmount) de 10 signifie que l'utilisation sera facturée au prix défini ci-dessous après les 10 premières unités d'utilisation (usage_units).
  • [CURRENCY_CODE] est le code de devise à trois lettres défini dans la norme ISO 4217.
  • [UNITS] représente les unités entières du montant. Par exemple, si currencyCode est "USD", alors une unité entière correspond à un dollar américain.
  • [NANOS] est le nombre de nano-unités (10^-9) du montant. La valeur doit être comprise entre -999 999 999 et +999 999 999 inclus. Si les unités sont positives, les nano-unités doivent être positives ou nulles. Si les unités sont nulles, les nano-unités peuvent être positives, nulles ou négatives. Si les unités sont négatives, les nano-unités doivent être négatives ou nulles. Par exemple, -1,75 $ correspond à units=-1 et nanos=-750,000,000.
  • [AGGREGATION_LEVEL] est le niveau auquel l'utilisation est agrégée pour calculer le coût. Les valeurs valides sont ACCOUNT, PROJECT et AGGREGATION_LEVEL_UNSPECIFIED.
  • [AGGREGATION_INTERVAL] est l'intervalle auquel l'utilisation est agrégée pour calculer le coût. Les valeurs valides sont DAILY, MONTHLY et AGGREGATION_INTERVAL_UNSPECIFIED.
  • [AGGREGATION_COUNT] est le nombre d'intervalles à cumuler. Par exemple, si le niveau d'agrégation (aggregationLevel) est défini sur "DAILY" et le nombre d'intervalles à cumuler (aggregationCount) sur 14, l'agrégation sera effectuée sur 14 jours.
  • [CONVERSION_RATE] est le taux de conversion utilisé pour les devises, du dollar américain vers la devise spécifiée dans la requête. Si la devise n'est pas spécifiée, la valeur par défaut est 1,0.
  • [SERVICE_PROVIDER] identifie le fournisseur de services. Correspond à "Google" pour les services propriétaires dans Google Cloud Platform.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation sur la facturation Cloud
Besoin d'aide ? Consultez notre page d'assistance.