Nous utilisons l'API V Cloud pour interagir avec les machines virtuelles (créer des machines, effectuer des actions, changer de support, etc.). Une fonction demandée est de pouvoir télécharger des médias (en particulier des ISO) vers un catalogue particulier. Le API guide (pg 67) est assez simple, et nos requêtes en plusieurs parties à l'URL qui est fournie lorsque le téléchargement démarre se déroulent sans accroc.Le téléchargement de médias via l'API VMware entraîne une taille transférée plus grande que la taille du fichier
Note: Nous devons déclarer la taille du fichier avant de lancer le téléchargement
La seule chose qui semble mal pendant le téléchargement lui-même est que la « taille transférée » finit par être plus grande que la « taille du fichier » à la fin du processus. C'est un peu étrange car notre gamme de contenu ne dépasse jamais la taille de fichier attendue (nous supposons que les méta-données sont incluses sans que nous ayons un mot à dire). Une fois cette taille transférée dépasse la taille du fichier, l'état des changements de téléchargement de fichiers à « erreur », mais retourne toujours un 200 OK
{
"name": "J Small 4",
"description": "",
"files": [{
"name": "file",
"totalSize": 50696192,
"status": "Error",
"link": "https://cloud01.cs2cloud.com/transfer/27b8f93c-8319-419e-9e8c-15622097670b/file",
"transferredSize": 54293177
}],
"id": "urn:vcloud:media:1cec68ef-f22e-4ec7-ae5d-dfbc4f7137d9",
"catalogId": "urn:vcloud:catalogitem:19dbfdd8-ea70-4355-abc7-96e34dccb869"
}
Je ne sais pas où commencer même débogage cela car tous les appels API reviennent avec 200 OK
, le .ISO file semble être bon, nos en-têtes de gamme de contenu ne dépassent jamais la taille de fichier établie, et les méta-données semblent être hors de notre contrôle en termes d'édition ou de mesure.
Espérant une certaine âme a connu ce problème avant et peut donner un aperçu de travailler à une solution