Delen via


Uw gebruik van quota voor Unity Catalog-resources bewaken

In dit artikel wordt beschreven hoe u het gebruik van beveiligbare objecten van Unity Catalog bewaakt waarvoor resourcequota gelden.

U kunt de quota-API's voor Unity Catalog-resources gebruiken om het gebruik bij te houden. Hoewel sommige limieten op verzoek kunnen worden verhoogd, zijn andere vast. Als u onderbrekingen wilt voorkomen, moet u vooruitgaan en contact opnemen met uw Azure Databricks-accountteam als u verwacht dat u uw resourcequota overschrijdt.

Wat zijn resourcequota voor Unity Catalog?

Unity Catalog dwingt resourcequota af voor alle beveiligbare objecten die worden beheerd door Unity Catalog. Deze quota worden vermeld in resourcelimieten. Ze worden in dat artikel geïdentificeerd als quota voor Clean Rooms, Delta Sharing, Marketplace en Unity Catalog.

Elk quotum wordt gedefinieerd als een aantal objecten per bovenliggend object (of bereik). Bijvoorbeeld 10.000 tabellen per schema of 1.000.000 tabellen per metastore.

Query's uitvoeren op uw gebruik op resourcequota

Als u het gebruik proactief wilt controleren op resourcequota, gebruikt u de REST API's voor Unity Catalog-resourcequota:

  • GetQuota haalt het quotumgebruik op voor één quotumtype, gedefinieerd als het aantal onderliggende objecten per bovenliggende object (bijvoorbeeld tabellen per metastore).
  • ListQuotashaalt alle quotumwaarden op onder de doel-metastore, standaard gepagineerd.

Beide API's retourneren informatie in de vorm van een quota_info object dat de volgende velden bevat. U gebruikt ook enkele van deze velden wanneer u een aanvraag indient met behulp van de GetQuota-API:

  • parent_securable_type: Type van het bovenliggende object. Voor het aantal tabellen per schema is parent_securable_type schemadat bijvoorbeeld .

    Notitie

    Voor quota waarin het bovenliggende type een geregistreerd model is, stelt u het in parent_securable_type op function.

  • parent_full_name: Volledige naam van het bovenliggende quotum. Bijvoorbeeld het main.default schema. Als het bovenliggende item een metastore is, gebruikt u de metastore-id in uw aanvraag.

  • quota_name: Naam van het quotum. Dit is het onderliggende object (tabel, schema, share, enzovoort) achtervoegsel van -quota. Bijvoorbeeld: table-quota.

  • quota_count: Het meest recente gebruiksaantal. Bijvoorbeeld 33 tabellen per schema.

  • quota_limit: De quotumlimietwaarde op het moment dat het quotumaantal is berekend. Bijvoorbeeld 10000 tabellen per schema.

  • last_refreshed_at: De laatste keer dat het quotumaantal is vernieuwd. Dit wordt weergegeven als een Unix-tijdstempel. U kunt de tijdstempel converteren naar een door mensen leesbare indeling met behulp van onlinehulpprogramma's zoals Epoch Converter.

De ListQuotas API retourneert ook een paginatoken in het antwoord als het huidige antwoord niet alle resultaten retourneert.

API-autorisatie en -verificatie

Alleen accountbeheerders kunnen de resourcequota-API's aanroepen.

De accountbeheerder die de API's aanroept, moet gebruikmaken van OAuth-gebruikers-naar-machine-verificatie (U2M) (voor gebruikers of groepen) of OAuth M2M-verificatie (machine-naar-machine) (als de accountbeheerder een service-principal is). Zie Toegang tot Azure Databricks verifiëren met een gebruikersaccount met behulp van OAuth (OAuth U2M) of Toegang tot Azure Databricks verifiëren met een service-principal met behulp van OAuth (OAuth M2M). Door Databricks gegenereerde persoonlijke toegangstokens (PAT's) zijn ook een optie, maar niet aanbevolen.

De GetQuota-API gebruiken om quotumgebruikswaarden op te halen voor een specifiek quotumtype

Gebruik de GetQuota API om gebruiksgegevens op te halen voor één resourcequotum, zoals gedefinieerd door een bovenliggend bovenliggend koppelen.

Methode: GET

Pad: /unity-catalog/resource-quotas/{parent_securable_type}/{parent_full_name}/{quota_name}

Hoofdtekstparameters: Zie Query's uitvoeren op uw gebruik op basis van resourcequota.

Zie GET /unity-catalog/resource-quotas/voor de API-naslaginformatie.

GetQuota het aantal is nauwkeurig tot binnen 30 minuten na de laatste bewerking die is uitgevoerd onder het bovenliggende quotum. Het aantal kan verouderd zijn als er alleen verwijderbewerkingen zijn uitgevoerd, omdat Unity Catalog het quotumaantal alleen bijwerken tijdens het maken van resources. Bij het aanroepen GetQuota wordt een vernieuwing van het quotumaantal geactiveerd als deze verouderd is, maar de trigger asynchroon is en nieuwe aantallen worden mogelijk niet geretourneerd in de eerste aanroep.

Aanvraagvoorbeeld

Python-voorbeeld waarin het aantal schema's wordt aangevraagd dat is gemaakt in de main catalogus in de metastore die is gekoppeld aan de werkruimte:

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-voorbeeld dat hetzelfde doet:

$ curl -X GET -H "Authentication: Bearer $OAUTH_TOKEN" \
"https://example-workspace.databricks.com/api/2.1/unity-catalog/resource-quotas/catalog/main/schema-quota"

Responsvoorbeeld

Antwoord met 2691 schema's ten opzichte van de limiet van 10.000 schema-per-metastore:

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

De ListQuotas-API gebruiken om gebruiksgegevens op te halen voor alle quotumtypen in een metastore

Gebruik de ListQuotas API om gebruiksgegevens op te halen voor alle quotatypen in een metastore.

Methode: GET

Pad: /unity-catalog/resource-quotas/all-resource-quotas

Hoofdtekstparameters:

  • max_results: Het aantal resultaten dat moet worden geretourneerd. De maximumwaarde is 500. De standaardwaarde is 100.
  • page_token: Paginatoken van de vorige aanvraag om de volgende pagina met resultaten op te halen.

Zie GET /unity-catalog/resource-quotas/all-resource-quotas voor de API-naslaginformatie.

In tegenstelling tot GetQuotas, ListQuotas heeft geen SLA voor de versheid van aantallen. Er worden ook geen vernieuwingen van het quotumaantal geactiveerd. Gebruik de GetQuota API voor maximale nauwkeurigheid.

Aanvraagvoorbeeld

Python-voorbeeld waarin quotumaantallen worden aangevraagd voor alle objecten in de metastore die is gekoppeld aan de werkruimte, waarbij 5 resultaten worden opgegeven die per pagina moeten worden geretourneerd:

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-voorbeeld dat hetzelfde doet:

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

Responsvoorbeeld

Antwoord met één pagina met vijf quotumaantallen:

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