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. AI/BI panoları daha önce Lakeview panoları olarak biliniyordu. Lakeview API'sinde bu ad korunur.

Önkoşullar

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

Çalışma Alanı Listesi API'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ı, first.last@example.comyolunda verilir.

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'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.

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

Ayrıca, bu isteğin "direct_download" özelliği true olarak ayarlanır, bu nedenle yanıt dışarı aktarılan dosyanın kendisidir ve "format" özelliği "AUTO"olarak ayarlanır.

Not

Yanıtın pages özelliğinde gösterilen "displayName" özelliği, çalışma alanındaki 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,
  "format": "AUTO"
}

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

Dışarı aktarılan dosyayı kodlama

Aşağıdaki kod, "direct_download" özelliğinin false olarak ayarlandığı ö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

Çalışma Alanı İçeri Aktarma API'sini post /api/2.0/workspace/import kullanarak taslak panoları çalışma alanına aktarabilirsiniz. Ö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 olanak sağlar.
  • "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 (İ.): İthalatta üzerine yazmak (İ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, "overwrite" özelliğini aşağıdaki örnekte olduğu gibi true olarak ayarlayın.


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:
{}

Adım 5: 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 isteği gösterilmektedir. Yanıt, dosyanın "DASHBOARD"olarak başarıyla içeri aktarıldığını doğrulayan ayrıntıları içerir. Ayrıca, Lakeview API'siyle tanımlayıcı olarak kullanabileceğiniz bir "resource_id" ö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 "resource_id" özelliğini içerir. İ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. Veri izinleri ile paylaş ayarının nasıl çalıştığını öğrenmek için bkz. Pano yayımlama.

"warehouse_id" özelliği, yayımlanan pano için kullanılacak ambarı belirler. Belirtilirse, bu özellik varsa taslak gösterge tablosu için belirtilen ambarı 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 örnek, yayımlanan kontrol panelinizin bağlantısının nasıl oluşturulacağını göstermektedir.

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

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

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

7. Adım: Panoyu silme

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

Önemli

Bu, kalıcı bir 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