Udostępnij za pośrednictwem


Budgets - Create Or Update

Operacja tworzenia lub aktualizowania budżetu. Opcjonalnie możesz podać element eTag w razie potrzeby jako formę kontrolki współbieżności. Aby uzyskać najnowszy element eTag dla danego budżetu, wykonaj operację pobierania przed operacją umieszczania.

PUT https://management.azure.com/{scope}/providers/Microsoft.Consumption/budgets/{budgetName}?api-version=2024-08-01

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
budgetName
path True

string

Nazwa budżetu.

scope
path True

string

Zakres skojarzony z operacjami budżetowymi. Obejmuje to ciąg "/subscriptions/{subscriptionId}/" dla zakresu subskrypcji, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}" dla zakresu grupy zasobów, "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}" dla zakresu konta rozliczeniowego, "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}" dla zakresu działu, "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{ enrollmentAccountId}" dla zakresu EnrollmentAccount, "/providers/Microsoft.Management/managementGroups/{managementGroupId}" dla zakresu grupy zarządzania, "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}" dla zakresu billingProfile, "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}" dla zakresu invoiceSectionId}.

api-version
query True

string

Wersja interfejsu API do użycia z żądaniem klienta. Bieżąca wersja to 2023-03-01.

Treść żądania

Nazwa Wymagane Typ Opis
properties.amount True

number (decimal)

Łączna kwota kosztów do śledzenia przy użyciu budżetu

properties.category True

CategoryType

Kategoria budżetu, niezależnie od tego, czy budżet śledzi koszt, czy użycie.

properties.timeGrain True

TimeGrainType

Czas objęty budżetem. Śledzenie ilości zostanie zresetowane na podstawie ziarna czasu. RozliczeniaMonth, BillingQuarter i BillingAnnual są obsługiwane tylko przez klientów usługi WD

properties.timePeriod True

BudgetTimePeriod

Ma datę rozpoczęcia i zakończenia budżetu. Data rozpoczęcia musi być pierwsza z miesiąca i powinna być mniejsza niż data zakończenia. Data rozpoczęcia budżetu musi być 1 czerwca 2017 r. lub późniejsza. Data rozpoczęcia w przyszłości nie powinna być większa niż dwanaście miesięcy. W przedziale czasu należy wybrać poprzednią datę rozpoczęcia. Nie ma żadnych ograniczeń dotyczących daty zakończenia.

eTag

string

Element eTag zasobu. Aby obsłużyć scenariusz aktualizacji współbieżnych, to pole będzie używane do określenia, czy użytkownik aktualizuje najnowszą wersję, czy nie.

properties.filter

BudgetFilter

Może służyć do filtrowania budżetów według wymiarów określonych przez użytkownika i/lub tagów.

properties.notifications

<string,  Notification>

Słownik powiadomień skojarzonych z budżetem. Budżet może mieć maksymalnie pięć powiadomień.

Odpowiedzi

Nazwa Typ Opis
200 OK

Budget

OK. Żądanie zakończyło się pomyślnie.

201 Created

Budget

Utworzono.

Other Status Codes

ErrorResponse

Odpowiedź na błąd opisująca, dlaczego operacja nie powiodła się.

Zabezpieczenia

azure_auth

Przepływ protokołu OAuth2 usługi Azure Active Directory.

Typ: oauth2
Flow: implicit
Adres URL autoryzacji: https://login.microsoftonline.com/common/oauth2/authorize

Zakresy

Nazwa Opis
user_impersonation personifikacja konta użytkownika

Przykłady

CreateOrUpdateBudget

Przykładowe żądanie

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/TestBudget?api-version=2024-08-01

{
  "eTag": "\"1d34d016a593709\"",
  "properties": {
    "category": "Cost",
    "amount": 100.65,
    "timeGrain": "Monthly",
    "timePeriod": {
      "startDate": "2017-10-01T00:00:00Z",
      "endDate": "2018-10-31T00:00:00Z"
    },
    "filter": {
      "and": [
        {
          "dimensions": {
            "name": "ResourceId",
            "operator": "In",
            "values": [
              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
            ]
          }
        },
        {
          "tags": {
            "name": "category",
            "operator": "In",
            "values": [
              "Dev",
              "Prod"
            ]
          }
        },
        {
          "tags": {
            "name": "department",
            "operator": "In",
            "values": [
              "engineering",
              "sales"
            ]
          }
        }
      ]
    },
    "notifications": {
      "Actual_GreaterThan_80_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 80,
        "locale": "en-us",
        "contactEmails": [
          "johndoe@contoso.com",
          "janesmith@contoso.com"
        ],
        "contactRoles": [
          "Contributor",
          "Reader"
        ],
        "contactGroups": [
          "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
        ],
        "thresholdType": "Actual"
      }
    }
  }
}

