Pano oluşturmak ve yönetmek için pano API'lerini kullanma

Databricks REST API'sinde özellikle yapay zeka/BI panolarını yönetmeye yönelik yönetim araçları bulunur. Bu sayfada, pano oluşturmak ve yönetmek için API araçlarının nasıl kullanılacağı gösterilmektedir. Bu görevleri kullanıcı arabirimi üzerinden gerçekleştirmek için bkz. Yazar panoları.

Not

AI/BI panoları daha önce Lakeview panoları olarak biliniyordu. Lakeview API'sinde bu ad korunur.

Önkoşullar

Taslak bir pano edinin

Taslak panodan pano ayrıntılarını çekmek için dashboard_id kullanabilirsiniz. Aşağıdaki örnek istek ve yanıt, çalışma alanında taslak panonun geçerli sürümüne ilişkin ayrıntıları içerir.

etag alanı panonun en son sürümünü izler. Ek güncelleştirmeler yapmadan önce sürümü doğrulamak için bunu kullanabilirsiniz.

GET /api/2.0/lakeview/dashboards/04aab30f99ea444490c10c85852f216c

Response:

{
  "dashboard_id": "04aab30f99ea444490c10c85852f216c",
  "display_name": "Monthly Traffic Report",
  "path": "/path/to/dir/Monthly Traffic Report.lvdash.json",
  "create_time": "2019-08-24T14:15:22Z",
  "update_time": "2019-08-24T14:15:22Z",
  "warehouse_id": "47bb1c472649e711",
  "etag": "80611980",
  "serialized_dashboard": "{\"pages\":[{\"name\":\"b532570b\",\"displayName\":\"New Page\"}]}",
  "lifecycle_state": "ACTIVE",
  "parent_path": "/path/to/dir"
}

Panoyu güncelleştirme

Bu işlemle oluşturulan yeni AI/BI panosunu güncelleştirmek için önceki yanıttaki dashboard_id kullanabilirsiniz. Aşağıdaki örnekte örnek bir istek ve yanıt gösterilmektedir. Önceki örnekteki dashboard_id yol parametresi olarak eklenmiştir.

display_name ve warehouse_id değiştirildi. Güncellenmiş pano, yanıtta gösterildiği gibi yeni bir ad ve tanımlı varsayılan ambar içermektedir. etag alanı isteğe bağlıdır. etag belirtilen sürüm geçerli sürümle eşleşmiyorsa, güncelleştirme reddedilir.

PATCH /api/2.0/lakeview/dashboards/04aab30f99ea444490c10c85852f216c

Request body:

{
  "display_name": "Monthly Traffic Report 2",
  "warehouse_id": "c03a4f8a7162bc9f",
  "etag": "80611980"
}

Response:

{
  "dashboard_id": "04aab30f99ea444490c10c85852f216c",
  "display_name": "Monthly Traffic Report 2",
  "path": "/path/to/dir/Monthly Traffic Report 2.lvdash.json",
  "create_time": "2019-08-24T14:15:22Z",
  "update_time": "2019-08-24T14:15:22Z",
  "warehouse_id": "c03a4f8a7162bc9f",
  "etag": "80611981",
  "serialized_dashboard": "{\"pages\":[{\"name\":\"b532570b\",\"displayName\":\"New Page\"}]}",
  "lifecycle_state": "ACTIVE",
  "parent_path": "/path/to/dir"
}

Pano oluşturma

Panonuzu çalışma alanları arasında taşımak için Lakeview API'sindeki Pano oluşturma uç noktasını kullanabilirsiniz. Aşağıdaki örnek, yeni bir pano oluşturan örnek istek gövdesini ve yanıtını içerir. Önceki örnekteki serialized_dashboard anahtarı, kopya taslak pano oluşturmak için gerekli tüm ayrıntıları içerir.

Örnek, yeni çalışma alanındaki bir ambarla bağlantılı yeni warehouse_id değerini içerir. bkz. POST /api/2.0/lakeview/dashboards.

POST /api/2.0/lakeview/dashboards

Request body:

{
  "display_name": "Monthly Traffic Report 2",
  "warehouse_id": "5e2f98ab3476cfd0",
  "serialized_dashboard": "{\"pages\":[{\"name\":\"b532570b\",\"displayName\":\"New Page\"}]}",
  "parent_path": "/path/to/dir"
}

Response:

{
  "dashboard_id": "1e23fd84b6ac7894e2b053907dca9b2f",
  "display_name": "Monthly Traffic Report 2",
  "path": "/path/to/dir/Monthly Traffic Report 2.lvdash.json",
  "create_time": "2019-08-24T14:15:22Z",
  "update_time": "2019-08-24T14:15:22Z",
  "warehouse_id": "5e2f98ab3476cfd0",
  "etag": "14350695",
  "serialized_dashboard": "{\"pages\":[{\"name\":\"b532570b\",\"displayName\":\"New Page\"}]}",
  "lifecycle_state": "ACTIVE",
  "parent_path": "/path/to/dir"
}

İstek içeriğinde gerekli olan tek özellik bir display_name. Bu araç pano içeriğini kopyalayabilir veya yeni, boş panolar oluşturabilir.

Panoyu yayımla

