Usar la API Budget de Facturación de Cloud

Consulta cómo enviar algunas solicitudes sencillas a la API Cloud Billing Budget.

Para ver una lista completa de los métodos, consulta la documentación de referencia de la API REST o la API RPC.

Antes de empezar

Antes de leer esta guía, debes hacer lo siguiente:

  1. Consulta la descripción general de la API Budget de Facturación de Cloud.
  2. Consulta los requisitos previos de la API Budget de Facturación de Cloud.
  3. Sigue los pasos de configuración.

Identificar el ID de tu cuenta de facturación de Cloud

Para cada llamada a la API Budget de Facturación de Cloud, necesitará su ID de cuenta de facturación de Cloud.

  1. Ve a la Google Cloud página Gestionar cuentas de facturación de la consola.
  2. En la pestaña Mis cuentas de facturación, verá la lista de cuentas de facturación de Cloud por nombre e ID. Busca el ID de la cuenta de facturación de la cuenta en la que gestionarás los presupuestos.

Captura de pantalla de la página Gestionar facturación en la que se muestre la ubicación del ID de tu cuenta de facturación.

Conceptos clave del presupuesto

  • Puedes aplicar un presupuesto a toda una cuenta de facturación o acotarlo (filtrarlo) con filtros de presupuesto detallados para monitorizar segmentos específicos de tus costes.
  • Un presupuesto que se aplica a toda una cuenta de facturación de Cloud incluye los costes de todos los Google Cloud proyectos que paga esa cuenta de facturación.
  • Si tienes acceso limitado o no tienes acceso a la cuenta de Facturación de Cloud, puedes crear presupuestos de un solo proyecto para los proyectos que sean de tu propiedad. Si es un usuario a nivel de cuenta de facturación de Cloud, puede crear presupuestos de un solo proyecto que los usuarios a nivel de proyecto no puedan modificar mediante el campo OwnershipScope del presupuesto.
  • Puedes acotar el ámbito del presupuesto mediante filtros, como un subconjunto de organizaciones, carpetas, proyectos, servicios y otros filtros de presupuesto aplicables a tu cuenta de Facturación de Cloud.
  • Puedes especificar el periodo del presupuesto. De forma predeterminada, un presupuesto monitoriza los costes incurridos durante un mes natural. Con el filtro usage_period, disponible en la API Budget de Cloud Billing, puedes configurar el periodo del presupuesto como CalendarPeriod o CustomPeriod, lo que te permite crear presupuestos para monitorizar periodos que no sean el mes natural predeterminado, como un trimestre, un año o un intervalo de fechas personalizado.
  • Puedes definir el importe del presupuesto como un total que especifiques o basarlo en el gasto del periodo anterior.
  • Puedes definir reglas de umbral de presupuesto para activar notificaciones de alerta por correo electrónico. Cuando los costes (reales o previstos) superen un porcentaje del presupuesto (según las reglas que hayas definido), se enviarán correos de alerta a los destinatarios que especifiques.
  • Puedes definir las reglas de notificación del presupuesto para especificar los destinatarios de correo de las alertas de presupuesto y para habilitar las notificaciones programáticas mediante Pub/Sub.
  • Puede usar temas de Pub/Sub para recibir notificaciones programáticas (por ejemplo, para reenviar los mensajes de su presupuesto a otros medios, como Slack, o para automatizar tareas de gestión de costes).

Limitación de cuota: cada cuenta de facturación de Cloud puede tener varios miles de presupuestos asociados al mismo tiempo. Consulta las cuotas y los límites para ver los límites actuales y obtener más información.

Llamar a la API

En los ejemplos siguientes se muestra cómo enviar algunas solicitudes sencillas a la API Budget de Facturación de Cloud.

Mostrar presupuestos

Este método de API muestra todos los presupuestos disponibles para una cuenta de facturación de Cloud determinada.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • billing-account-id: el ID de la cuenta de facturación de Cloud a la que se aplican los presupuestos.
  • project-id: el proyecto en el que está habilitada la API Budget de Facturación de Cloud. Google Cloud

Método HTTP y URL:

GET https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "budgets": [
   {
      "name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
      "displayName": "Forecasted spend budget with Service Filter",
      "budgetFilter": {
        "projects": [
          "projects/123456789"
        ],
        "services": [
          "services/A1E8-BE35-7EBC"
        ],
        "creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
        "calendarPeriod": "MONTH"
      },
      "amount": {
        "lastPeriodAmount": {}
      },
      "thresholdRules": [
        {
          "thresholdPercent": 0.9,
          "spendBasis": "FORECASTED_SPEND"
        }
      ],
      "allUpdatesRule": {},
      "etag": "c9d6c011f6fa6b5c"
    }
  ]
}

Obtener presupuesto

Este método de API obtiene los detalles de un presupuesto concreto.

REST

Para llamar a este método, necesitas el budget-id del presupuesto que quieras actualizar. Puedes obtener el ID de presupuesto del resultado de createBudget cuando crees el presupuesto o del resultado de listBudgets si enumeras todos tus presupuestos.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • billing-account-id: el ID de la cuenta de facturación de Cloud a la que se aplica este presupuesto.
  • budget-id: el ID del presupuesto que quieres obtener.
  • project-id: el proyecto en el que está habilitada la API Budget de Facturación de Cloud. Google Cloud