Przykładowa odpowiedź

{
  "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/TestBudget",
  "name": "TestBudget",
  "type": "Microsoft.Consumption/budgets",
  "eTag": "\"1d34d012214157f\"",
  "properties": {
    "category": "Cost",
    "amount": 100.65,
    "timeGrain": "Monthly",
    "timePeriod": {
      "startDate": "2017-10-01T00:00:00Z",
      "endDate": "2018-10-31T00:00:00Z"
    },
    "filter": {
      "and": [
        {
          "dimensions": {
            "name": "ResourceId",
            "operator": "In",
            "values": [
              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
            ]
          }
        },
        {
          "tags": {
            "name": "category",
            "operator": "In",
            "values": [
              "Dev",
              "Prod"
            ]
          }
        },
        {
          "tags": {
            "name": "department",
            "operator": "In",
            "values": [
              "engineering",
              "sales"
            ]
          }
        }
      ]
    },
    "currentSpend": {
      "amount": 80.89,
      "unit": "USD"
    },
    "notifications": {
      "Actual_GreaterThan_80_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 80,
        "locale": "en-us",
        "contactEmails": [
          "johndoe@contoso.com",
          "janesmith@contoso.com"
        ],
        "contactRoles": [
          "Contributor",
          "Reader"
        ],
        "contactGroups": [
          "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
        ],
        "thresholdType": "Actual"
      }
    }
  }
}
{
  "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/TestBudget",
  "name": "TestBudget",
  "type": "Microsoft.Consumption/budgets",
  "eTag": "\"1d34d012214157f\"",
  "properties": {
    "category": "Cost",
    "amount": 100.65,
    "timeGrain": "Monthly",
    "timePeriod": {
      "startDate": "2017-10-01T00:00:00Z",
      "endDate": "2018-10-31T00:00:00Z"
    },
    "filter": {
      "and": [
        {
          "dimensions": {
            "name": "ResourceId",
            "operator": "In",
            "values": [
              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
            ]
          }
        },
        {
          "tags": {
            "name": "category",
            "operator": "In",
            "values": [
              "Dev",
              "Prod"
            ]
          }
        },
        {
          "tags": {
            "name": "department",
            "operator": "In",
            "values": [
              "engineering",
              "sales"
            ]
          }
        }
      ]
    },
    "currentSpend": {
      "amount": 80.89,
      "unit": "USD"
    },
    "notifications": {
      "Actual_GreaterThan_80_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 80,
        "locale": "en-us",
        "contactEmails": [
          "johndoe@contoso.com",
          "janesmith@contoso.com"
        ],
        "contactRoles": [
          "Contributor",
          "Reader"
        ],
        "contactGroups": [
          "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
        ],
        "thresholdType": "Actual"
      }
    }
  }
}

Definicje

Nazwa Opis
Budget

Zasób budżetowy.

BudgetComparisonExpression

Wyrażenie porównania, które ma być używane w budżetach.

BudgetFilter

Może służyć do filtrowania budżetów według grupy zasobów, zasobu lub miernika.

BudgetFilterProperties

Wymiary lub tagi do filtrowania budżetu według.

BudgetOperatorType

Operator, który ma być używany do porównania.

BudgetTimePeriod

Data rozpoczęcia i zakończenia budżetu.

CategoryType

Kategoria budżetu, niezależnie od tego, czy budżet śledzi koszt, czy użycie.

CultureCode

Język, w którym odbiorca otrzyma powiadomienie

CurrentSpend

Bieżąca kwota kosztów śledzonych dla budżetu.

ErrorDetails

Szczegóły błędu.

ErrorResponse

Odpowiedź na błąd wskazuje, że usługa nie może przetworzyć przychodzącego żądania. Przyczyna jest podana w komunikacie o błędzie.

Niektóre odpowiedzi na błędy:

  • 429 TooManyRequests — żądanie jest ograniczane. Ponów próbę po upływie czasu określonego w nagłówku "x-ms-ratelimit-microsoft.consumption-retry-after".

  • 503 ServiceUnavailable — usługa jest tymczasowo niedostępna. Ponów próbę po upływie czasu określonego w nagłówku "Ponów próbę po".

  • 504 Limit czasu bramy — upłynął limit czasu usługi podczas przetwarzania żądania. Jeśli to możliwe, zmniejsz zakres dat w żądaniu.

