統合カタログのエンティティ一覧¶
POST /api/v1/unified_catalog/entity/list
概要¶
現在のワークスペースにおける統合カタログのエンティティ一覧を取得します。エンティティデータは Studio が Kodo を通じてクエリします。
Body リクエストパラメータ¶
| パラメータ名 | 型 | 必須 | 説明 |
|---|---|---|---|
| pageIndex | integer | ページ番号、デフォルトは 1 空の場合は False 例: 1 $minValue: 1 $maxValue: 10000 |
|
| pageSize | integer | 1 ページあたりの件数、デフォルトは 20、最大 200 空の場合は False 例: 20 $minValue: 1 $maxValue: 200 |
|
| urn | string | エンティティ URN による完全一致フィルタ 空の場合は False |
|
| entityType | string | エンティティタイプコード。ヘルスフィールドでフィルタまたはソートする場合は必須 空の場合は False |
|
| provider | string | 単一のソースタイプ。複数の値の場合は providers の使用を推奨 空の場合は False |
|
| providers | array | ソースタイプのリスト(例: ["discovery", "manual"]) 空の場合は False |
|
| search | string | あいまい検索。urn、name、display_name に一致 空の場合は False |
|
| filters | json | attributes フィールドのフィルタ。トップレベルのヘルスフィールドもサポート。ヘルスフィルタの場合は entityType も同時に指定する必要があります 空の場合は False 例: {'env': ['prod'], 'project': ['demo']} |
|
| orderBy | string | ソートフィールド、デフォルトは updatedAt。ヘルスフィールドでソートする場合は entityType も同時に指定する必要があります 空の場合は False |
|
| order | string | ソート方向。asc または desc を指定。デフォルトは desc 空の場合は False |
パラメータ補足説明¶
リクエストパラメータの説明
| パラメータ名 | type | 必須 | 説明 |
|---|---|---|---|
| pageIndex | integer | いいえ | ページ番号、デフォルトは 1 |
| pageSize | integer | いいえ | 1 ページあたりの件数、デフォルトは 20、最大 200 |
| urn | string | いいえ | エンティティ URN による完全一致フィルタ |
| entityType | string | いいえ | エンティティタイプコード。ヘルスフィールドでフィルタまたはソートする場合は必須 |
| provider | string | いいえ | 単一のソースタイプ |
| providers | array[string] | いいえ | 複数のソースタイプのリスト |
| search | string | いいえ | あいまい検索。urn、name、display_name に一致 |
| filters | json | いいえ | attributes フィールドのフィルタ。トップレベルのヘルスフィールドもサポート。ヘルスフィルタの場合は entityType も同時に指定する必要があります |
| orderBy | string | いいえ | ソートフィールド、デフォルトは updatedAt。ヘルスフィールドでソートする場合は entityType も同時に指定する必要があります |
| order | string | いいえ | ソート方向。asc または desc を指定。デフォルトは desc |
filters の使用説明
- 通常のキーはエンティティの
attributesに一致します。healthStatus/healthScore/healthUpdateAt/brokenComponentsおよびスネークケースのエイリアスは、エンティティのトップレベル有効なヘルスフィールドに一致します。 - 例:
{"env":["prod"],"project":["demo"]}。ヘルスフィルタの例:{"healthStatus":["warning"]}。 - ある属性に複数の値を一致させたい場合は、すべて配列にまとめて渡してください。
呼び出し時の注意事項
- これはページネーションインターフェースです。常に
pageIndexとpageSizeを明示的に指定することを推奨します。 providerとprovidersはどちらか一方を使用することを推奨します。複数のソース値の場合はprovidersを使用してください。- 戻り値の
pagination.totalCountは、現在のフィルタ条件に一致するエンティティの総数を示します。 - 各エンティティには
healthConfig/healthEnabled/healthScore/healthStatus/healthUpdateAtが常に返されます。すべてのタイプで常に有効な設定に基づいて返され、バックエンドの readiness クリーンアップの進行状況に依存しません。
リクエスト例¶
curl 'https://openapi.guance.com/api/v1/unified_catalog/entity/list' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"pageIndex":1,"pageSize":20,"entityType":"database","filters":{"env":["prod"]}}'
レスポンス¶
{
"code": 200,
"content": {
"items": [
{
"urn": "urn:mysql:default:demo",
"entityType": "database",
"name": "demo",
"provider": "manual",
"attributes": {
"project": "demo",
"env": "prod"
},
"healthConfig": {},
"healthEnabled": false,
"healthScore": null,
"healthStatus": "unknown",
"healthUpdateAt": null,
"teamInfo": [],
"tagsInfo": []
}
],
"pagination": {
"pageIndex": 1,
"pageSize": 20,
"count": 1,
"totalCount": 1
}
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-XXXX"
}