Usa la API de Cloud Billing Budget

Obtén más información sobre cómo enviar algunas solicitudes simples a la API de presupuesto de Facturación de Cloud.

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

Antes de comenzar

Debes hacer lo siguiente antes de leer esta guía:

  1. Consulta Descripción general de la API de presupuesto de Facturación de Cloud.
  2. Consulta Requisitos previos de la API de presupuesto de Facturación de Cloud.
  3. Realiza los pasos de configuración.

Identifica el ID de la cuenta de Facturación de Cloud

Para cada llamada a la API de presupuesto de Facturación de Cloud, necesitarás tu ID de cuenta de facturación.

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

Captura de pantalla de la página Administrar facturación que muestra la ubicación del ID de tu cuenta de facturación.

Conceptos clave del presupuesto

  • Un presupuesto se puede aplicar a una cuenta de facturación completa o se puede reducir el alcance (filtrar) a través de filtros de presupuesto detallados para supervisar segmentos específicos de tus costos.
  • Un presupuesto que se aplica a una cuenta de facturación completa de Cloud incluye los costos de todos los proyectos de Google Cloud pagados a través de esa cuenta de facturación.
  • Si tienes acceso limitado o nulo a la cuenta de Facturación de Cloud, puedes crear presupuestos de un solo proyecto para los proyectos que te pertenecen. Si eres un usuario a nivel de cuenta de Facturación de Cloud, puedes crear presupuestos de un solo proyecto que no pueden ser modificados por los usuarios a nivel de proyecto con el campo OwnershipScope del presupuesto.
  • Puedes limitar el alcance 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 período del presupuesto. De forma predeterminada, un presupuesto supervisa los costos generados durante un mes calendario. Con el filtro usage_period que está disponible en la API de presupuesto de Facturación de Cloud, puedes configurar el período del presupuesto en CalendarPeriod o CustomPeriod, lo que te permite crear presupuestos para supervisar plazos más allá del mes calendario predeterminado, como un trimestre, un año o un período personalizado que especifiques.
  • Puedes establecer el importe del presupuesto en un total que especifiques o basar el importe del presupuesto en el gasto del período de calendario anterior.
  • Puedes configurar reglas de umbral del presupuesto para activar notificaciones de alerta por correo electrónico. Cuando los costos (costos reales o previstos) excedan un porcentaje de tu presupuesto (según las reglas que establezcas), se envían correos electrónicos de alerta a los destinatarios que especifiques.
  • Puedes configurar las reglas de notificación del presupuesto para especificar los destinatarios de correo electrónico de las alertas de presupuesto y habilitar las notificaciones programáticas con Pub/Sub.
  • Puedes usar temas de Pub/Sub para notificaciones programáticas (por ejemplo, para reenviar tus mensajes de presupuesto a otros medios, como Slack, o automatizar las tareas de administración de costos).

Limitación de cuota: Cada cuenta de Facturación de Cloud individual puede tener varios miles de presupuestos asociados a ella a la vez. Consulta Cuotas y límites para obtener información adicional y los límites actuales.

Llama a la API

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

Mostrar presupuestos

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

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

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

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
    }
  ]
}

Obtén el presupuesto

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

REST

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

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

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 la API crea un presupuesto de Facturación de Cloud aplicado 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 tiene un alcance (filtrado) por un proyecto de Google Cloud que especifiques y establezcas para un período de calendario de un trimestre

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • projects/budget-scope-project-id: el ID del proyecto de Google Cloud que deseas configurar como alcance del presupuesto (budgetFilter).
  • billing-account-id: El ID de la cuenta de Facturación de Google Cloud al que se aplica este presupuesto.
  • api-user-project-id: el proyecto de Google Cloud en el que la API de presupuesto de Facturación de Cloud está habilitada.

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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 presupuesto

Usa este método de la API para modificar un presupuesto existente de Facturación de Cloud para cambiar el importe del presupuesto, los filtros de presupuesto (alcance del presupuesto), el período de presupuesto o las reglas de umbral.

REST

En este ejemplo, se muestra cómo actualizar un presupuesto existente para establecer un alcance (filtro) según el proyecto de Google Cloud que especifiques y cómo actualizar el período del presupuesto desde un mes. a un presupuesto trimestral.

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • projects/budget-scope-project-id: el proyecto de Google Cloud que deseas configurar como alcance del presupuesto (budgetFilter).
  • billing-account-id: El ID de la cuenta de Facturación de Google Cloud al que se aplica este presupuesto.
  • budget-id: el ID del presupuesto que deseas actualizar.
  • api-user-project-id: el proyecto de Google Cloud en el que la API de presupuesto de Facturación de Cloud está habilitada.

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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
}

Borra un presupuesto

Usa este método de la API para borrar un presupuesto existente de Facturación de Cloud.

REST

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

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • billing-account-id: El ID de la cuenta de Facturación de Google Cloud al que se aplica este presupuesto.
  • budget-id: el ID del presupuesto que deseas borrar.
  • project-id: el proyecto de Google Cloud en el que la API de presupuesto de Facturación de Cloud está habilitada.

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{}