Saiba como enviar algumas solicitações de orçamento de limite de gastos para a API Cloud Billing Budget.
Para conferir uma lista completa de métodos, consulte a documentação de referência da API REST.
Antes de começar
Faça o seguinte antes de ler este guia:
- Leia a Visão geral da API Cloud Billing Budget.
- Leia os Pré-requisitos da API Cloud Billing Budget.
- Execute as etapas de configuração.
Identificar o ID da conta de faturamento do Cloud
Para todas as chamadas de API do Cloud Billing Budget, você precisa do ID da sua conta do Cloud Billing. Os orçamentos de limite de gastos são limitados a clientes próprios Google Cloud e contas do Cloud Billing. As contas de faturamento de revendedores estão fora do escopo.
- Acesse a página Google Cloud Gerenciar contas de faturamento do console.
- Na guia Suas contas de faturamento, você vê a lista de contas do Cloud Billing por nome e ID. Localize o valor do ID da conta em que você gerencia os orçamentos.

Principais conceitos e limitações do orçamento com limite de gastos
Os orçamentos com limite de gastos usam custos brutos e estimados para acionar alertas e aplicar limites de gastos, bloqueando o uso e o acúmulo de custos até que o limite seja removido.
Restrições do campo de orçamento com limite de gastos
Quando
spendCap
é definido em um orçamento,
restrições de campo estritas
são aplicadas a ele. Consulte os comentários no nível do campo em
Filters,
BudgetAmount,
ThresholdRule,
NotificationsRule,
e
OwnershipScope.
- billing-account-id: os orçamentos de limite de gastos são limitados a clientesGoogle Cloud próprios e contas do Cloud Billing. As contas de faturamento de revendedores estão fora do escopo.
BudgetFiltersprecisa incluir os seguintes parâmetros:- Um orçamento com limite de gastos é restrito a orçamentos com escopo (filtrados) para um único Google Cloud projeto e um único serviço qualificado.
- O período intervalo de tempo de um orçamento de limite de gastos é limitado a um
CalendarPeriodde umMONTH. - Os cálculos de custo para limites de gastos são baseados em custos brutos e não incluem economias e créditos. Defina
creditTypesTreatmentcomoEXCLUDE_ALL_CREDITS. - Outros filtros de orçamento não são compatíveis com limites de gastos e precisam estar vazios, incluindo
resourceAncestors,credit_types,subaccountselabels.
O
BudgetAmountprecisa usar umspecifiedAmount. Na entrada,currencyCodeé opcional. Se especificado ao criar um orçamento, o código da moeda precisa corresponder à moeda da conta do Cloud Billing. OcurrencyCodeé fornecido na saída.ThresholdRulesprecisa conter exatamente três regras com valoresthresholdPercentde0.5,0.8e1.0(50%, 80% e 100%), com umspendBasisdefinido comoCURRENT_SPENDouBASIS_UNSPECIFIED(FORECASTED_SPENDnão é compatível com limites de gastos).NotificationsRuleprecisa definirenableProjectLevelRecipientscomotrue. Todos os outros parâmetrosNotificationsRulenão são compatíveis.OwnershipScopeprecisa ser definido comoOWNERSHIP_SCOPE_UNSPECIFIEDouALL_USERS.BILLING_ACCOUNTnão é compatível com limites de gastos.Ao criar um orçamento de limite de gastos, o parâmetro
inputStateprecisa ser definido comoCONFIGURED.
Como os orçamentos de limite de gastos ajudam você a controlar os gastos
Cálculos de gastos mais rápidos usando custos estimados: para uma aplicação mais rápida de um limite de gastos, os orçamentos de limite de gastos usam custos brutos e estimados para acionar alertas e aplicar o limite de gastos. Os custos estimados são calculados com base no preço de tabela dos serviços e não incluem economias e créditos.
Pausa automática do uso e do acúmulo de custos quando o limite de gastos é acionado: no projeto especificado, quando os custos de uso brutos e estimados do serviço específico excedem o valor da meta de orçamento, o limite de gastos é acionado e aplicado pelo restante do período orçamentário. No orçamento, o parâmetro
outputStateestá definido comoENFORCED. Enquanto um limite de gastos está em vigor, o seguinte se aplica:- Todo o uso novo do serviço específico no projeto especificado é pausado, incluindo o uso sob demanda, pagamento por uso e coberto por compromissos, como descontos por compromisso de uso (CUDs) e Capacidade de Processamento Provisionada (PT).
- Todas as solicitações em andamento do serviço especificado são processadas até a conclusão, com cobranças acumuladas conforme aplicável.
- Os limites de gastos não pausam nenhum uso fixo e contínuo associado a recursos permanentes (como serviços de computação e armazenamento), que permanecem ativos e continuam acumulando cobranças.
- Importante:enquanto estiver em um estado aplicado, não é possível editar as configurações de um orçamento de limite de gastos nem excluir o orçamento. Antes de editar ou excluir um orçamento aplicado, é necessário suspender manualmente o limite de gastos.
Suspenda um limite de gastos aplicado para restaurar os serviços e os gastos: quando um limite de gastos é aplicado, o uso do serviço específico no projeto especificado é bloqueado até que o limite seja suspenso. É possível suspender um limite de gastos das seguintes maneiras:
Remover automaticamente um limite de gastos: um limite de gastos aplicado é removido automaticamente no início do próximo período de orçamento (normalmente, o primeiro dia do mês seguinte). Quando um limite de gastos é suspenso automaticamente, o valor gasto do orçamento é redefinido para zero, o estado do limite de gastos é redefinido para
CONFIGURED, e os serviços especificados são desbloqueados, restaurando a função normal das chamadas de API.Remover manualmente um limite de gastos: se você precisar reverter um bloqueio de uso durante o mesmo período de orçamento em que o limite de gastos está sendo aplicado, edite o orçamento para remover manualmente o limite de gastos. Isso tem os seguintes resultados:
- Aumentar manualmente um limite de gastos restaura a função normal das chamadas de API.
- Se você remover manualmente o limite de gastos definindo o estado do limite de gastos como
AWAITING_NEXT_PERIOD, ele não será acionado novamente pelo restante do período do orçamento, a menos que você edite o orçamento para aumentar o valor do limite de gastos e definainputStatecomoCONFIGURED.
Depois que um limite de gastos é removido, os serviços podem levar até uma hora para voltar ao funcionamento normal.
Redefinição automática dos orçamentos de limite de gastos: no início do próximo período de orçamento (normalmente o primeiro dia do mês seguinte), todos os orçamentos de limite de gastos são redefinidos automaticamente, definindo o valor de gasto bruto e estimado como zero e o estado do limite de gastos como
CONFIGURED.
Limitação de cota: cada conta do Cloud Billing pode ter vários milhares de orçamentos associados a ela por vez. Consulte Cotas e limites para ver os limites atuais e outras informações.
Como chamar a API
Os exemplos a seguir mostram como enviar algumas solicitações à API Cloud Billing Budget para gerenciar orçamentos de limite de gastos.
Criar um orçamento de limite de gastos
Esse método de API cria um orçamento de limite de gastos do Cloud Billing aplicado a um único projeto e a um serviço qualificado.
REST
Este exemplo mostra como criar um orçamento de limite de gastos para o uso do serviço da API Gemini em um projeto específico. O orçamento está com escopo (filtrado) para um único projeto do Google Cloud que você especifica, um único serviço qualificado e definido para um valor de orçamento mensal de US $100.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
projects/budget-scope-project-id: o Google Cloud ID do projeto que você quer definir como um escopo de orçamento (budgetFilter).services/eligible-service_id: um dos IDs de serviço qualificados que você quer definir como um escopo de orçamento (budgetFilter). No exemplo, estamos usando o ID de serviçoAEFD-7695-64FApara o serviço da API Gemini.- billing-account-id: o ID da conta de faturamento do Google Cloud a que este orçamento é aplicado. Os orçamentos de limite de gastos são limitados a clientes próprios Google Cloud e contas do Cloud Billing. As contas de faturamento de revendedor estão fora do escopo.
- api-user-project-id: o projeto Google Cloud em que a API Cloud Billing Budget está ativada.
Método HTTP e URL:
POST https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets
Corpo JSON da solicitação:
{
"displayName": "My Gemini API Spend Cap",
"budgetFilter": {
"projects": [
"projects/budget-scope-project-id"
],
"services": [
"services/AEFD-7695-64FA"
],
"creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
"calendarPeriod": "MONTH"
},
"amount": {
"specifiedAmount": {
"units": "100",
"nanos": 0
}
},
"thresholdRules": [
{ "thresholdPercent": 0.5 },
{ "thresholdPercent": 0.8 },
{ "thresholdPercent": 1.0 }
],
"notificationsRule": {
"enableProjectLevelRecipients": true
},
"spendCap": {
"inputState": "CONFIGURED"
}
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
"displayName": "My Gemini API Spend Cap",
"budgetFilter": {
"projects": [
"projects/123456789"
],
"services": [
"services/AEFD-7695-64FA"
],
"creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
"calendarPeriod": "MONTH"
},
"amount": {
"specifiedAmount": {
"currencyCode": "USD",
"units": "100"
}
},
"thresholdRules": [
{
"thresholdPercent": 0.5,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 0.8,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 1,
"spendBasis": "CURRENT_SPEND"
}
],
"notificationsRule": {
"enableProjectLevelRecipients": true
},
"etag": "1790365289674138",
"spendCap": {
"outputState": "CONFIGURED"
}
}
Suspender um limite de gastos usando PATCH
Use o método de API PATCH para modificar um orçamento de limite de gastos do Cloud Billing e remover manualmente um limite de gastos aplicado.
REST
Este exemplo mostra como aumentar manualmente um limite de gastos ENFORCED em um orçamento atualizando o parâmetro
SpendCap.inputState para AWAITING_NEXT_PERIOD.
Importante:quando o spend_cap.output_state é ENFORCED, primeiro é necessário remover o limite de gastos enviando uma solicitação UpdateBudget para modificar o spend_cap.input_state, como definir o input_state como AWAITING_NEXT_PERIOD, o que vai remover o limite. Se você tentar modificar qualquer outro campo de orçamento enquanto ele estiver em um estado aplicado, a solicitação de atualização vai falhar com FAILED_PRECONDITION.
Para chamar esse método, você precisa do budget-id do orçamento que quer atualizar. Receba o ID do orçamento da saída createBudget, ao criar o orçamento, ou da saída listBudgets, se você listar todos os seus orçamentos.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- billing-account-id: o ID da conta de faturamento do Google Cloud a que este orçamento é aplicado. Os orçamentos de limite de gastos são limitados a clientes próprios Google Cloud e contas do Cloud Billing. As contas de faturamento de revendedor estão fora do escopo.
- budget-id: o ID do orçamento que você quer atualizar.
- api-user-project-id: o projeto Google Cloud em que a API Cloud Billing Budget está ativada.
Método HTTP e URL:
PATCH https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id?updateMask=spendCap.inputState
Corpo JSON da solicitação:
{
"spendCap": {
"inputState": "AWAITING_NEXT_PERIOD"
}
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
"displayName": "My Gemini API Spend Cap",
"budgetFilter": {
"projects": [
"projects/123456789"
],
"services": [
"services/AEFD-7695-64FA"
],
"creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
"calendarPeriod": "MONTH"
},
"amount": {
"specifiedAmount": {
"currencyCode": "USD",
"units": "100"
}
},
"thresholdRules": [
{
"thresholdPercent": 0.5,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 0.8,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 1,
"spendBasis": "CURRENT_SPEND"
}
],
"notificationsRule": {
"enableProjectLevelRecipients": true
},
"etag": "1790365289674138",
"spendCap": {
"outputState": "AWAITING_NEXT_PERIOD",
"reconciling": true
}
}
Atualizar um orçamento com limite de gastos usando PATCH
Use esse método de API para modificar um orçamento de limite de gastos do Cloud Billing para alterar o valor de orçamento e os filtros de orçamento (escopo do orçamento).
REST
Nesta amostra, apresentamos como atualizar um orçamento de limite de gastos para mudar o
valor do orçamento. Se o
estado do limite de gastos for AWAITING_NEXT_PERIOD, este exemplo também vai mostrar como redefinir um limite de gastos aumentado atualizando o parâmetro
SpendCap.inputState para CONFIGURED.
Para chamar esse método, você precisa do budget-id do orçamento que quer atualizar. Receba o ID do orçamento da saída createBudget, ao criar o orçamento, ou da saída listBudgets, se você listar todos os seus orçamentos.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
projects/budget-scope-project-id: o Google Cloud ID do projeto que você quer definir como um escopo de orçamento (budgetFilter).services/eligible-service_id: um dos IDs de serviço qualificados que você quer definir como um escopo de orçamento (budgetFilter). No exemplo, estamos usando o ID de serviçoAEFD-7695-64FApara o serviço da API Gemini.- billing-account-id: o ID da conta de faturamento do Google Cloud a que este orçamento é aplicado. Os orçamentos de limite de gastos são limitados a clientes próprios Google Cloud e contas do Cloud Billing. As contas de faturamento de revendedor estão fora do escopo.
- budget-id: o ID do orçamento que você quer atualizar.
- api-user-project-id: o projeto Google Cloud em que a API Cloud Billing Budget está ativada.
Método HTTP e URL:
PATCH https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id?updateMask=amount.specifiedAmount,spendCap.inputState
Corpo JSON da solicitação:
{
"displayName": "My Gemini API Spend Cap",
"budgetFilter": {
"projects": [
"projects/budget-scope-project-id"
],
"services": [
"services/AEFD-7695-64FA"
],
"creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
"calendarPeriod": "MONTH"
},
"amount": {
"specifiedAmount": {
"units": "500",
"nanos": 0
}
},
"thresholdRules": [
{ "thresholdPercent": 0.5 },
{ "thresholdPercent": 0.8 },
{ "thresholdPercent": 1.0 }
],
"notificationsRule": {
"enableProjectLevelRecipients": true
},
"spendCap": {
"inputState": "CONFIGURED"
}
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
"displayName": "My Gemini API Spend Cap",
"budgetFilter": {
"projects": [
"projects/123456789"
],
"services": [
"services/AEFD-7695-64FA"
],
"creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
"calendarPeriod": "MONTH"
},
"amount": {
"specifiedAmount": {
"currencyCode": "USD",
"units": "500"
}
},
"thresholdRules": [
{
"thresholdPercent": 0.5,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 0.8,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 1,
"spendBasis": "CURRENT_SPEND"
}
],
"notificationsRule": {
"enableProjectLevelRecipients": true
},
"etag": "1790365289674138",
"spendCap": {
"outputState": "CONFIGURED"
}
}
Listar orçamentos
Nesse método de API, todos os orçamentos definidos para uma determinada Conta de faturamento do Cloud são listados.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- billing-account-id: ID da conta de faturamento do Google Cloud a que os orçamentos são aplicados. Os orçamentos de limite de gastos são limitados a clientes próprios Google Cloud e contas do Cloud Billing. As contas de faturamento de revendedor estão fora do escopo.
- project-id: o projeto Google Cloud em que a API Cloud Billing Budget está ativada.
Método HTTP e URL:
GET https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"budgets": [
{
"name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
"displayName": "Gemini API Spend Cap in My Project",
"budgetFilter": {
"projects": [
"projects/987654321"
],
"services": [
"services/AEFD-7695-64FA"
],
"creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
"calendarPeriod": "MONTH"
},
"amount": {
"specifiedAmount": {
"currencyCode": "USD",
"units": "500"
}
},
"thresholdRules": [
{
"thresholdPercent": 0.5,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 0.8,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 1,
"spendBasis": "CURRENT_SPEND"
}
],
"notificationsRule": {
"enableProjectLevelRecipients": true
},
"allUpdatesRule": {},
"etag": "17fc365289f74138c",
"spendCap": {
"outputState": "ENFORCED"
}
}
]
}
Receber orçamento
Nesse método de API, receba os detalhes de um determinado orçamento.
REST
Para chamar esse método, você precisa do budget-id do orçamento que quer atualizar. Receba o ID do orçamento da saída createBudget, ao criar o orçamento, ou da saída listBudgets, se você listar todos os seus orçamentos.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- billing-account-id: o ID da conta de faturamento do Google Cloud a que este orçamento é aplicado. Os orçamentos de limite de gastos são limitados a clientes próprios Google Cloud e contas do Cloud Billing. As contas de faturamento de revendedor estão fora do escopo.
- budget-id: o ID do orçamento que você quer receber.
- project-id: o projeto Google Cloud em que a API Cloud Billing Budget está ativada.
Método HTTP e URL:
GET https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"name": "billingAccounts/000000-111111-222222/budgets/33333333-4444-5555-6666-777777777777",
"displayName": "Cloud Run Spend Cap in My Project",
"budgetFilter": {
"projects": [
"projects/987654321"
],
"services": [
"services/152E-C115-5142"
],
"creditTypesTreatment": "EXCLUDE_ALL_CREDITS",
"calendarPeriod": "MONTH"
},
"amount": {
"specifiedAmount": {
"currencyCode": "USD",
"units": "450"
}
},
"thresholdRules": [
{
"thresholdPercent": 0.5,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 0.8,
"spendBasis": "CURRENT_SPEND"
},
{
"thresholdPercent": 1,
"spendBasis": "CURRENT_SPEND"
}
],
"notificationsRule": {
"enableProjectLevelRecipients": true
},
"allUpdatesRule": {},
"etag": "c9d6c011f6fa6b5c",
"spendCap": {
"outputState": "CONFIGURED"
}
}
Excluir orçamento
Use esse método de API para excluir um orçamento atual do Faturamento do Cloud.
REST
Para chamar esse método, você precisa do budget-id do orçamento que quer atualizar. Receba o ID do orçamento da saída createBudget, ao criar o orçamento, ou da saída listBudgets, se você listar todos os seus orçamentos.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- billing-account-id: o ID da conta de faturamento do Google Cloud a que este orçamento é aplicado.
- budget-id: o ID do orçamento que você quer excluir.
- project-id: o projeto Google Cloud em que a API Cloud Billing Budget está ativada.
Método HTTP e URL:
DELETE https://billingbudgets.googleapis.com/v1/billingAccounts/billing-account-id/budgets/budget-id
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{}