Método HTTP y URL:

GET https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
  "displayName": "Forecasted spend budget with Service Filter",
  "budgetFilter": {
    "projects": [
      "projects/123456789"
    ],
    "services": [
      "services/A1E8-BE35-7EBC"
    ],
    "creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
    "calendarPeriod": "MONTH"
  },
  "amount": {
    "lastPeriodAmount": {}
  },
  "thresholdRules": [
    {
      "thresholdPercent": 0.9,
      "spendBasis": "FORECASTED_SPEND"
    }
  ],
  "allUpdatesRule": {},
  "etag": "c9d6c011f6fa6b5c"
}

Crear presupuesto

Este método de API crea un presupuesto de facturación de Cloud que se aplica a la cuenta de facturación de Cloud especificada.

REST

En este ejemplo se muestra cómo crear un presupuesto para una cuenta de facturación de Cloud determinada que esté acotada (filtrada) por un proyecto que especifiques y que se defina para un periodo de tiempo del calendario de un trimestre. Google Cloud

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • projects/budget-scope-project-id: el ID del proyecto Google Cloud que quieras definir como ámbito del presupuesto (budgetFilter).
  • billing-account-id: el ID de la cuenta de facturación de Cloud a la que se aplica este presupuesto.
  • api-user-project-id: el proyecto en el que está habilitada la API Budget de Facturación de Cloud. Google Cloud

Método HTTP y URL:

POST https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets

Cuerpo JSON de la solicitud:

{
  "displayName": "Keep my spending down",
  "budgetFilter": {
    "projects": [
      "projects/budget-scope-project-id"
    ],
    "calendar_period": "QUARTER"
  },
  "amount": {
    "lastPeriodAmount": {}
  },
  "thresholdRules": {
    "thresholdPercent": 0.8,
    "spendBasis": "CURRENT_SPEND"
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
  "displayName": "Keep my spending down",
  "budgetFilter": {
    "projects": [
      "projects/123456789"
    ],
    "creditTypesTreatment": "INCLUDE_ALL_CREDITS",
    "calendar_period": "QUARTER"
  },
  "amount": {
    "lastPeriodAmount": {}
  },
  "thresholdRules": {
    "thresholdPercent": 0.8,
    "spendBasis": "CURRENT_SPEND"
  },
  "allUpdatesRule": {},
  "etag": "f7928d8010160668"
}

Actualizar un presupuesto

Usa este método de la API para modificar un presupuesto de Facturación de Cloud que ya tengas y cambiar el importe del presupuesto, los filtros del presupuesto (ámbito del presupuesto), el periodo del presupuesto o las reglas de umbral.

REST

En este ejemplo se muestra cómo actualizar un presupuesto para definir un ámbito (filtro) por un Google Cloud proyecto que especifiques y cómo cambiar el periodo del presupuesto de mensual a trimestral .

Para llamar a este método, necesitas el budget-id del presupuesto que quieras actualizar. Puedes obtener el ID de presupuesto del resultado de createBudget cuando crees el presupuesto o del resultado de listBudgets si enumeras todos tus presupuestos.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • projects/budget-scope-project-id: el proyecto Google Cloud que quieras definir como ámbito del presupuesto (budgetFilter).
  • billing-account-id: el ID de la cuenta de facturación de Cloud a la que se aplica este presupuesto.
  • budget-id: el ID del presupuesto que quieres actualizar.
  • api-user-project-id: el proyecto en el que está habilitada la API Budget de Facturación de Cloud. Google Cloud

Método HTTP y URL:

PATCH https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id

Cuerpo JSON de la solicitud:

{
  "budget": {
    "displayName": "My fancy budget",
    "budgetFilter": {
      "projects": [
        "projects/budget-scope-project-id"
      ],
      "calendar_period": "QUARTER"
    },
   "amount": {
      "specifiedAmount": {
        "units": 500
      }
    },
    "thresholdRules": {
      "thresholdPercent": 0.8,
      "spendBasis": "CURRENT_SPEND"
    }
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
  "displayName": "My fancy budget",
  "budgetFilter": {
    "projects": [
      "projects/123456789"
    ],
    "creditTypesTreatment": "INCLUDE_ALL_CREDITS",
    "calendar_period": "QUARTER"
  },
  "amount": {
    "specifiedAmount": {
      "units": 500
    }
  },
  "thresholdRules": {
    "thresholdPercent": 0.8,
    "spendBasis": "CURRENT_SPEND"
  },
  "allUpdatesRule": {},
  "etag": "f7928d8010160668"
}

Eliminar un presupuesto

Usa este método de API para eliminar un presupuesto de Facturación de Cloud.

REST

Para llamar a este método, necesitas el budget-id del presupuesto que quieras actualizar. Puedes obtener el ID de presupuesto del resultado de createBudget cuando crees el presupuesto o del resultado de listBudgets si enumeras todos tus presupuestos.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • billing-account-id: el ID de la cuenta de facturación de Cloud a la que se aplica este presupuesto.
  • budget-id: el ID del presupuesto que quieres eliminar.
  • project-id: el proyecto en el que está habilitada la API Budget de Facturación de Cloud. Google Cloud

Método HTTP y URL:

DELETE https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{}