Monitorování využití kvót prostředků katalogu Unity
Tento článek popisuje, jak monitorovat využití zabezpečitelných objektů katalogu Unity, které podléhají kvótám prostředků.
Ke sledování využití můžete použít rozhraní API pro kvóty prostředků katalogu Unity. I když je možné na vyžádání zvýšit některé limity, jiné jsou opravené. Abyste se vyhnuli přerušení, naplánujte předem a pokud očekáváte překročení kvót prostředků, obraťte se na tým účtů Azure Databricks.
Co jsou kvóty prostředků katalogu Unity?
Katalog Unity vynucuje kvóty prostředků pro všechny zabezpečitelné objekty spravované katalogem Unity. Tyto kvóty jsou uvedené v omezeních prostředků. V tomto článku se označují jako kvóty pro čisté místnosti, rozdílové sdílení, marketplace a katalog Unity.
Každá kvóta je definována jako počet objektů na nadřazený objekt (nebo obor). Například 10 000 tabulek na schéma nebo 1 000 000 tabulek na metastore.
Dotazování využití na kvóty prostředků
Pokud chcete aktivně monitorovat využití kvót prostředků, použijte rozhraní REST API pro kvóty prostředků katalogu Unity:
GetQuota
načte využití kvóty pro jeden typ kvóty definované jako počet podřízených objektů na nadřazený objekt (například tabulky na metastore).ListQuotas
načte všechny hodnoty kvóty v rámci cílového metastoru ve výchozím nastavení stránkované.
Obě rozhraní API vrací informace ve formě objektu quota_info
, který obsahuje následující pole. Některá z těchto polí také použijete při vytváření požadavku pomocí rozhraní GetQuota API:
parent_securable_type
: Typ nadřazeného objektu. Například pro počet tabulek podle schématu je hodnotaparent_securable_type
schema
.Poznámka:
Pro kvóty, ve kterých je nadřazený typ registrovaným modelem, nastavte
parent_securable_type
hodnotufunction
.parent_full_name:
Úplný název nadřazené kvóty Napříkladmain.default
schéma. Pokud je nadřazeným objektem metastore, použijte ID metastoru v požadavku.quota_name
: Název kvóty. Toto je podřízený objekt (tabulka, schéma, sdílená složka a tak dále) přípona .-quota
Napříkladtable-quota
.quota_count
: Nejnovější počet využití. Například33
tabulky na schéma.quota_limit
: Hodnota limitu kvóty v době výpočtu počtu kvót. Například10000
tabulky na schéma.last_refreshed_at
: Čas poslední aktualizace počtu kvót. Zobrazí se jako časové razítko unixového epochu. Časové razítko můžete převést na čitelný formát člověka pomocí online nástrojů, jako je například Epoch Converter.
Rozhraní ListQuotas
API také vrátí token stránky v odpovědi, pokud aktuální odpověď nevrátí všechny výsledky.
Autorizace a ověřování rozhraní API
Rozhraní API kvót prostředků můžou volat pouze správci účtů.
Správce účtu, který volá rozhraní API, by měl používat ověřování uživateleM (U2M) OAuth (pro uživatele nebo skupiny) nebo ověřování OAuth typu počítač-počítač (M2M) (pokud je správcem účtu instanční objekt). Viz Ověření přístupu k Azure Databricks pomocí uživatelského účtu pomocí OAuth (OAuth U2M) nebo ověření přístupu k Azure Databricks pomocí instančního objektu pomocí OAuth (OAuth M2M). Tokeny pat (PAT) generované službou Databricks jsou také možností, ale nedoporučuje se.
Získání hodnot využití kvóty pro konkrétní typ kvóty pomocí rozhraní GetQuota API
GetQuota
Pomocí rozhraní API získáte informace o využití pro jednu kvótu prostředků definovanou párem podřízeného nadřazeného objektu.
Metoda: GET
Cesta: /unity-catalog/resource-quotas/{parent_securable_type}/{parent_full_name}/{quota_name}
Základní parametry: Popisy parametrů najdete v tématu Dotazování využití na kvóty prostředků.
Referenční informace k rozhraní API najdete v tématu GET /unity-catalog/resource-quotas/.
GetQuota
počety jsou přesné do 30 minut od poslední operace vytvoření provedené v rámci nadřazené kvóty. Počet může být zastaralý, pokud byly provedeny pouze operace odstranění, protože Katalog Unity aktualizuje počet kvót pouze během vytváření prostředků. Volání GetQuota
aktivuje aktualizaci počtu kvót, pokud je zastaralý, ale trigger je asynchronní a nové počty nemusí být vráceny při prvním volání.
Příklad požadavku
Příklad Pythonu, který požaduje počet schémat vytvořených v main
katalogu v metastoru připojeném k pracovnímu prostoru:
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)
Příklad curl, který dělá totéž:
$ curl -X GET -H "Authentication: Bearer $OAUTH_TOKEN" \
"https://example-workspace.databricks.com/api/2.1/unity-catalog/resource-quotas/catalog/main/schema-quota"
Příklad odpovědi
Odpověď, která zobrazuje 2691 schémat proti limitu 10 000 schémat na metastor:
{
"quota_info": {
"parent_securable_type": "CATALOG",
"parent_full_name": "main",
"quota_name": "schema-quota",
"quota_count": 2691,
"quota_limit": 10000,
"last_refreshed_at": 1722559381517
}
}
Použití rozhraní ListQuotas API k získání dat o využití pro všechny typy kvót v metastoru
ListQuotas
Pomocí rozhraní API získáte data o využití pro všechny typy kvót v metastoru.
Metoda: GET
Cesta: /unity-catalog/resource-quotas/all-resource-quotas
Základní parametry:
max_results
: Počet výsledků, které se mají vrátit. Maximální hodnota je 500. Výchozí hodnota je 100.page_token
: Token stránky z předchozího požadavku na načtení další stránky výsledků.
Referenční informace k rozhraní API najdete v tématu GET /unity-catalog/resource-quotas/all-resource-quotas.
ListQuotas
Na rozdílodch GetQuotas
Neaktivuje ani aktualizace počtu kvót. K dosažení maximální přesnosti použijte GetQuota
rozhraní API.
Příklad požadavku
Příklad Pythonu, který požaduje počty kvót pro všechny objekty v metastoru připojeném k pracovnímu prostoru, a určuje 5 výsledků, které se mají vrátit na stránku:
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
Příklad curl, který dělá totéž:
$ 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"
Příklad odpovědi
Odpověď, která zobrazuje jednu stránku s 5 počty kvót:
"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="