Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Este documento explica como configurar notificações de orçamento programático e anomalia de custo
(pré-lançamento)
usando o
Pub/Sub.
Os orçamentos e as anomalias de custo geralmente são configurados para enviar notificações por e-mail. Se você usa orçamentos ou a detecção de anomalias de custo como uma ferramenta de controle de custos, as notificações por e-mail podem não ser o melhor método para garantir a ação imediata de controle dos custos.
É possível configurar e usar notificações programáticas para automatizar as respostas de controle de custos. Exemplos de respostas automatizadas de controle de custos incluem:
Os orçamentos usam dados estimados do Faturamento do Cloud, que estão sujeitos a
alterações até a finalização da fatura.
Se você definir as políticas da organização
para limitar o compartilhamento de recursos por domínio,
por exemplo, ativando enforceInTransit nos tópicos do Pub/Sub,
poderá encontrar um erro ao tentar configurar ou conectar tópicos do Pub/Sub. Nesse caso, talvez você precise
forçar o acesso à conta
para conectar um tópico do Pub/Sub a um orçamento. Para forçar
o acesso à conta, siga estas etapas:
Remova a política da organização que contém a restrição de domínio
usando um dos seguintes métodos:
Para configurar notificações de orçamento programático, você precisa ter permissões para criar ou modificar orçamentos e tópicos do Pub/Sub. Você precisa de um conjunto diferente de
permissões, dependendo do seu nível de acesso.
Usuários com permissões na conta do Cloud Billing
Apenas usuários com permissões no nível do projeto
(Prévia)
Se a organização usa papéis personalizados
para autenticação, você precisa das seguintes permissões:
pubsub.topics.list
no projeto de destino que contém os tópicos do Pub/Sub
que você quer usar.
Para que papéis personalizados modifiquem um orçamento existente do Cloud Billing e o conectem a um tópico existente do Pub/Sub, é necessário ter as seguintes permissões:
pubsub.topics.list
no projeto de destino que contém os tópicos do Pub/Sub
que você quer usar.
Para receber as permissões necessárias usando funções predefinidas, peça ao administrador para conceder a você uma das seguintes funções predefinidas do IAM do Cloud Billing na sua conta do Cloud Billing:
pubsub.topics.list
no projeto de destino que contém os tópicos do Pub/Sub
que você quer usar.
Para receber as permissões necessárias usando papéis predefinidos, peça ao
administrador para conceder a você um dos seguintes papéis predefinidos
do IAM do Cloud Billing
no projeto:
Para configurar notificações de anomalias programáticas, você precisa ter permissões para criar
ou modificar anomalias e tópicos do Pub/Sub. Você precisa ter
permissões na conta do Cloud Billing.
Usuários com permissões na conta do Cloud Billing (pré-lançamento)
Para receber as permissões necessárias usando papéis predefinidos, peça ao
administrador para conceder a você um dos seguintes papéis predefinidos do
IAM do Cloud Billing
na sua conta do Cloud Billing:
Para configurar notificações de orçamento programático ou anomalias, primeiro você precisa
criar um tópico do Pub/Sub.
Se você já tiver configurado um tópico do Pub/Sub para orçamentos ou anomalias de custo, pule esta etapa.
Selecione um projeto para conter o tópico do Pub/Sub.
Ao configurar tópicos do Pub/Sub para notificações de faturamento, recomendamos
usar um
projeto de administração de FinOps
para conter os tópicos do Pub/Sub relacionados ao faturamento.
Clique em add_boxCriar tópico.
No campo ID do tópico, forneça um nome para o tópico.
Mantenha as configurações padrão de assinatura e criptografia e clique em
Criar.
Conectar seu tópico do Pub/Sub
Para permitir que notificações programáticas recebam mensagens do Pub/Sub
com o status atual do seu orçamento ou anomalia, conecte
seu orçamento ou anomalia ao tópico do Pub/Sub.
Notificações de orçamento
Para conectar um tópico do Pub/Sub a um orçamento do Cloud Billing,
siga estas etapas:
Usuários com permissões na conta do Cloud Billing
Apenas usuários com permissões no nível do projeto
(Prévia)
Faça login na página Orçamentos e alertas no Google Cloud console.
Selecione o projeto em que você quer gerenciar os orçamentos.
Navegue até a seção Faturamento: abra o Google Cloud console
Menu de navegaçãomenu
e selecione Faturamento.
Se for solicitado que você escolha a conta de faturamento que quer visualizar e gerenciar, clique em Ir para a conta de faturamento vinculada para conferir a conta de faturamento vinculada ao projeto selecionado.
A página Visão geral do faturamento é aberta para a conta de faturamento
selecionada.
Na seção Gerenciamento de custos do menu de navegação
Faturamento, selecione Orçamentos e alertas.
Selecione o orçamento que você quer conectar ou crie um novo.
Na seção Ações, em Gerenciar notificações, selecione Conectar um tópico do Pub/Sub a este orçamento.
No campo Projeto, clique em Selecionar um projeto e escolha
o projeto que contém os tópicos do Pub/Sub que você configurou.
Em Selecionar um tópico do Pub/Sub, escolha um tópico existente
ou crie um novo clicando em Criar um tópico.
Se você criar um novo tópico, no campo ID do tópico, forneça um nome
para o tópico e clique em Criar tópico.
Depois de criado, o tópico será selecionado.
Clique em Salvar.
Notificações de anomalias
Para conectar um tópico do Pub/Sub a uma anomalia de custo, siga estas etapas:
Usuários com permissões na conta do Cloud Billing (pré-lançamento)
Faça login na página Anomalias no console do Google Cloud .
No prompt, escolha a conta do Cloud Billing em que você quer
gerenciar anomalias.
A página Anomalias é aberta para a conta de faturamento selecionada.
Clique em settingsGerenciar anomalias.
Insira um valor de Limite de anomalia para Impacto de custo. Esse valor é o limite que aciona as notificações. Se você não fornecer um valor, o limite será definido como zero, e as notificações serão enviadas para todas as anomalias.
Na seção Notificações do Pub/Sub, selecione
Conectar um tópico do Pub/Sub para receber atualizações
programáticas sobre anomalias.
No menu suspenso exibido, selecione o tópico do Pub/Sub
que você quer conectar para receber notificações.
Os tópicos são listados por projeto. Talvez seja necessário mudar o projeto
que você está visualizando para encontrar o tópico que você quer selecionar.
Se você quiser criar um novo tópico, mude para o projeto de sua preferência antes de clicar em Criar um tópico.
Clique em Salvar.
Formato da notificação
As notificações enviadas ao tópico do Pub/Sub são compostas de duas partes:
Atributos: um conjunto de pares de chave-valor com a descrição do evento.
Dados: uma string que contém um objeto JSON com a descrição dos detalhes do alerta de orçamento.
Notificações de orçamento
Atributos
Os atributos são pares de chave-valor incluídos em todas as notificações enviadas pelo Faturamento do Cloud para seu tópico do Pub/Sub. As notificações sempre contêm o seguinte conjunto de pares de chave-valor, independentemente da carga útil.
Nome do atributo
Exemplo
Descrição
billingAccountId
01D4EE-079462-DFD6EC
O identificador da conta de faturamento do Cloud que detém o orçamento.
budgetId
de72f49d-779b-4945-a127-4d6ce8def0bb
O identificador do alerta de orçamento na conta de faturamento do Cloud.
schemaVersion
1.0
A versão do esquema de notificações.
Dados
Os detalhes do alerta de orçamento são retornados em uma string UTF-8 codificada em base64 que contém
um objeto JSON com as seguintes propriedades:
Dados
Exemplo
Descrição
budgetDisplayName
"My Personal Budget"
O nome legível atribuído ao orçamento.
costAmount
140.321
O valor acumulado dos custos. O tipo de custo monitorado depende dos filtros e das configurações do orçamento.
costIntervalStart
"2021-02-01T08:00:00Z"
O início do período de alerta do orçamento. `costAmount` inclui os custos de uso
a partir dessa data. Esse é o primeiro dia do período do orçamento
(mês, trimestre, ano ou período personalizado) em que o uso do
orçamento ocorreu.
budgetAmount
152.557
O valor alocado no orçamento.
budgetAmountType
"SPECIFIED_AMOUNT"
O tipo de valor do orçamento. Pode ser um dos seguintes valores:
"SPECIFIED_AMOUNT": um valor fixo.
"LAST_MONTH_COST": total de custos incorridos durante o último
mês.
"LAST_PERIODS_COST": os custos incorridos durante o último
período de calendário não mensal, como um trimestre ou um ano.
alertThresholdExceeded
0.9
O limite máximo de alertas de custo real configurado foi excedido. O valor está em formato decimal (por exemplo, 0,9 é 90%). Essa chave não está presente
se o custo real não exceder um limite.
forecastThresholdExceeded
0.2
O alerta de limite máximo de custo previsto foi excedido. O valor é uma porcentagem em formato decimal (por exemplo, 0,2 é 20%). Essa chave não estará presente
se o custo previsto não exceder nenhum limite.
currencyCode
"USD"
A moeda do alerta de orçamento. Todos os custos e valores orçamentários do alerta estão nessa moeda.
Notificações de anomalias
Atributos
Os atributos são pares de chave-valor contidos em todas as notificações enviadas pelo Faturamento do Cloud para seu tópico do Pub/Sub. As notificações sempre
contêm o seguinte conjunto de pares de chave-valor, independentemente do payload
da notificação.
Nome do atributo
Exemplo
Descrição
escopo
scope_project
O escopo da anomalia.
billingAccountName
billingAccounts/01D4EE-079462-DFD6EC
O identificador da conta do Cloud Billing em que a anomalia
ocorreu.
resourceDisplayName
My project
O nome de exibição do recurso em que a anomalia ocorreu.
resourceName
projects/123456
O identificador do recurso em que a anomalia ocorreu.
SchemaVersion
1.0
A versão do esquema do Pub/Sub.
Dados
Os detalhes do alerta de anormalidade são retornados em uma string UTF-8 codificada em base64 que contém
um objeto JSON com as seguintes propriedades:
Um campo repetido que contém informações sobre a causa raiz da
anomalia.
Garantias de entrega de notificações ao Pub/Sub
Depois de conectar seu orçamento ou anomalia a um tópico do Pub/Sub, você
vai receber notificações programáticas da seguinte maneira:
Notificações de orçamento
As notificações de orçamento são enviadas ao tópico do Pub/Sub várias vezes por dia com o status atual do seu orçamento. Essa cadência é
diferente da cadência dos e-mails de alerta de orçamento, que são enviados apenas
quando um limite de orçamento é
atingido.
As notificações de Pub/Sub são enviadas mesmo que a conta de faturamento do Cloud não tenha nenhum uso.
Pode levar várias horas para você receber a primeira
notificação do Pub/Sub.
O Pub/Sub somente garante a entrega pelo menos uma vez. É possível receber uma mensagem várias vezes, e as mensagens podem chegar fora de ordem.
Se a entrega falhar devido a um erro de configuração do tópico do Pub/Sub,
você não vai receber uma notificação.
Pode haver uma falha na entrega por um dos seguintes motivos:
O tópico do Pub/Sub não existe mais.
O Cloud Billing não tem mais permissão para publicar no tópico Pub/Sub.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-18 UTC."],[[["\u003cp\u003eThis guide teaches how to set up automated responses to Cloud Billing budget and cost anomaly notifications using Pub/Sub.\u003c/p\u003e\n"],["\u003cp\u003eYou can automate cost control responses by integrating with platforms like Slack, managing resource consumption, or even disabling billing when a budget is reached.\u003c/p\u003e\n"],["\u003cp\u003eTo set up these programmatic notifications, you'll need specific permissions for creating or modifying budgets/anomalies and Pub/Sub topics, varying based on your access level (Cloud Billing account or project).\u003c/p\u003e\n"],["\u003cp\u003eBudget notifications are sent multiple times daily via Pub/Sub with the budget's status, while anomaly notifications are sent only when a predefined cost impact threshold is met.\u003c/p\u003e\n"],["\u003cp\u003eThe tutorial covers creating a Pub/Sub topic, connecting it to budgets or anomalies, and understanding the notification format, which includes attributes and data describing the event and budget/anomaly details.\u003c/p\u003e\n"]]],[],null,["# Set up programmatic notifications\n\n\u003cbr /\u003e\n\n| #### Interactive tutorials: Set up automated responses to Cloud Billing\n| budget notifications (30 minutes)\n|\n| In this interactive tutorial, you'll learn how to do the following:\n|\n| - Set up a Pub/Sub topic\n| - Create a budget on a billing account that's connected to the Pub/Sub topic\n| - Create a Cloud Run function that listens for updates from the Pub/Sub topic\n| - Test your Cloud Run function\n|\n| [**Launch the tutorial**](https://console.cloud.google.com/home/dashboard?walkthrough_tutorial_id=billing--budget--cost_enforcement)\n\nThis document explains how to set up programmatic budget and cost anomaly\n([Preview](/products#product-launch-stages))\nnotifications using\n[Pub/Sub](/pubsub/docs/pubsub-basics).\n\n[Budgets](/billing/docs/how-to/budgets#manage-notifications)\nand [cost anomalies](/billing/docs/how-to/manage-anomalies#set-notifications)\nare typically configured to send email notifications. If you use budgets or\ncost anomaly detection as a cost control tool, email notifications might not be\nthe best method to use to ensure timely action to control your costs.\nYou can set up and use programmatic notifications to automate cost control\nresponses. Examples of automated cost control responses include the following:\n\n- [Integrate with Slack for faster response](/billing/docs/how-to/send-notifications-to-slack)\n- [Manage resource consumption to reduce costs](/billing/docs/how-to/control-usage)\n- [Limit spending by disabling billing when you reach your budget](/billing/docs/how-to/disable-billing-with-notifications)\n\nLimitations\n-----------\n\n- Budgets use estimated Cloud Billing data which is subject to\n change until your invoice is finalized.\n\n- If you set [organization policies](/resource-manager/docs/organization-policy/overview)\n to [limit resource sharing by domain](/resource-manager/docs/organization-policy/restricting-domains)\n (for example, enabling `enforceInTransit` on Pub/Sub topics),\n you might encounter an error when you try to set up or connect Pub/Sub\n topics. In this situation, you might need to\n [force account access](/resource-manager/docs/organization-policy/restricting-domains#forcing_access)\n to successfully connect a Pub/Sub topic to a budget. To force\n account access, complete the following steps:\n\n 1. Remove the organization policy containing the domain restriction constraint using one of the following methods:\n - Temporarily [remove the organization policy](/resource-manager/docs/organization-policy/using-constraints#delete_an_organization_policy).\n - [Override the organization policy for the project](/resource-manager/docs/organization-policy/using-constraints#override_the_organization_policy_for_a_project) that contains the [Pub/Sub topic](#pub-sub-topic).\n 2. Follow the steps to [connect a Pub/Sub topic](#connect-topic).\n 3. Reinstate the [organization policy](/resource-manager/docs/organization-policy/using-constraints#set_up_enforcement_on_the_organization_resource) for the organization or project (optional).\n\nPermissions required for this task\n----------------------------------\n\n### Budget notifications\n\nTo set up programmatic budget notifications, you need permissions to create or\nmodify budgets and Pub/Sub topics. You need a different set of\npermissions depending on your level of access.\n\n### Anomaly notifications\n\nTo set up programmatic anomaly notifications, you need permissions to create\nor modify anomalies and Pub/Sub topics. You must have\nCloud Billing account permissions.\n\nCreate a Pub/Sub topic\n----------------------\n\nTo set up programmatic budget or anomaly notifications, you must first\n[create a Pub/Sub topic](/pubsub/docs/create-topic).\nIf you already configured a Pub/Sub\ntopic for budgets or cost anomalies, you can skip this step.\n\n1. Go to the Google Cloud console **Pub/Sub** page.\n\n [Sign in to Google Cloud console Pub/Sub](https://console.cloud.google.com/cloudpubsub/)\n2. Select a project to contain the Pub/Sub topic.\n\n When configuring Pub/Sub topics for billing notifications, we\n recommend you use a\n [FinOps administration project](/billing/docs/how-to/create-billing-account#set-up-billing-project)\n to contain your billing-related Pub/Sub topics.\n3. Click add_box\n **Create topic**.\n\n4. In the **Topic ID** field, provide a topic name.\n\n5. Retain the default subscription and encryption settings, and click\n **Create**.\n\n| **Note:** You must have permission to grant the Pub/Sub Publisher role on the topic to allow Cloud Billing to publish messages to it.\n\nConnect your Pub/Sub topic\n--------------------------\n\nTo enable programmatic notifications to receive Pub/Sub\nmessages with the current status of your budget or anomaly, you must connect\nyour budget or anomaly to your Pub/Sub topic. \n\n### Budget notifications\n\nTo connect a Pub/Sub topic to a Cloud Billing budget,\ncomplete the following steps:\n\n### Anomaly notifications\n\nTo connect a Pub/Sub topic to a cost anomaly, complete the\nfollowing steps:\n\nNotification format\n-------------------\n\nNotifications sent to the Pub/Sub topic consist of two parts:\n\n- **Attributes**: A set of key-value pairs describing the event.\n- **Data**: A string containing a JSON object that describes the budget alert\n details.\n\n### Budget notifications\n\n### Attributes\n\nAttributes are key-value pairs contained in all notifications sent\nby Cloud Billing to your Pub/Sub topic. Notifications always\ncontain the following set of key-value pairs, regardless of the\nnotification payload.\n\n### Data\n\nBudget alert details are returned in a base64-encoded UTF-8 string containing\na JSON object with the following properties:\n\n| **Note:** To test an example budget notification, follow the steps in [Listen to your notifications](/billing/docs/how-to/listen-to-notifications).\n\n### Anomaly notifications\n\n### Attributes\n\nAttributes are key-value pairs contained in all notifications sent by\nCloud Billing to your Pub/Sub topic. Notifications always\ncontain the following set of key-value pairs, regardless of the notification\npayload.\n\n### Data\n\nAnomaly alert details are returned in a base64-encoded UTF-8 string containing\na JSON object with the following properties:\n\nDelivery guarantees for notifications to Pub/Sub\n------------------------------------------------\n\nAfter you connect your budget or anomaly to a Pub/Sub topic, you\ncan expect to receive programmatic notifications as follows: \n\n### Budget notifications\n\n- Budget notifications are sent to the Pub/Sub topic multiple times per day with the current status of your budget. This cadence is different than the cadence for budget alert emails, which are only sent when a [budget threshold](/billing/docs/how-to/budgets#alert-thresholds) is met.\n- Pub/Sub notifications are sent even if the Cloud Billing account has no usage.\n- It may take several hours before you receive the first Pub/Sub notification.\n- Pub/Sub only guarantees at-least-once delivery. You might receive a message multiple times, and messages might arrive out of order.\n- If delivery fails due to Pub/Sub topic misconfiguration, you won't be notified.\n\nDelivery might fail for one of the following reasons:\n\n- The Pub/Sub topic no longer exists.\n- The Cloud Billing no longer has permission to publish to the Pub/Sub topic.\n- You exceeded your notification quota.\n- You have [organization policies](/resource-manager/docs/organization-policy/overview) in place that [limit resource sharing by domain](/resource-manager/docs/organization-policy/restricting-domains).\n\n### Anomaly notifications\n\n- Anomaly notifications are sent to the Pub/Sub topic only when the [threshold](/billing/docs/how-to/manage-anomalies#set-anomaly-threshold) is reached.\n- Pub/Sub only guarantees an at-least-once delivery. You might receive a message multiple times, and messages might arrive out of order.\n- If delivery fails due to Pub/Sub topic misconfiguration, you won't be notified.\n\nDelivery might fail for one of the following reasons:\n\n- The Pub/Sub topic no longer exists.\n- The Cloud Billing account no longer has permission to publish to the Pub/Sub topic.\n- You exceeded your notification quota.\n- You have [organization policies](/resource-manager/docs/organization-policy/overview) in place that [limit resource sharing by domain](/resource-manager/docs/organization-policy/restricting-domains).\n\nFor more information, see\n[Publish and receive messages in Pub/Sub](/pubsub/docs/publish-receive-messages-console).\n\nWhat's next\n-----------\n\nTo learn more about how you can use programmatic notifications, review the\nfollowing examples of programmatic cost control responses:\n\n- [Listen to your notifications](/billing/docs/how-to/listen-to-notifications)\n- [Send notifications to Slack](/billing/docs/how-to/send-notifications-to-slack)\n- [Control resource usage with notifications](/billing/docs/how-to/control-usage)\n- [Disable billing usage with notifications](/billing/docs/how-to/disable-billing-with-notifications)"]]