Dashboard'ı yayımlamak, görüntüleyicilerin giriş bilgilerini ayarlamak ve taslak panoda ayarlanan 'yi geçersiz kılmak için warehouse_id uç noktasını kullanabilirsiniz. Panonun UUID değerini yol parametresi olarak eklemeniz gerekir.

İstek gövdesi embed_credentials özelliğini falseolarak ayarlar. varsayılan olarak, embed_credentialstrueolarak ayarlanır. Kimlik bilgilerini eklemek, hesap düzeyindeki kullanıcıların pano verilerini görüntülemesine olanak tanır. Bkz. Bir pano yayımlayın. Yeni bir warehouse_id değeri göz ardı edildiğinden, yayımlanmış pano, taslak halindeki panoya atanmış aynı ambarı kullanır.

POST /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published

Request body:

{
  "embed_credentials": false
}

Response:

{
  "display_name": "Monthly Traffic Report 2",
  "warehouse_id": "5e2f98ab3476cfd0",
  "embed_credentials": false,
  "revision_create_time": "2019-08-24T14:15:22Z"
}

Hizmet sorumlusu kimlik bilgileriyle pano yayımlama

API çağrısı yaparken hizmet sorumlusu olarak kimlik doğrulaması yaparak hizmet sorumlusu kimlik bilgileri eklenmiş bir pano yayımlayabilirsiniz. Bir hizmet sorumlusunun belirtecini kullanarak yayımladığınızda, pano bu hizmet sorumlusunun verileri ve işlem izinleri ile yayımlanır ve doğrudan veri erişimi olmayan kullanıcıların panoyu görüntülemesine olanak tanır.

Yayımlamadan önce, hizmet ilkesi panoda en az CAN MANAGE izinlerine, dashboard'da kullanılan tüm veri kaynaklarındaki SELECT ayrıcalıkları ve ambarda CAN USE izinlerine sahip olmalıdır. Hizmet sorumluları oluşturma ve OAuth gizli anahtarları oluşturma hakkında ayrıntılı bilgi için bkz. Service principals ve Azure Databricks'e hizmet sorumlusu erişimini OAuth ile yetkilendirme.

İlk olarak, erişim belirteci almak için hizmet sorumlusu olarak kimlik doğrulaması yapın:

POST https://<databricks-instance>/oidc/v1/token

Request body (form-urlencoded):

grant_type=client_credentials&scope=all-apis

Authorization header:

Basic <base64-encoded-client-id:client-secret>

Response:

{
  "access_token": "eyJraWQiOiJkYTA4ZTVjZ...",
  "token_type": "Bearer",
  "expires_in": 3600
}

Ardından, hizmet sorumlusunun kimlik bilgileriyle panoyu yayımlamak için erişim belirtecini kullanın:

POST /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published

Authorization header:

Bearer <service-principal-access-token>

Request body:

{
  "embed_credentials": true,
  "warehouse_id": "5e2f98ab3476cfd0"
}

Response:

{
  "display_name": "Monthly Traffic Report 2",
  "warehouse_id": "5e2f98ab3476cfd0",
  "embed_credentials": true,
  "revision_create_time": "2019-08-24T14:15:22Z"
}

embed_credentials olarak ayarlandığındatrue, panonun görüntüleyicileri verilere ve işlem kaynaklarına erişmek için hizmet sorumlusunun izinlerini kullanır. Kullanıcıların yalnızca pano nesnesine erişmek için izinlere ihtiyacı vardır. Tüm pano sorguları hizmet sorumlusunun kimliği kullanılarak çalıştırıldığından denetim günlükleri, hizmet sorumlusunu sorgu yürütücüsü olarak gösterir.

Yayımlanan panoya erişim

GET /api/2.0/lakeview/dashboards/{dashboard_id}/published yanıt, önceki örnekte sağlanan yanıta benzer. dashboard_id yol parametresi olarak eklenir.

GET /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published

Response:

{
  "display_name": "Monthly Traffic Report 2",
  "warehouse_id": "5e2f98ab3476cfd0",
  "embed_credentials": false,
  "revision_create_time": "2019-08-24T14:15:22Z"
}

Panoyu yayından kaldır

Lakeview API'sini kullanarak bir gösterge panelini yayından kaldırdığınızda, taslak gösterge paneli korunur. Bu istek, panonun yayımlanmış sürümünü siler.

Aşağıdaki örnek, önceki örnekteki dashboard_id kullanır. Başarılı bir istek 200 durum kodu verir. Yanıt gövdesi yok.

DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f/published

Çöp kutusu panosu

Taslak panoyu çöp kutusuna göndermek için DELETE /api/2.0/lakeview/dashboards/{dashboard_id} kullanın. Pano hâlâ kurtarılabilir.

Aşağıdaki örnek, önceki örnekteki dashboard_id kullanır. Başarılı bir istek 200 durum kodu verir. Yanıt gövdesi yok.

DELETE /api/2.0/lakeview/dashboards/1e23fd84b6ac7894e2b053907dca9b2f

Not

Kalıcı silme gerçekleştirmek için POST /api.2.0/workspace/delete kullanın

Sonraki adımlar

  • Gösterge tabloları hakkında daha fazla bilgi edinmek için bkz. Gösterge Tabloları.
  • REST API hakkında daha fazla bilgi edinmek için bkz. Databricks REST API başvurusu .