ForecastSpend

Prognozowany koszt, który jest śledzony dla budżetu.

Notification

Powiadomienie skojarzone z budżetem.

OperatorType

Operator porównania.

ThresholdType

Typ progu

TimeGrainType

Czas objęty budżetem. Śledzenie ilości zostanie zresetowane na podstawie ziarna czasu. RozliczeniaMonth, BillingQuarter i BillingAnnual są obsługiwane tylko przez klientów usługi WD

Budget

Zasób budżetowy.

Nazwa Typ Opis
eTag

string

Element eTag zasobu. Aby obsłużyć scenariusz aktualizacji współbieżnych, to pole będzie używane do określenia, czy użytkownik aktualizuje najnowszą wersję, czy nie.

id

string

Identyfikator zasobu.

name

string

Nazwa zasobu.

properties.amount

number (decimal)

Łączna kwota kosztów do śledzenia przy użyciu budżetu

properties.category

CategoryType

Kategoria budżetu, niezależnie od tego, czy budżet śledzi koszt, czy użycie.

properties.currentSpend

CurrentSpend

Bieżąca kwota kosztów śledzonych dla budżetu.

properties.filter

BudgetFilter

Może służyć do filtrowania budżetów według wymiarów określonych przez użytkownika i/lub tagów.

properties.forecastSpend

ForecastSpend

Prognozowany koszt, który jest śledzony dla budżetu.

properties.notifications

<string,  Notification>

Słownik powiadomień skojarzonych z budżetem. Budżet może mieć maksymalnie pięć powiadomień.

properties.timeGrain

TimeGrainType

Czas objęty budżetem. Śledzenie ilości zostanie zresetowane na podstawie ziarna czasu. RozliczeniaMonth, BillingQuarter i BillingAnnual są obsługiwane tylko przez klientów usługi WD

properties.timePeriod

BudgetTimePeriod

Ma datę rozpoczęcia i zakończenia budżetu. Data rozpoczęcia musi być pierwsza z miesiąca i powinna być mniejsza niż data zakończenia. Data rozpoczęcia budżetu musi być 1 czerwca 2017 r. lub późniejsza. Data rozpoczęcia w przyszłości nie powinna być większa niż dwanaście miesięcy. W przedziale czasu należy wybrać poprzednią datę rozpoczęcia. Nie ma żadnych ograniczeń dotyczących daty zakończenia.

type

string

Typ zasobu.

BudgetComparisonExpression

Wyrażenie porównania, które ma być używane w budżetach.

Nazwa Typ Opis
name

string

Nazwa kolumny do użycia w porównaniu.

operator

BudgetOperatorType

Operator, który ma być używany do porównania.

values

string[]

Tablica wartości do użycia do porównania

BudgetFilter

Może służyć do filtrowania budżetów według grupy zasobów, zasobu lub miernika.

Nazwa Typ Opis
and

BudgetFilterProperties[]

Logiczne wyrażenie "AND". Musi zawierać co najmniej 2 elementy.

dimensions

BudgetComparisonExpression

Zawiera wyrażenie porównania dla wymiaru

tags

BudgetComparisonExpression

Zawiera wyrażenie porównania dla tagu

BudgetFilterProperties

Wymiary lub tagi do filtrowania budżetu według.

Nazwa Typ Opis
dimensions

BudgetComparisonExpression

Zawiera wyrażenie porównania dla wymiaru

tags

BudgetComparisonExpression

Zawiera wyrażenie porównania dla tagu

BudgetOperatorType

Operator, który ma być używany do porównania.

Wartość Opis
In

BudgetTimePeriod

Data rozpoczęcia i zakończenia budżetu.

Nazwa Typ Opis
endDate

string (date-time)

Data zakończenia budżetu. Jeśli nie zostanie podana, wartość domyślna to 10 lat od daty rozpoczęcia.

startDate

string (date-time)

Data rozpoczęcia budżetu.

CategoryType

Kategoria budżetu, niezależnie od tego, czy budżet śledzi koszt, czy użycie.

Wartość Opis
Cost

CultureCode

Język, w którym odbiorca otrzyma powiadomienie

Wartość Opis
cs-cz
da-dk
de-de
en-gb
en-us
es-es
fr-fr
hu-hu
it-it
ja-jp
ko-kr
nb-no
nl-nl
pl-pl
pt-br
pt-pt
ru-ru
sv-se
tr-tr
zh-cn
zh-tw

CurrentSpend

Bieżąca kwota kosztów śledzonych dla budżetu.

Nazwa Typ Opis
amount

