Blok Sonuçları

Analiz Sonuçlarını Al

Tamamlanmış blok yürütmelerinin yürütme geçmişine ve sonuçlarına erişin. Filtreler, hesaplamalar ve uyarılardan işlenmiş sonuçları alın.

Blok Sonuçlarını Al

GET /api/{tenantId}/{projectId}/block/{blockId}/results

Belirli bir blok için yürütme geçmişi meta verisini getirir. Sonuçlar yürütme zaman damgaları ve durum bilgilerini içerir.

Yol Parametreleri

Parametre Tür Zorunlu Açıklama
tenantId GUID Evet Kiracı tanımlayıcısı
projectId GUID Evet Proje tanımlayıcısı
blockId GUID Evet Blok tanımlayıcısı

Yanıt (200 OK)

{
  "blockId": "550e8400-e29b-41d4-a716-446655440000",
  "message": "Blok yürütme geçmişi henüz uygulanmadı",
  "executions": []
}

Yanıt Kodları

  • 200 OK - İstek başarılı
  • 401 Unauthorized - Geçersiz kimlik doğrulama veya yetersiz izinler
  • 404 Not Found - Blok bulunamadı veya erişim yok
  • 500 Internal Server Error - Sunucu hatası oluştu

Blok Çıktı Verisini Al

GET /api/{tenantId}/{projectId}/block/{blockId}/output-data

Blok tarafından üretilen dönüştürülmüş veri setini getirir.

Önemli: Bu uç nokta, gerçek çıktı verisi alınması için ExecutionController iş akışının kullanılmasını önerir. Çünkü blok çıktı verisi yalnızca bellek içi proje önbelleği üzerinden erişilebilir.

Yol Parametreleri

Parametre Tür Zorunlu Açıklama
tenantId GUID Evet Kiracı tanımlayıcısı
projectId GUID Evet Proje tanımlayıcısı
blockId GUID Evet Blok tanımlayıcısı

Yanıt (501 Not Implemented)

{
  "Error": "Blok çıktı verisi alma veritabanı API'si ile uygulanmadı",
  "BlockId": "550e8400-e29b-41d4-a716-446655440000",
  "Message": "Blok çıktı verisini almak için ExecutionController iş akışını kullanın: 1. Projeyi ProjectController.LoadProject ile önbelleğe yükleyin, 2. Notebook'u ExecutionController.ExecuteNotebook ile çalıştırın, 3. Sonuçları ExecutionController.GetNotebookResults ile alın",
  "Recommendation": "GET /api/{tenantId}/{projectId}/execution/notebook/{notebookId}/results"
}

Blok Çıktısı İçin Önerilen İş Akışı

Gerçek blok çıktı verisini almak için Execution API'yi kullanarak şu iş akışını takip edin:

  1. Projeyi Önbelleğe Yükle

    GET /api/{tenantId}/{projectId}/project/{projectId}/load
    
  2. Notebook'u Çalıştır

    POST /api/{tenantId}/{projectId}/execution/notebook/{notebookId}
    
  3. Notebook Sonuçlarını Al

    GET /api/{tenantId}/{projectId}/execution/notebook/{notebookId}/results
    

Tam dokümantasyon için Execution API sayfasına bakınız.

Uygulama Örnekleri

cURL

# Blok sonuç meta verisini al
curl -X GET "https://your-mindzie-instance.com/api/12345678-1234-1234-1234-123456789012/87654321-4321-4321-4321-210987654321/block/550e8400-e29b-41d4-a716-446655440000/results" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

# Çıktı verisini almaya çalış (yol gösterici döner)
curl -X GET "https://your-mindzie-instance.com/api/12345678-1234-1234-1234-123456789012/87654321-4321-4321-4321-210987654321/block/550e8400-e29b-41d4-a716-446655440000/output-data" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

JavaScript/Node.js

const TENANT_ID = '12345678-1234-1234-1234-123456789012';
const PROJECT_ID = '87654321-4321-4321-4321-210987654321';
const BASE_URL = 'https://your-mindzie-instance.com';

class BlockResultsClient {
  constructor(token) {
    this.headers = {
      'Authorization': `Bearer ${token}`,
      'Content-Type': 'application/json'
    };
  }

