Résultats des Blocs
Récupérer les Résultats d'Analyse
Accédez à l'historique d'exécution et aux résultats des exécutions de blocs terminées. Obtenez les résultats traités des filtres, calculs et alertes.
Obtenir les Résultats d'un Bloc
GET /api/{tenantId}/{projectId}/block/{blockId}/results
Récupère les métadonnées de l'historique d'exécution pour un bloc spécifique. Les résultats incluent les horodatages d'exécution et les informations de statut.
Paramètres de Chemin
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
tenantId |
GUID | Oui | L'identifiant du locataire |
projectId |
GUID | Oui | L'identifiant du projet |
blockId |
GUID | Oui | L'identifiant du bloc |
Réponse (200 OK)
{
"blockId": "550e8400-e29b-41d4-a716-446655440000",
"message": "Historique d'exécution du bloc pas encore implémenté",
"executions": []
}
Codes de Réponse
200 OK- Requête réussie401 Unauthorized- Authentification invalide ou permissions insuffisantes404 Not Found- Bloc non trouvé ou accès refusé500 Internal Server Error- Erreur serveur survenue
Obtenir les Données de Sortie du Bloc
GET /api/{tenantId}/{projectId}/block/{blockId}/output-data
Récupère le jeu de données transformé produit par le bloc.
Important : Ce point de terminaison retourne des instructions pour utiliser le workflow ExecutionController afin de récupérer les données de sortie réelles, car les données de sortie du bloc sont uniquement disponibles via le cache mémoire du projet.
Paramètres de Chemin
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
tenantId |
GUID | Oui | L'identifiant du locataire |
projectId |
GUID | Oui | L'identifiant du projet |
blockId |
GUID | Oui | L'identifiant du bloc |
Réponse (501 Not Implemented)
{
"Error": "Récupération des données de sortie du bloc non implémentée via l'API base de données",
"BlockId": "550e8400-e29b-41d4-a716-446655440000",
"Message": "Pour récupérer les données de sortie du bloc, utilisez le workflow ExecutionController : 1. Chargez le projet dans le cache via ProjectController.LoadProject, 2. Exécutez le notebook via ExecutionController.ExecuteNotebook, 3. Récupérez les résultats via ExecutionController.GetNotebookResults",
"Recommendation": "GET /api/{tenantId}/{projectId}/execution/notebook/{notebookId}/results"
}
Workflow Recommandé pour la Sortie de Bloc
Pour récupérer les données de sortie réelles du bloc, suivez ce workflow en utilisant l'API Execution :
Charger le Projet dans le Cache
GET /api/{tenantId}/{projectId}/project/{projectId}/loadExécuter le Notebook
POST /api/{tenantId}/{projectId}/execution/notebook/{notebookId}Obtenir les Résultats du Notebook
GET /api/{tenantId}/{projectId}/execution/notebook/{notebookId}/results
Voir API Execution pour la documentation complète.
Exemples d'Implémentation
cURL
# Obtenir les métadonnées des résultats du bloc
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"
# Tentative d'obtention des données de sortie (retourne des instructions)
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(`Échec de récupération des résultats : ${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 });
// Note : Ce point de terminaison retourne 501 avec des instructions
return await response.json();
}
}
// Utilisation
const client = new BlockResultsClient('your-auth-token');
// Obtenir les métadonnées des résultats
const results = await client.getBlockResults('block-guid');
console.log(`Bloc : ${results.blockId}`);
console.log(`Exécutions : ${results.executions.length}`);
// Vérifier les instructions pour les données de sortie
const outputInfo = await client.getBlockOutputData('block-guid');
console.log(`Recommandation : ${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):
"""Récupérer les métadonnées des résultats d'exécution du bloc."""
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'Échec de récupération des résultats : {response.status_code}')
def get_block_output_data(self, block_id):
"""Récupérer les instructions des données de sortie du bloc."""
url = f'{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/block/{block_id}/output-data'
response = requests.get(url, headers=self.headers)
return response.json()
# Utilisation
client = BlockResultsClient('your-auth-token')
# Obtenir les résultats
results = client.get_block_results('block-guid')
print(f"Bloc : {results['blockId']}")
# Obtenir les instructions pour les données de sortie
output_info = client.get_block_output_data('block-guid')
print(f"Recommandation : {output_info.get('Recommendation', 'N/A')}")
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($"Échec de récupération des résultats : {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);
// Retourne 501 avec instructions
var json = await response.Content.ReadAsStringAsync();
return JsonDocument.Parse(json);
}
}
Notes Importantes
- Point de terminaison des résultats : Retourne actuellement les métadonnées de l'historique d'exécution. La récupération complète de l'historique est en cours de développement.
- Données de sortie : Les données de sortie des blocs sont uniquement disponibles via le cache mémoire du projet. Utilisez le workflow ExecutionController pour récupérer les données réelles.
- Bonne pratique : Pour obtenir la sortie complète d'un bloc, chargez le projet, exécutez le notebook et récupérez les résultats via l'API Execution.