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 ( |
| Pola | |
|---|---|
violations[] |
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 |
Temat, w przypadku którego nie udało się sprawdzić limitu. Na przykład „clientip: |
description |
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 |
Usługa API, z której pochodzi 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 |
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 |
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 |
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 |
quotaValue |
Wartość egzekwowanego limitu w momencie Jeśli na przykład w momencie wystąpienia zdarzenia |
futureQuotaValue |
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. |