  async getBlockResults(blockId) {
    const url = `${BASE_URL}/api/${TENANT_ID}/${PROJECT_ID}/block/${blockId}/results`;
    const response = await fetch(url, { headers: this.headers });

    if (response.ok) {
      return await response.json();
    }

    throw new Error(`Sonuçlar alınamadı: ${response.status}`);
  }

  async getBlockOutputData(blockId) {
    const url = `${BASE_URL}/api/${TENANT_ID}/${PROJECT_ID}/block/${blockId}/output-data`;
    const response = await fetch(url, { headers: this.headers });

    // Not: Bu uç nokta 501 ile rehberlik döner
    return await response.json();
  }
}

// Kullanım
const client = new BlockResultsClient('your-auth-token');

// Sonuç meta verisini al
const results = await client.getBlockResults('block-guid');
console.log(`Blok: ${results.blockId}`);
console.log(`Yürütmeler: ${results.executions.length}`);

// Çıktı veri rehberini kontrol et
const outputInfo = await client.getBlockOutputData('block-guid');
console.log(`Öneri: ${outputInfo.Recommendation}`);

Python

import requests

TENANT_ID = '12345678-1234-1234-1234-123456789012'
PROJECT_ID = '87654321-4321-4321-4321-210987654321'
BASE_URL = 'https://your-mindzie-instance.com'

class BlockResultsClient:
    def __init__(self, token):
        self.headers = {
            'Authorization': f'Bearer {token}',
            'Content-Type': 'application/json'
        }

    def get_block_results(self, block_id):
        """Blok yürütme sonuçları meta verisini al."""
        url = f'{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/block/{block_id}/results'
        response = requests.get(url, headers=self.headers)

        if response.ok:
            return response.json()
        else:
            raise Exception(f'Sonuçlar alınamadı: {response.status_code}')

    def get_block_output_data(self, block_id):
        """Blok çıktı verisi rehberini al."""
        url = f'{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/block/{block_id}/output-data'
        response = requests.get(url, headers=self.headers)
        return response.json()

# Kullanım
client = BlockResultsClient('your-auth-token')

# Sonuçları al
results = client.get_block_results('block-guid')
print(f"Blok: {results['blockId']}")

# Çıktı veri rehberini al
output_info = client.get_block_output_data('block-guid')
print(f"Öneri: {output_info.get('Recommendation', 'Bulunamadı')}")

C#

using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;

public class BlockResultsClient
{
    private readonly HttpClient _httpClient;
    private readonly string _baseUrl;
    private readonly Guid _tenantId;
    private readonly Guid _projectId;

    public BlockResultsClient(string baseUrl, Guid tenantId, Guid projectId, string accessToken)
    {
        _baseUrl = baseUrl;
        _tenantId = tenantId;
        _projectId = projectId;
        _httpClient = new HttpClient();
        _httpClient.DefaultRequestHeaders.Authorization =
            new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken);
    }

    public async Task<JsonDocument> GetBlockResultsAsync(Guid blockId)
    {
        var url = $"{_baseUrl}/api/{_tenantId}/{_projectId}/block/{blockId}/results";
        var response = await _httpClient.GetAsync(url);

        if (response.IsSuccessStatusCode)
        {
            var json = await response.Content.ReadAsStringAsync();
            return JsonDocument.Parse(json);
        }

        throw new Exception($"Sonuçlar alınamadı: {response.StatusCode}");
    }

    public async Task<JsonDocument> GetBlockOutputDataAsync(Guid blockId)
    {
        var url = $"{_baseUrl}/api/{_tenantId}/{_projectId}/block/{blockId}/output-data";
        var response = await _httpClient.GetAsync(url);

        // 501 ile rehberlik döner
        var json = await response.Content.ReadAsStringAsync();
        return JsonDocument.Parse(json);
    }
}

Önemli Notlar

  • Sonuçlar Uç Noktası: Şu anda yürütme geçmişi meta verisini döner. Tam yürütme geçmişi alınması geliştirilmektedir.
  • Çıktı Verisi: Blok çıktı verisi yalnızca bellek içi proje önbelleği üzerinden erişilebilir. Gerçek veri için ExecutionController iş akışını kullanın.
  • En İyi Uygulama: Tam blok çıktısı için projeyi yükleyin, notebook'u çalıştırın ve sonuçları Execution API ile alın.