Aracılığıyla paylaş


Çalışma Alanı API'leri ile panoları yönetme

Bu öğreticide, Lakeview API'sini ve Çalışma Alanı API'sini kullanarak panoları yönetme adımları gösterilmektedir. Her adım bir örnek istek ve yanıt ile API araçlarını ve özelliklerini birlikte kullanma hakkında açıklamalar içerir. Her adıma kendi başına başvurulabilir. Sırasıyla tüm adımların izlenmesi, eksiksiz bir iş akışında size yol gösterir.

Not

Bu iş akışı, bir AI/BI panosunu genel çalışma alanı nesnesi olarak almak için Çalışma Alanı API'sini çağırır.

Önkoşullar

1. Adım: Çalışma alanı dizinini keşfetme

Çalışma Alanı Listesi API'si GET /api/2.0/workspace/list , çalışma alanınızın dizin yapısını keşfetmenizi sağlar. Örneğin, geçerli çalışma alanınızdaki tüm dosya ve dizinlerin listesini alabilirsiniz.

Aşağıdaki örnekte, path istekteki özelliği kullanıcının giriş klasöründe depolanan adlı examples_folder bir klasöre işaret eder. Kullanıcı adı yolunda first.last@example.comsağlanır.

Yanıt, klasörün bir metin dosyası, dizin ve AI/BI panosu içerdiğini gösterir.

GET /api/2.0/workspace/list

Query Parameters:
{
"path": "/Users/first.last@example.com/examples_folder"
}

Response:
{
  "objects": [
    {
      "object_type": "FILE",
      "path": "/Users/first.last@example.com/examples_folder/myfile.txt",
      "created_at": 1706822278103,
      "modified_at": 1706822278103,
      "object_id": 3976707922053539,
      "resource_id": "3976707922053539"
  },
  {
      "object_type": "DIRECTORY",
      "path": "/Users/first.last@example.com/examples_folder/another_folder",
      "object_id": 2514959868792596,
      "resource_id": "2514959868792596"
  },
  {
      "object_type": "DASHBOARD",
      "path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
      "object_id": 7944020886653361,
      "resource_id": "01eec14769f616949d7a44244a53ed10"
    }
  ]
}

2. Adım: Panoyu dışarı aktarma

Çalışma Alanı Dışarı Aktarma API'si GET /api/2.0/workspace/export , bir panonun içeriğini dosya olarak dışarı aktarmanızı sağlar. AI/BI pano dosyaları, panonun taslak sürümünü yansıtır. Aşağıdaki örneklerde verilen yanıt, en düşük pano tanımının içeriğini gösterir. Daha fazla serileştirme ayrıntılarını keşfetmek ve anlamak için kendi panolarınızdan bazılarını dışarı aktarmayı deneyin.

Dışarı aktarılan dosyayı indirme

Aşağıdaki örnekte, API kullanarak bir pano dosyasının nasıl indirilmesi gösterilmektedir.

"path" Bu örnekteki özellik, bir AI/BI panosu olan dosya türü uzantısıyla lvdash.jsonsona erer. Dosya adı, çalışma alanında göründüğü gibi bu uzantıdan önce yer alır. Bu durumda, bu mydashboard.

Ayrıca, bu isteğin "direct_download" özelliği, yanıtın dışarı aktarılan dosyanın kendisi olması için true olarak ayarlanır.

Not

Yanıtın "displayName" pages özelliğinde gösterilen özellik, çalışma alanında panonun görünen adını yansıtmaz.

GET /api/2.0/workspace/export

Query parameters:
{
  "path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
  "direct_download": true
}

Response:
{
  "pages": [
    {
      "name": "880de22a",
      "displayName": "New Page"
    }
  ]
}

Dışarı aktarılan dosyayı kodlama

Aşağıdaki kod, özelliğin false olarak ayarlandığı "direct_download" örnek bir yanıt gösterir. Yanıt, base64 kodlanmış dize olarak içerik içerir.

GET /api/2.0/workspace/export

Query parameters:
{
    "path": "/Users/first.last@example.com/examples_folder/mydashboard.lvdash.json",
    "direct_download": false
}

Response:
{
    "content": "IORd/DYYsCNElspwM9XBZS/i5Z9dYgW5SkLpKJs48dR5p5KkIW8OmEHU8lx6CZotiCDS9hkppQG=",
    "file_type": "lvdash.json"
}

3. Adım: Panoyu içeri aktarma

Taslak panoları çalışma alanına aktarmak için Çalışma Alanı İçeri Aktarma API'sini POST/api/2.0/workspace/import kullanabilirsiniz. Örneğin, önceki örnekte olduğu gibi kodlanmış bir dosyayı dışarı aktardıktan sonra bu panoyu yeni bir çalışma alanına aktarabilirsiniz.

İçeri aktarmanın AI/BI panosu olarak tanınması için iki parametre ayarlanmalıdır:

  • "format": "AUTO" - Bu ayar sistemin varlık türünü otomatik olarak algılamasına izin verir.
    • "path": ".lvdash.json" ile biten bir dosya yolu içermelidir.

