Dela via


Ö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).
  • ListQuotashä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 antalet parent_securable_type tabeller per schema är schematill exempel .

    Kommentar

    För kvoter där den överordnade typen är en registrerad modell anger du parent_securable_type till function.

  • parent_full_name: Fullständigt namn på den överordnade kvoten. Till exempel schemat main.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 exempel 33 tabeller per schema.

  • quota_limit: Kvotgränsvärdet vid den tidpunkt då kvotantalet beräknades. Till exempel 10000 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 GetQuotashar 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="