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 izinler404 Not Found- Blok bulunamadı veya erişim yok500 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:
Projeyi Önbelleğe Yükle
GET /api/{tenantId}/{projectId}/project/{projectId}/loadNotebook'u Çalıştır
POST /api/{tenantId}/{projectId}/execution/notebook/{notebookId}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.