こちらのアップデートです。
Monitor Unity Catalog object usage against quotas using the new Resource Quotas APIs
新たなResource Quotas APIによって、リソースのクォータに対するUnity Catalogのセキュリティ保護可能オブジェクトの使用量を監視できるようになります。まもなく、クォータ制限に到達しそうになった際にメールで通知を行えるようになります。Unity Catalog のリソース クォータの使用状況を監視するやResource Quotas API referenceをご覧ください。
早速動かしてみます。こちらを実行するにはアカウント管理者である必要があります。
import requests
import json
headers = {'Authentication': f'Bearer {token}'}
r = requests.get('https://<Databricksワークスペースのホスト名>/api/2.1/unity-catalog/resource-quotas/catalog/main/schema-quota', headers=headers)
response_json = json.loads(r.text)
print(json.dumps(response_json, indent=2))
上のAPI呼び出しでは、カタログcatalog
のmain
に対しスキーマの制限に対する使用量schema-quota
を確認しています。token
はパーソナルアクセストークンを使っています(非推奨です)。
上を実行すると、以下のようにquota_limit
の10000に対してquota_count
が6であることがわかります。
{
"quota_info": {
"parent_securable_type": "CATALOG",
"parent_full_name": "main",
"quota_name": "schema-quota",
"quota_count": 6,
"quota_limit": 10000,
"last_refreshed_at": 1715690931393
}
}
次の例では、メタストア内のオブジェクトのすべてのクォータをチェックしています。
注意
API呼び出し数のレート制限に引っかかる場合がありますので、スリープ処理を入れるなどした方がいいと思います。
import requests
headers = {'Authentication': f'Bearer {token}'}
next_page = None
max_results = 5
results = []
while True:
payload = {'max_results': max_results, 'page_token': next_page}
r = requests.get(
'https://<Databricksワークスペースのホスト名>/api/2.1/unity-catalog/resource-quotas/all-resource-quotas', headers=headers, params=payload).json()
print(json.dumps(r, indent=2))
results.extend(r["quotas"])
if "next_page_token" not in r: break
next_page = r["next_page_token"]
results
catalog-quota
やconnection-quota
なども表示されています。
{
"quotas": [
{
"parent_securable_type": "CATALOG",
"parent_full_name": "test",
"quota_name": "schema-quota",
"quota_count": 1,
"quota_limit": 10000,
"last_refreshed_at": 3601000
},
<中略>
{
"quotas": [
{
"parent_securable_type": "METASTORE",
"parent_full_name": "4c55425f-e291-45f8-a4e7-29a103c19e29",
"quota_name": "catalog-quota",
"quota_count": 12,
"quota_limit": 1000,
"last_refreshed_at": 1719878450546
},
{
"parent_securable_type": "METASTORE",
"parent_full_name": "4c55425f-e291-45f8-a4e7-29a103c19e29",
"quota_name": "connection-quota",
"quota_count": 2,
"quota_limit": 1000,
"last_refreshed_at": 3601000
},
{
"parent_securable_type": "METASTORE",
"parent_full_name": "4c55425f-e291-45f8-a4e7-29a103c19e29",
"quota_name": "external_location-quota",
"quota_count": 5,
"quota_limit": 10000,
"last_refreshed_at": 1715689266451
}
],
これらのデータを活用することで、アカウント全体でのオブジェクト数が制限を超えそうかどうかをダッシュボードなどで監視できるようになります。是非ご活用ください。