Önemli

Bu ayarlar düzgün yapılandırılmazsa içeri aktarma başarılı olabilir, ancak pano normal bir dosya olarak değerlendirilir.

Aşağıdaki örnekte düzgün yapılandırılmış bir içeri aktarma isteği gösterilmektedir.


POST /api/2.0/workspace/import

Request body parameters:
{
        "path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json",
        "content": "IORd/DYYsCNElspwM9XBZS/i5Z9dYgW5SkLpKJs48dR5p5KkIW8OmEHU8lx6CZotiCDS9hkppQG=",
        "format": "AUTO"
}

Response:
{}

4. Adım: İçeri aktarmada üzerine yazma (İsteğe bağlı)

Aynı API isteğini yeniden gönderme girişimi aşağıdaki hatayla sonuçlanır:

{
        "error_code": "RESOURCE_ALREADY_EXISTS",
        "message": "Path (/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json) already exists."
}

Bunun yerine yinelenen isteğin üzerine yazmak istiyorsanız, aşağıdaki örnekte olduğu gibi özelliğini true olarak ayarlayın"overwrite".


POST /api/2.0/workspace/import

Request body parameters:
{
        "path": /Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json",
        "content": "IORd/DYYsCNElspwM9XBZS/i5Z9dYgW5SkLpKJs48dR5p5KkIW8OmEHU8lx6CZotiCDS9hkppQG=",
        "format": "AUTO",
        "overwrite": true
}

Response:
{}

5. Adım: Meta verileri alma

Yapay zeka/BI panosu dahil olmak üzere herhangi bir çalışma alanı nesnesi için meta verileri alabilirsiniz. Bkz. GET /api/2.0/workspace/get-status.

Aşağıdaki örnekte, önceki örnekten içeri aktarılan pano için bir get-status istek gösterilmektedir. Yanıt, dosyanın başarıyla olarak "DASHBOARD"içeri aktarıldığını doğrulayan ayrıntıları içerir. Ayrıca, Lakeview API'siyle "resource_id" tanımlayıcı olarak kullanabileceğiniz bir özelliğinden oluşur.

GET /api/2.0/workspace/get-status

Query parameters:
{
        "path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json"
}

Response:
{
        "object_type": "DASHBOARD",
        "path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json",
        "object_id": 7616304051637820,
        "resource_id": "9c1fbf4ad3449be67d6cb64c8acc730b"
}

6. Adım: Pano yayımlama

Önceki örneklerde AI/BI panolarıyla genel çalışma alanı nesneleri olarak çalışmayı etkinleştiren Çalışma Alanı API'si kullanılmıştır. Aşağıdaki örnek, AI/BI panolarına özgü bir yayımlama işlemi gerçekleştirmek için Lakeview API'sini kullanır. Bkz . POST /api/2.0/lakeview/dashboards/{dashboard_id}/published.

API uç noktasının yolu, önceki örnekte döndürülen özelliği içerir "resource_id" . İstek parametrelerinde, "embed_credentials" yayımcının kimlik bilgilerinin panoya katıştırılmış olması için true olarak ayarlanır. Bu durumda yayımcı, yetkili API isteğinde bulunan kullanıcıdır. Yayımcı farklı kullanıcının kimlik bilgilerini ekleyemez. Kimlik bilgilerini ekle ayarının nasıl çalıştığını öğrenmek için bkz. Pano yayımlama.

özelliği, "warehouse_id" yayımlanan pano için kullanılacak ambarı ayarlar. Belirtilirse, bu özellik taslak pano için belirtilen ambarı (varsa) geçersiz kılar.

POST /api/2.0/lakeview/dashboards/9c1fbf4ad3449be67d6cb64c8acc730b/published

Request parameters
{
  "embed_credentials": true,
  "warehouse_id": "1234567890ABCD12"
}

Response:
{}

Yayımlanan panoya, komut tamamlandığında tarayıcınızdan erişilebilir. Aşağıdaki örnekte, yayımlanan panonuzun bağlantısının nasıl inşası gösterilmektedir.

https://<deployment-url>/dashboardsv3/<resource_id>/published

Benzersiz bağlantınızı oluşturmak için:

  • değerini dağıtım URL'nizle değiştirin <deployment-url> . Bu bağlantı, Azure Databricks çalışma alanı giriş sayfanızdayken tarayıcı adres çubuğunuzdaki adrestir.
  • değerini meta verileri alma bölümünde tanımladığınız özelliğin değeriyle "resource_id" değiştirin<resource_id>.

7. Adım: Panoyu silme

Panoyu silmek için Çalışma Alanı API'sini kullanın. Bkz. POST /api/2.0/workspace/delete.

Önemli

Bu, kesin silme işlemidir. Komut tamamlandığında pano kalıcı olarak silinir.

Aşağıdaki örnekte istek, önceki adımlarda oluşturulan dosyanın yolunu içerir.

POST /api/2.0/workspace/delete

Query parameters:
{
        "path": "/Users/first.last@example.com/examples_folder/myseconddashboard.lvdash.json"
}

Response:
{}

Sonraki adımlar