« Général:FAQ API job » : différence entre les versions
Aller à la navigation
Aller à la recherche
Page créée avec « ==Généralités== ===Limites de cette section=== Cette section n’a pas la prétention de traiter tous les cas possibles d'utilisation de l'API de mise à jour des indi... » |
(Aucune différence)
|
Version du 25 juin 2025 à 15:34
Généralités
Limites de cette section
Cette section n’a pas la prétention de traiter tous les cas possibles d'utilisation de l'API de mise à jour des indicateurs.
Vous devez être à l'aise avec le concept des API et la gestion de token, si ce n'est pas le cas, faites appel au support.
Attention, vous allez mettre à jour les tables de traçage des jobs, vous devez savoir ce que vous faites !
Paramétrage préalable
Afin de pouvoir utiliser l'API des indicateurs, vous devez au préalable avoir paramétré un token statique pour l'instance cible.
Exemples d'utilisation
Vous devez adapter les exemples suivants avec vos propres données (URL, user, password, ...)
Ceci représente une base pour du Python, PHP, Shell et PowerShell.
Vous pouvez bien évidemment utiliser le langage de votre choix.
Python
PHP
<?php
$staticToken = "";
/**
* Does API request.
*
* @param string $method : Request method
* @param string $url : Website url
* @param array $headers : JSON object headers
* @param string $data : JSON object data
* @return string
*/
function apiRequest(string $method, string $url, array $headers = [], $data = '{}'): string
{
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_CUSTOMREQUEST => $method,
CURLOPT_POSTFIELDS => $data,
CURLOPT_HTTPHEADER => $headers,
]);
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
/**
* Create new job trace.
*
* @param array $data : JSON object data
* @return bool
*/
function postJobTrace($data): bool
{
global $staticToken;
// Init request
$method = 'POST';
$url = "http://admin-webdba.dbsqware.com/lib/apiAudit.php?type=job&token={$staticToken}";
$headers = ['Content-Type: application/json'];
$data = json_encode($data, JSON_FORCE_OBJECT);
// API request
$response = apiRequest($method, $url, $headers=$headers, $data=$data);
if (empty($response)) {
echo('Failure of the API request !');
return 0;
}
$response = json_decode($response, true);
if (array_key_exists('error_message', $response)) {
echo("Error message [{$response['error_message']}]");
return 0;
}
echo('Insert with success !');
return 1;
}
function main(): void
{
// Post new job trace
$data = [
"dbalias" => "AATestAPI_Upd",
"jobupid" => "123456",
"beginning" => "2022-07-11 09:20:00",
"script" => "sqwora_RunJob.ksh",
"parameters" => "-I AATestAPI_Upd -A ExpdpFull",
"jobpidctl" => "-1",
"end" => "2022-07-11 09:25:00",
"status" => "12",
"log_file" => base64_encode("This is my log file."),
"mail_file" => base64_encode("This is my mail file.")
];
postJobTrace($data);
}
main();
?>