Udostępnij za pośrednictwem


Monitorowanie użycia przydziałów zasobów wykazu aparatu Unity

W tym artykule opisano sposób monitorowania użycia zabezpieczanych obiektów wykazu aparatu Unity, które podlegają limitom przydziału zasobów.

Interfejsy API przydziałów zasobów wykazu aparatu Unity umożliwiają śledzenie użycia. Mimo że niektóre limity można zwiększyć po żądaniu, inne są stałe. Aby uniknąć zakłóceń, zaplanuj i skontaktuj się z zespołem konta usługi Azure Databricks, jeśli przewidujesz przekroczenie limitów przydziału zasobów.

Co to są limity przydziału zasobów wykazu aparatu Unity?

Wykaz aparatu Unity wymusza limity przydziału zasobów dla wszystkich zabezpieczanych obiektów zarządzanych przez wykaz aparatu Unity. Te limity przydziału są wymienione w temacie Limity zasobów. Są one identyfikowane w tym artykule jako limity przydziału dla czystych pomieszczeń, udostępniania różnicowego, witryny Marketplace i wykazu aparatu Unity.

Każdy limit przydziału jest definiowany jako liczba obiektów na obiekt nadrzędny (lub zakres). Na przykład 10 000 tabel na schemat lub 1000 000 tabel na magazyn metadanych.

Wykonywanie zapytań dotyczących użycia względem przydziałów zasobów

Aby aktywnie monitorować użycie pod kątem przydziałów zasobów, użyj interfejsów API REST przydziałów zasobów wykazu aparatu Unity:

  • GetQuota pobiera użycie przydziału dla jednego typu limitu przydziału zdefiniowanego jako liczba obiektów podrzędnych na obiekt nadrzędny (na przykład tabele na magazyn metadanych).
  • ListQuotaspobiera wszystkie wartości przydziału w docelowym magazynie metadanych, domyślnie podzielonym na strony.

Oba interfejsy API zwracają informacje w postaci quota_info obiektu zawierającego następujące pola. Niektóre z tych pól są również używane podczas wykonywania żądania przy użyciu interfejsu API GetQuota:

  • parent_securable_type: typ obiektu nadrzędnego. Na przykład w przypadku liczby tabel dla schematu wartość parent_securable_type to schema.

    Uwaga

    W przypadku przydziałów, w których typ nadrzędny jest zarejestrowanym modelem, ustaw wartość parent_securable_type na function.

  • parent_full_name: Pełna nazwa elementu nadrzędnego limitu przydziału. Na przykład main.default schemat. Jeśli element nadrzędny jest magazynem metadanych, użyj identyfikatora magazynu metadanych w żądaniu.

  • quota_name: nazwa limitu przydziału. Jest to obiekt podrzędny (tabela, schemat, udział itd.) sufiksowany przez -quota. Na przykład table-quota.

  • quota_count: najnowsza liczba użycia. Na przykład 33 tabele na schemat.

  • quota_limit: Wartość limitu przydziału w czasie obliczania liczby przydziałów. Na przykład 10000 tabele na schemat.

  • last_refreshed_at: czas ostatniego odświeżenia liczby przydziałów. Jest on wyświetlany jako sygnatura czasowa epoki unix. Znacznik czasu można przekonwertować na format czytelny dla człowieka przy użyciu narzędzi online, takich jak Konwerter epoki.

Interfejs ListQuotas API zwraca również token strony w odpowiedzi, jeśli bieżąca odpowiedź nie zwraca wszystkich wyników.

Autoryzacja i uwierzytelnianie interfejsu API

Interfejsy API limitów przydziału zasobów mogą wywoływać tylko administratorzy kont.

Administrator konta, który wywołuje interfejsy API, powinien używać uwierzytelniania użytkownika do komputera OAuth (U2M) (dla użytkowników lub grup) lub uwierzytelniania maszyny do komputera OAuth (M2M) (jeśli administrator konta jest jednostką usługi). Zobacz Uwierzytelnianie dostępu do usługi Azure Databricks przy użyciu konta użytkownika przy użyciu protokołu OAuth (OAuth U2M) lub Uwierzytelnianie dostępu do usługi Azure Databricks przy użyciu jednostki usługi przy użyciu protokołu OAuth (OAuth M2M). Dostępne są również osobiste tokeny dostępu generowane przez usługę Databricks (PAT), ale nie są zalecane.

Użyj interfejsu API GetQuota, aby uzyskać wartości użycia limitu przydziału dla określonego typu przydziału

Użyj interfejsu GetQuota API, aby uzyskać informacje o użyciu dla pojedynczego limitu przydziału zasobów zdefiniowanego przez parowanie podrzędne-nadrzędne.

Metoda: GET

Ścieżka: /unity-catalog/resource-quotas/{parent_securable_type}/{parent_full_name}/{quota_name}

Parametry treści: aby uzyskać opisy parametrów, zobacz Query your usage against resource quotas (Wykonywanie zapytań o użycie względem przydziałów zasobów).

Aby zapoznać się z dokumentacją interfejsu API, zobacz GET /unity-catalog/resource-quotas/.

