Aracılığıyla paylaş


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 makalede, mevcut eski bir panodan yeni bir yapay zeka/BI panosunun nasıl oluşturulacağı gösterilmektedir. Ardından, panoyu yönetmek için API araçlarının nasıl kullanılacağını gösterir.

Not

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

Önkoşullar

Bir panoyu taşıma

Mevcut eski bir panodan yeni bir AI/BI panosu oluşturabilirsiniz. Lakeview API'sinin Geçiş panosu uç noktası source_dashboard_idgerektirir. İsteğe bağlı olarak, yeni panoyu depolamak istediğiniz konumun görüntü adını ve saklama yolunu ekleyebilirsiniz.

Eski panoları alma

source_dashboard_idalmak için, çalışma alanınızdaki tüm gösterge panellerinin listesini almak üzere eski gösterge panelleri API'si kullanın. results listesindeki her pano nesnesi, Azure Databricks REST API hizmetlerindeki eski panoya başvurmak için kullanabileceğiniz bir UUID içerir.

Aşağıdaki örnek, 'Pano nesnelerini al' uç noktası için örnek bir istek ve yanıtı göstermektedir. Bazı yanıt ayrıntıları netlik için atlanmıştır. Bu uç noktanın ve örnek yanıtın tam açıklaması için bkz. GET /api/2.0/preview/sql/dashboards.

Eski bir panonun UUID'si, id'de geri döndürülen nesneler listesinin en üst düzeyi results'dır. Eski panolar için UUID, 4e443c27-9f61-4f2e-a12d-ea5668460bf1gibi görünür.

GET /api/2.0/preview/sql/dashboards

Query Parameters:

{
"page_size": <optional>,
"page": <optional>,
"order": <optional>
"q": <optional>
}

Response:

{
  "count": 1,
  "page": 1,
  "page_size": 25,
  "results": [
    {
      "id": "4e443c27-9f61-4f2e-a12d-ea5668460bf1",
      "slug": "sales-dashboard",
      "parent": "folders/2025532471912059",
      ...
    }
  ]
}

Eski panoyu taşıma

Otomatik olarak yeni bir AI/BI panosuna dönüştürülen bir kopya oluşturmak için eski panoyla ilişkilendirilmiş UUID'yi kullanın. Bu, kullanıcı arabiriminde bulunan AI/BI Pano Kopyalama aracı gibi çalışır. Azure Databricks kullanıcı arabirimini kullanarak bu işlemin nasıl gerçekleştirildiğini öğrenmek için bkz. Eski bir panoyu yapay zeka/BI panosuna kopyalama.

Dönüştürmek istediğiniz eski panonun UUID'sinin istek gövdesinde olması gerekir. İsteğe bağlı olarak, dönüştürülen panonun depolanmasını istediğiniz klasörün çalışma alanı yolunu tanımlayan yeni bir display_name değeri ve bir parent_path ekleyebilirsiniz.

Yanıt, yeni pano için dashboard_idolarak adlandırılan UUID'yi içerir. AI/BI panosu için UUID, 04aab30f99ea444490c10c85852f216cgibi 32 basamaklı bir alfasayısal değerdir. Bu panoyu Lakeview ad alanında ve farklı Azure Databricks REST API hizmetlerinde tanımlamak için kullanabilirsiniz.

Aşağıdaki örnekte örnek bir istek ve yanıt gösterilmektedir. Bkz. POST /api/2.0/lakeview/dashboards/migrate.

POST /api/2.0/lakeview/dashboards/migrate

Request body parameters:
{
  "source_dashboard_id": "4e443c27-9f61-4f2e-a12d-ea5668460bf1",
  "display_name": "Monthly Traffic Report",
  "parent_path": "/path/to/dir"
}

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

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 dizileri oluşturma hakkında ayrıntılı bilgi için bkz. Hizmet sorumluları ve OAuth ile Azure Databricks'e hizmet sorumlusu erişimi 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 .