aStore check

Gestion d'Erreur : Fichier Modèle Corrompu ou Non-ONNX

Scénario de test & Cas d'usage

Contexte Métier

Le département de lutte contre la fraude reçoit des modèles via un transfert FTP instable. Il arrive que des fichiers soient tronqués ou qu'un fichier texte soit envoyé par erreur à la place du modèle binaire. Le système doit rejeter ces fichiers proprement sans provoquer d'arrêt système (crash).
Préparation des Données

Création d'un fichier texte simple renommé en .onnx (cas d'erreur format).

Copié !
1DATA _null_;
2 file "/tmp/faux_model_fraude.onnx";
3 put "Ceci n'est pas un fichier binaire ONNX.";
4RUN;

Étapes de réalisation

1
Lecture du fichier texte en tant que BLOB.
Copié !
1PROC CAS;
2 function read_binary_file(path varchar[*] ) RESULT(blob);
3 file_in filevar recfm=n LENGTH=len unbuf;
4 char(len) str;
5 file_in = fopen(path, 'I', len, 'B');
6 fread(file_in, str);
7 fclose(file_in);
8 return (str);
9 endsub;
10 blob corrupted_blob = read_binary_file('/tmp/faux_model_fraude.onnx');
11 
2
Tentative de validation d'un contenu manifestement incorrect.
Copié !
1 astore.check RESULT=res /
2 onnx=corrupted_blob
3 ;
4 PRINT "Résultat de l'inspection du fichier corrompu :";
5 PRINT res;
6RUN;

Résultat Attendu


L'action astore.check doit détecter que l'en-tête du fichier ne correspond pas à la signature ONNX. Elle doit renvoyer un message d'erreur ou un statut d'invalidité clair dans la table de résultats, sans terminer la session CAS brutalement.