GetQuota Liczby są dokładne w ciągu 30 minut od ostatniej operacji tworzenia wykonanej w ramach elementu nadrzędnego limitu przydziału. Liczba może być nieaktualna, jeśli zostały wykonane tylko operacje usuwania, ponieważ wykaz aparatu Unity aktualizuje liczbę przydziałów tylko podczas tworzenia zasobów. Wywołanie GetQuota wyzwala odświeżanie liczby przydziałów, jeśli jest nieaktualne, jednak wyzwalacz jest asynchroniczny, a nowe liczby mogą nie zostać zwrócone w pierwszym wywołaniu.

Przykład żądania

Przykład języka Python, który żąda liczby schematów utworzonych w wykazie w main magazynie metadanych dołączonym do obszaru roboczego:

import requests
headers = {'Authentication': 'Bearer <OAuthtoken>'}
r = requests.get('https://example-workspace.databricks.com/api/2.1/unity-catalog/resource-quotas/catalog/main/schema-quota', headers=headers)
print(r.text)

Przykład narzędzia Curl, który wykonuje to samo:

$ curl -X GET -H "Authentication: Bearer $OAUTH_TOKEN" \
"https://example-workspace.databricks.com/api/2.1/unity-catalog/resource-quotas/catalog/main/schema-quota"

Przykład odpowiedzi

Odpowiedź przedstawiająca schematy 2691 względem limitu 10 000 schematu na magazyn metadanych:

{
  "quota_info": {
    "parent_securable_type": "CATALOG",
    "parent_full_name": "main",
    "quota_name": "schema-quota",
    "quota_count": 2691,
    "quota_limit": 10000,
    "last_refreshed_at": 1722559381517
  }
}

Użyj interfejsu API ListQuotas, aby uzyskać dane użycia dla wszystkich typów przydziałów w magazynie metadanych

Użyj interfejsu ListQuotas API, aby uzyskać dane użycia dla wszystkich typów przydziałów w magazynie metadanych.

Metoda: GET

Ścieżka: /unity-catalog/resource-quotas/all-resource-quotas

Parametry treści:

  • max_results: liczba wyników do zwrócenia. Wartość maksymalna to 500. Wartość domyślna to 100.
  • page_token: Token strony z poprzedniego żądania w celu pobrania następnej strony wyników.

Aby zapoznać się z dokumentacją interfejsu API, zobacz GET /unity-catalog/resource-quotas/all-resource-quotas.

W przeciwieństwie do GetQuotasprogramu ListQuotas nie ma umowy SLA dotyczącej świeżości liczb. Nie wyzwala też odświeżeń liczby przydziałów. Aby uzyskać maksymalną dokładność, użyj interfejsu GetQuota API.

Przykład żądania

Przykład języka Python, który żąda liczby przydziałów dla wszystkich obiektów w magazynie metadanych dołączonym do obszaru roboczego, określając 5 wyników do zwrócenia na stronę:

import requests
headers = {'Authentication': 'Bearer <OAuthtoken>'}
next_page = None
max_results = 5
results = []

while True:
  payload = {'max_results': max_results, 'page_token': next_page}
  r = requests.get(
'https://example-workspace.databricks.com/api/2.1/unity-catalog/resource-quotas/all-resource-quotas', headers=headers, params=payload).json()
  results.extend(r["quotas"])
  if "next_page_token" not in r: break
  next_page = r["next_page_token"]

results

Przykład narzędzia Curl, który wykonuje to samo:

$ curl -X GET -H "Authentication: Bearer $OAUTH_TOKEN" \
-d '{"max_results": 5}' "https://example-workspace.databricks.com/api/2.1/unity-catalog/resource-quotas/all-resource-quotas"

Przykład odpowiedzi

Odpowiedź przedstawiająca jedną stronę z 5 liczbami przydziałów:

"quotas":[
   {
      "parent_securable_type":"CATALOG",
      "parent_full_name":"auto_maintenance",
      "quota_name":"schema-quota",
      "quota_count":15,
      "quota_limit":10000,
      "last_refreshed_at":1707272498713
   },
   {
      "parent_securable_type":"CATALOG",
      "parent_full_name":"demo_icecream",
      "quota_name":"schema-quota",
      "quota_count":3,
      "quota_limit":10000,
      "last_refreshed_at":1720789637102
   },
   {
      "parent_securable_type":"CATALOG",
      "parent_full_name":"primarycatalog",
      "quota_name":"schema-quota",
      "quota_count":2,
      "quota_limit":10000,
      "last_refreshed_at":1720829359520
   },
   {
      "parent_securable_type":"CATALOG",
      "parent_full_name":"shared_catalog_azure",
      "quota_name":"schema-quota",
      "quota_count":670,
      "quota_limit":10000,
      "last_refreshed_at":1722036080791
   },
   {
      "parent_securable_type":"CATALOG",
      "parent_full_name":"cat-test",
      "quota_name":"schema-quota",
      "quota_count":567,
      "quota_limit":10000,
      "last_refreshed_at":1704845201239
   }
],
"next_page_token":"eyJfX3R2IjoiMCIsInB0IjoiQ2F0YWxvZyIsInBpZCI6IjAwNTAyYTM1LWIzMGQtNDc4YS1hYTIwLTE5MDZkMGVmNzdiNiIsInJ0IjoiU2NoZW1hIn0="