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).ListQuotas
pobiera 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
toschema
.Uwaga
W przypadku przydziałów, w których typ nadrzędny jest zarejestrowanym modelem, ustaw wartość
parent_securable_type
nafunction
.parent_full_name:
Pełna nazwa elementu nadrzędnego limitu przydziału. Na przykładmain.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ładtable-quota
.quota_count
: najnowsza liczba użycia. Na przykład33
tabele na schemat.quota_limit
: Wartość limitu przydziału w czasie obliczania liczby przydziałów. Na przykład10000
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 GetQuotas
programu 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="