Övervaka din användning av Enhetskatalogens resurskvoter
I den här artikeln beskrivs hur du övervakar din användning av skyddsbara objekt i Unity Catalog som omfattas av resurskvoter.
Du kan använda API:er för enhetskatalogresurser för att spåra användningen. Även om vissa gränser kan ökas vid begäran, är andra fasta. För att undvika störningar kan du planera i förväg och kontakta ditt Azure Databricks-kontoteam om du räknar med att överskrida dina resurskvoter.
Vad är Resurskvoter för Unity Catalog?
Unity Catalog tillämpar resurskvoter på alla skyddsbara objekt som hanteras av Unity Catalog. Dessa kvoter visas i Resursgränser. De identifieras i den artikeln som kvoter för Clean Rooms, Delta Sharing, Marketplace och Unity Catalog.
Varje kvot definieras som ett antal objekt per överordnat objekt (eller omfång). Till exempel 10 000 tabeller per schema eller 1 000 000 tabeller per metaarkiv.
Fråga din användning mot resurskvoter
Om du vill övervaka användningen mot resurskvoter proaktivt använder du REST-API:erna för Enhetskatalogresurskvoter:
GetQuota
hämtar kvotanvändning för en kvottyp, definierad som antalet underordnade objekt per överordnad (till exempel tabeller per metaarkiv).ListQuotas
hämtar alla kvotvärden under målmetaarkivet, sidnumrerat som standard.
Båda API:erna returnerar information i form av ett quota_info
objekt som innehåller följande fält. Du använder också några av dessa fält när du gör en begäran med hjälp av GetQuota-API:et:
parent_securable_type
: Typ av det överordnade objektet. För antaletparent_securable_type
tabeller per schema ärschema
till exempel .Kommentar
För kvoter där den överordnade typen är en registrerad modell anger du
parent_securable_type
tillfunction
.parent_full_name:
Fullständigt namn på den överordnade kvoten. Till exempel schematmain.default
. Om den överordnade är ett metaarkiv använder du metaarkiv-ID:t i din begäran.quota_name
: Kvotens namn. Det här är det underordnade objektet (tabell, schema, resurs och så vidare) suffixet av-quota
. Exempel:table-quota
quota_count
: Det senaste användningsantalet. Till exempel33
tabeller per schema.quota_limit
: Kvotgränsvärdet vid den tidpunkt då kvotantalet beräknades. Till exempel10000
tabeller per schema.last_refreshed_at
: Senaste gången kvotantalet uppdaterades. Detta visas som en Tidsstämpel för Unix-epok. Du kan konvertera tidsstämpeln till ett läsbart format för människor med hjälp av onlineverktyg som Epoch Converter.
API:et ListQuotas
returnerar också en sidtoken i svaret om det aktuella svaret inte returnerar alla resultat.
API-auktorisering och autentisering
Endast kontoadministratörer kan anropa API:er för resurskvoter.
Kontoadministratören som anropar API:erna bör använda antingen OAuth-autentisering från användare till dator (U2M) (för användare eller grupper) eller OAuth-autentisering från dator till dator (M2M) (om kontoadministratören är tjänstens huvudnamn). Se Autentisera åtkomst till Azure Databricks med ett användarkonto med OAuth (OAuth U2M) eller Autentisera åtkomst till Azure Databricks med ett huvudnamn för tjänsten med OAuth (OAuth M2M). Databricks-genererade personliga åtkomsttoken (PAT) är också ett alternativ, men rekommenderas inte.
Använd GetQuota-API:et för att hämta kvotanvändningsvärden för en viss kvottyp
Använd API:et GetQuota
för att hämta användningsinformation för en enskild resurskvot som definieras av en underordnad-överordnad parkoppling.
Metod: GET
Sökväg: /unity-catalog/resource-quotas/{parent_securable_type}/{parent_full_name}/{quota_name}
Brödtextparametrar: För parameterbeskrivningar, se Fråga din användning mot resurskvoter.
Api-referensen finns i GET /unity-catalog/resource-quotas/.
GetQuota
antal är korrekta inom 30 minuter efter den senaste skapandeåtgärden som utfördes under den överordnade kvoten. Antalet kan vara inaktuellt om endast borttagningsåtgärder har utförts, eftersom Unity Catalog endast uppdaterar kvotantalet när resursen skapas. Anrop GetQuota
utlöser en uppdatering av kvotantalet om det är inaktuellt, men utlösaren är asynkron och nya antal kanske inte returneras i det första anropet.
Exempel på begäran
Python-exempel som begär antalet scheman som har skapats i main
katalogen i metaarkivet som är kopplat till arbetsytan:
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)
Curl-exempel som gör samma sak:
$ curl -X GET -H "Authentication: Bearer $OAUTH_TOKEN" \
"https://example-workspace.databricks.com/api/2.1/unity-catalog/resource-quotas/catalog/main/schema-quota"
Svarsexempel
Svar som visar 2 691 scheman mot gränsen på 10 000 schema per metaarkiv:
{
"quota_info": {
"parent_securable_type": "CATALOG",
"parent_full_name": "main",
"quota_name": "schema-quota",
"quota_count": 2691,
"quota_limit": 10000,
"last_refreshed_at": 1722559381517
}
}
Använd ListQuotas API för att hämta användningsdata för alla kvottyper i ett metaarkiv
Använd API:et ListQuotas
för att hämta användningsdata för alla kvottyper i ett metaarkiv.
Metod: GET
Sökväg: /unity-catalog/resource-quotas/all-resource-quotas
Brödtextparametrar:
max_results
: Antal resultat som ska returneras. Maximalt värde är 500. Standardvärdet är 100.page_token
: Sidtoken från föregående begäran för att hämta nästa sida med resultat.
Api-referensen finns i GET /unity-catalog/resource-quotas/all-resource-quotas.
Till skillnad från GetQuotas
har ListQuotas
inget serviceavtal på nyttigheten av antal. Det utlöser inte heller uppdateringar av antalet kvoter. Använd API:et för GetQuota
maximal noggrannhet.
Exempel på begäran
Python-exempel som begär antal kvoter för alla objekt i det metaarkiv som är kopplat till arbetsytan och som anger 5 resultat som ska returneras per sida:
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
Curl-exempel som gör samma sak:
$ 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"
Svarsexempel
Svar som visar en sida med fem kvotantal:
"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="