number (decimal)

Łączna kwota kosztów śledzonych przez budżet.

unit

string

Jednostka miary dla kwoty budżetu.

ErrorDetails

Szczegóły błędu.

Nazwa Typ Opis
code

string

Kod błędu.

message

string

Komunikat o błędzie wskazujący, dlaczego operacja nie powiodła się.

ErrorResponse

Odpowiedź na błąd wskazuje, że usługa nie może przetworzyć przychodzącego żądania. Przyczyna jest podana w komunikacie o błędzie.

Niektóre odpowiedzi na błędy:

  • 429 TooManyRequests — żądanie jest ograniczane. Ponów próbę po upływie czasu określonego w nagłówku "x-ms-ratelimit-microsoft.consumption-retry-after".

  • 503 ServiceUnavailable — usługa jest tymczasowo niedostępna. Ponów próbę po upływie czasu określonego w nagłówku "Ponów próbę po".

  • 504 Limit czasu bramy — upłynął limit czasu usługi podczas przetwarzania żądania. Jeśli to możliwe, zmniejsz zakres dat w żądaniu.

Nazwa Typ Opis
error

ErrorDetails

Szczegóły błędu.

ForecastSpend

Prognozowany koszt, który jest śledzony dla budżetu.

Nazwa Typ Opis
amount

number (decimal)

Prognozowany koszt łącznego okresu, który jest śledzony przez budżet. Ta wartość jest podawana tylko wtedy, gdy budżet zawiera typ alertu prognozy.

unit

string

Jednostka miary dla kwoty budżetu.

Notification

Powiadomienie skojarzone z budżetem.

Nazwa Typ Domyślna wartość Opis
contactEmails

string[]

Adresy e-mail do wysyłania powiadomienia o budżecie do momentu przekroczenia progu. Musi mieć co najmniej jedną kontaktowy adres e-mail lub grupę kontaktów określoną w zakresach Subskrypcja lub Grupa zasobów. Wszystkie inne zakresy muszą mieć określony co najmniej jeden kontaktowy adres e-mail.

contactGroups

string[]

Grupy akcji wysyłające powiadomienie o budżecie do momentu przekroczenia progu. Należy podać jako w pełni kwalifikowany identyfikator zasobu platformy Azure. Obsługiwane tylko w zakresach subskrypcji lub grupy zasobów.

contactRoles

string[]

Role kontaktu w celu wysłania powiadomienia o budżecie do momentu przekroczenia progu.

enabled

boolean

Powiadomienie jest włączone lub nie.

locale

CultureCode

Język, w którym odbiorca otrzyma powiadomienie

operator

OperatorType

Operator porównania.

threshold

number (decimal)

Wartość progowa skojarzona z powiadomieniem. Powiadomienie jest wysyłane, gdy koszt przekroczył próg. Zawsze jest to procent i musi należeć do przedziału od 0 do 1000.

thresholdType

ThresholdType

Actual

Typ progu

OperatorType

Operator porównania.

Wartość Opis
EqualTo

Alert zostanie wyzwolony, jeśli szacowany koszt jest taki sam jak wartość progowa. Uwaga: nie zaleca się używania tego typu operatora, ponieważ istnieje niskie prawdopodobieństwo, że koszt jest dokładnie taki sam jak wartość progowa, co prowadzi do braku alertu. Ten typ operatora będzie w przyszłości przestarzały.

GreaterThan

Alert zostanie wyzwolony, jeśli szacowany koszt jest większy niż wartość progowa. Uwaga: jest to zalecany parametr OperatorType podczas konfigurowania alertu budżetu.

GreaterThanOrEqualTo

Alert zostanie wyzwolony, jeśli szacowany koszt jest większy lub równy wartości progowej.

ThresholdType

Typ progu

Wartość Opis
Actual

Alerty budżetu kosztów rzeczywistych powiadamiają o przekroczeniu przydzielonego budżetu rzeczywistego naliczonego kosztu.

Forecasted

Alerty budżetu prognozowanych kosztów zapewniają zaawansowane powiadomienie, że trendy wydatków mogą przekroczyć przydzielony budżet, ponieważ opiera się na prognozowanych przewidywaniach kosztów.

TimeGrainType

Czas objęty budżetem. Śledzenie ilości zostanie zresetowane na podstawie ziarna czasu. RozliczeniaMonth, BillingQuarter i BillingAnnual są obsługiwane tylko przez klientów usługi WD

Wartość Opis
Annually
BillingAnnual
BillingMonth
BillingQuarter
Monthly
Quarterly