Megosztás a következőn keresztül:


A Unity Catalog-erőforráskvóták használatának monitorozása

Ez a cikk azt ismerteti, hogyan figyelheti az erőforráskvóták hatálya alá tartozó, a Unity Catalog biztonságos objektumainak használatát.

A Unity Catalog erőforráskvóta API-kkal nyomon követheti a használatot. Bár egyes korlátok igény szerint növelhetők, mások ki vannak javítva. A fennakadások elkerülése érdekében tervezze meg előre az Azure Databricks-fiók csapatát, ha várhatóan túllépi az erőforráskvótákat.

Mik azok a Unity Catalog-erőforráskvóták?

A Unity Catalog erőforráskvótákat kényszerít ki a Unity Catalogáltal felügyelt összes biztonságos objektumra. Ezek a kvóták az erőforráskorlátokban vannak felsorolva. Ebben a cikkben a Clean Rooms, a Delta Sharing, a Marketplace és a Unity Catalog kvótáiként vannak azonosítva.

Minden kvóta szülőobjektumonként (vagy hatókörönként) több objektumként van definiálva. Például sémánként 10 000 tábla vagy metaadattáronként 1 000 000 tábla.

A használat lekérdezése erőforráskvóták alapján

Ha proaktív módon szeretné monitorozni a használatot az erőforráskvótákon, használja a Unity Catalog erőforráskvóták REST API-jait:

  • GetQuota egy kvótatípus kvótahasználatát kéri le, amely a szülőnkénti gyermekobjektumok (például a metaadattárak táblái) számaként van definiálva.
  • ListQuotasa megfelelő metadata tárolóban lévő összes kvótaértéket lekéri, alapértelmezés szerint oldalanként.

Mindkét API az alábbi mezőket tartalmazó objektum formájában quota_info ad vissza információkat. Az alábbi mezők némelyikét is használhatja a GetQuota API használatával történő kéréskor:

  • parent_securable_type: A szülőobjektum típusa. Például a táblák sémánkénti számához a parent_securable_typeschema.

    Megjegyzés:

    Azon kvóták esetében, amelyekben a szülőtípus regisztrált modell, állítsa be a parent_securable_type értéket function-re.

  • parent_full_name: A kvóta szülőjének teljes neve. Például a main.default sémát. Ha a szülő egy metaadattár, használja a kérés metaadattár-azonosítóját.

  • quota_name: A kvóta neve. Ez a gyermekobjektum (tábla, séma, megosztás stb.), amely -quota-al végződik. Például: table-quota.

  • quota_count: A legújabb használat száma. Például sémánként 33 tábla van.

  • quota_limit: A kvótakorlát értéke a kvótaszám kiszámításakor. Például sémánként 10000 tábla van.

  • last_refreshed_at: A kvótaszám legutóbbi frissítésének időpontja. Ez Unix-időbélyegként jelenik meg. Az időbélyeget emberi olvasásra alkalmas formátummá alakíthatja online eszközökkel, például az Epoch Converter használatával.

Az ListQuotas API egy lapozási tokent is visszaad a válaszban, ha az aktuális válasz nem tartalmazza az összes eredményt.

API-hitelesítés és -hitelesítés

Csak a fiókadminisztrátor hívhatja meg az erőforráskvóták API-kat.

Az API-kat hívó fiókadminisztrátornak OAuth felhasználó–gép (U2M) hitelesítést (felhasználók vagy csoportok esetén) vagy OAuth gépről gépre (M2M) hitelesítést kell használnia (ha a fiókadminisztrátor szolgáltatásnév). Lásd: Az Azure Databricks-erőforrások interaktív elérésének engedélyezése felhasználói fiókkal az OAuth segítségével vagy felügyelet nélküli elérés engedélyezése az Azure Databricks-erőforrásokhoz szolgáltatásnévvel az OAuthhasználatával. A Databricks által létrehozott személyes hozzáférési jogkivonatok (PAT-k) szintén választhatók, de nem ajánlottak.

Egy adott kvótatípus kvótahasználati értékeinek lekérése a GetQuota API használatával

A GetQuota API használatával lekérheti a gyermek-szülő párosítás által meghatározott egyetlen erőforráskvóta használati adatait.

Módszer: GET

Elérési út: /unity-catalog/resource-quotas/{parent_securable_type}/{parent_full_name}/{quota_name}

Testparaméterek: A paraméterek leírásához, lásd: Kérdezze le a használatát az erőforrás-kvóták ellen.

Az API-referenciáért lásd: GET /unity-catalog/resource-quotas/.

GetQuota a darabszámok a kvóta szülője alatt végrehajtott utolsó létrehozási művelet után 30 percen belül pontosak. A darabszám elavult lehet, ha csak törlési műveleteket hajtottak végre, mert a Unity Catalog csak az erőforrás létrehozásakor frissíti a kvótaszámot. A GetQuota hívása a kvótaszám frissítését aktiválja, ha az elavult, de az eseményindító aszinkron, és előfordulhat, hogy az első hívásban nem lesznek visszaadva új darabszámok.

Példa kérése

Python-példa, amely a munkaterülethez csatolt metaadattár main katalógusában létrehozott sémák számát kéri le:

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-példa, amely ugyanezt teszi:

$ 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élda válaszra

Válasz, amely 2691 sémát jelenít meg a 10 000 séma/metaadattár korlátja szerint:

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

A ListQuotas API használatával lekérheti a metaadattár összes kvótatípusának használati adatait

A ListQuotas API használatával lekérheti a metaadattár összes kvótatípusának használati adatait.

Módszer: GET

Elérési út: /unity-catalog/resource-quotas/all-resource-quotas

törzsparaméterek:

  • max_results: A visszaadandó eredmények száma. A maximális érték 500. Alapértelmezés szerint 100.
  • page_token: Az előző kérés oldal jogkivonata a következő találatoldal lekéréséhez.

Az API-referenciáért lásd: GET /unity-catalog/resource-quotas/all-resource-quotas.

Ellentétben GetQuotas, ListQuotas nincs SLA a frissesség a darabszám. A kvótaszám frissítését sem aktiválja. A maximális pontosság érdekében használja az API-t GetQuota .

Példa kérése

Python-példa, amely a munkaterülethez csatolt metaadattárban lévő összes objektum kvótaszámát kéri le, és 5 találatot ad vissza oldalanként:

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-példa, amely ugyanezt teszi:

$ 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élda válaszra

Egy 5 kvótaszámú oldalt megjelenítő válasz:

"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="