QuotaFailure

Opisuje, dlaczego weryfikacja limitu się nie powiodła.

Jeśli na przykład w projekcie wywołującym przekroczono dzienny limit, usługa może odpowiedzieć szczegółami QuotaFailure zawierającymi identyfikator projektu i opis przekroczonego limitu. Jeśli projekt wywołujący nie włączył usługi w konsoli dewelopera, usługa może odpowiedzieć identyfikatorem projektu i ustawić wartość service_disabled na „true”.

Więcej informacji o obsłudze błędów związanych z limitami znajdziesz w sekcjach RetryInfo i Help.

Zapis JSON
{
  "violations": [
    {
      object (Violation)
    }
  ]
}
Pola
violations[]

object (Violation)

Opisuje wszystkie naruszenia limitu.

Naruszenie

Typ wiadomości używany do opisywania pojedynczego naruszenia limitu. Może to być np. przekroczony dzienny limit lub limit niestandardowy.

Zapis JSON
{
  "subject": string,
  "description": string,
  "apiService": string,
  "quotaMetric": string,
  "quotaId": string,
  "quotaDimensions": {
    string: string,
    ...
  },
  "quotaValue": string,
  "futureQuotaValue": string
}
Pola
subject

string

Temat, w przypadku którego nie udało się sprawdzić limitu. Na przykład „clientip:” lub „project:”.

description

string

Opis nieudanego sprawdzenia limitu. Klienci mogą użyć tego opisu, aby dowiedzieć się więcej o konfiguracji limitu w publicznej dokumentacji usługi lub znaleźć odpowiedni limit, który można dostosować w konsoli dewelopera.

Na przykład „Usługa wyłączona” lub „Przekroczono dzienny limit operacji odczytu”.

apiService

string

Usługa API, z której pochodzi QuotaFailure.Violation. W niektórych przypadkach problemy z limitem wynikają z usługi API innej niż ta, która została wywołana. Innymi słowy, przyczyną błędu QuotaFailure może być zależność wywoływanej usługi API, a w tym polu będzie znajdować się nazwa usługi API, od której zależy wywoływana usługa.

Jeśli na przykład wywoływany interfejs API to Kubernetes Engine API (container.googleapis.com), a naruszenie limitu nastąpi w tym interfejsie, to pole będzie miało wartość „container.googleapis.com”. Jeśli z kolei naruszenie limitu nastąpi, gdy interfejs Kubernetes Engine API tworzy maszyny wirtualne w interfejsie Compute Engine API (compute.googleapis.com), to pole będzie miało wartość „compute.googleapis.com”.

quotaMetric

string

Rodzaj danych, których dotyczy przekroczenie limitu. Dane dotyczące limitu to nazwany licznik służący do pomiaru wykorzystania, np. żądań interfejsu API lub procesorów. Gdy w usłudze wystąpi działanie, np. przydzielenie maszyny wirtualnej, może to wpłynąć na co najmniej 1 rodzaj limitu.

Na przykład „compute.googleapis.com/cpus_per_vm_family”, „storage.googleapis.com/internet_egress_bandwidth”.

quotaId

string

Identyfikator przekroczonego limitu. Jest to unikalny identyfikator limitu w kontekście usługi API.

Na przykład „CPUS-PER-VM-FAMILY-per-project-region”.

quotaDimensions

map (key: string, value: string)

Wymiary naruszonego limitu. Każdy limit nieglobalny jest egzekwowany w przypadku określonego zestawu wymiarów. Rodzaj danych limitu określa, co ma być zliczane, a wymiary określają, w przypadku jakich aspektów licznik ma być zwiększany.

Na przykład limit „Procesory na region na rodzinę maszyn wirtualnych” wymusza limit na dane „compute.googleapis.com/cpus_per_vm_family” w wymiarach „region” i „vm_family”. Jeśli naruszenie wystąpiło w regionie „us-central1” w przypadku rodziny maszyn wirtualnych „n1”, wymiary limitu będą wyglądać tak:

{ "region": "us-central1", "vm_family": "n1", }

Gdy limit jest egzekwowany globalnie, pole quotaDimensions jest zawsze puste.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }

quotaValue

string (int64 format)

Wartość egzekwowanego limitu w momencie QuotaFailure.

Jeśli na przykład w momencie wystąpienia zdarzenia QuotaFailure wymuszona wartość limitu liczby procesorów wynosi „10”, wartość tego pola będzie odzwierciedlać tę ilość.

futureQuotaValue

string (int64 format)

Nowa wartość limitu, która jest wdrażana w momencie naruszenia. Po zakończeniu wdrażania ta wartość będzie obowiązywać zamiast wartości quotaValue. Jeśli w momencie naruszenia zasad nie trwa żadne wdrażanie, to pole nie jest ustawione.

Jeśli np. w momencie naruszenia zasad trwa wdrażanie zmiany limitu liczby procesorów z 10 na 20, wartością tego pola będzie 20.