Ce document décrit l'API REST DataGalaxy permettant de lister les versions du connecteur Desktop ainsi que de ses plugins et de les télécharger. Ceci vous permettra d'automatiser leurs mises à jour sur votre environnement, notamment dans le cadre d'une utilisation en mode CLI ou Docker.
Cette API est une extension de l'API publique DataGalaxy, son fonctionnement est similaire, notamment en ce qui concerne l'authentification. Retrouvez ici le guide de l'API publique DataGalaxy.
Routes API
GET /connectivity/packages
Permet de lister les paquets disponibles en téléchargement. Actuellement, on propose de télécharger les plugins au format .jar ainsi que le connecteur desktop en version 64bits et 32bits.
L'URL des artefacts téléchargeables se trouve sous la propriété _links.
Réponse
{
"connectors": [
{
"name": "talend",
"version": "2.2.0",
"_links": {
"images": {
"icon500": {
"href": "/packages/talend/latest/icon500.png"
}
},
"manifest": {
"href": "/packages/talend/latest/manifest.json"
},
"self": {
"href": "/packages/talend/latest/contents.jar"
}
}
}
],
"desktop": {
"zip32bits": {
"_links": {
"self": {
"href": "/packages/desktop/latest/32bits.zip"
}
},
"version": "4.3.5"
},
"zip64bits": {
"_links": {
"self": {
"href": "/packages/desktop/latest/64bits.zip"
}
},
"version": "4.3.5"
}
}
}GET /connectivity/packages/:name/latest/:artefact
Cette route permet de télécharger un artefact associé à un paquet. Seuls les dernières versions sont téléchargeables (latest).
La valeur de :artefact pour un plugin doit être égale à :
- icon500.png
- manifest.json
- contents.jar
La valeur de :artefact pour le connecteur desktop doit être égale à :
- 64bits.zip
- 32bits.zip
Si une autre valeur est utilisée, le serveur retournera une 400 :
GET /connectivity/packages/amazonathena/latest/foo.jar HTTP/1.1 400 BadRequestException content-length: 147 content-type: application/json
{
"error": {
"code": 400,
"message": "Artefact foo.jar is unknown, must be one of: icon500.png, contents.jar, manifest.json, 64bits.zip or 32bits.zip"
}
}Si on demande à télécharger un artefact pour un paquet qui n'existe pas, le serveur retournera une 404 :
GET /connectivity/packages/foo/latest/contents.jar HTTP/1.1 404 PackageNotFoundException content-length: 57 content-type: application/json
{
"error": {
"code": 404,
"message": "Package foo not found."
}
}Réponse
Récupération du fichier manifest.json pour le plugin Amazon Athena :
GET /connectivity/packages/amazonathena/latest/manifest.json
HTTP/1.1 200 OK content-disposition: attachment; filename="connector-amazonathena-manifest.json" content-length: 834 content-type: application/json
{
"version": "1.0.0",
"name": "amazonathena",
"description": {
"en": "Amazon Athena is a cloud based querying service for Amazon S3 data storage",
"fr": "Amazon Athena est un service cloud permettant d’interroger les données stockées dans Amazon S3"
},
"manifestVersion": 4,
"modules": [
"Catalog"
],
"parameters": {
"...": {}
},
"sourceType": "Relational",
"title": {
"en": "Amazon Athena",
"fr": "Amazon Athena"
}
}Récupération du fichier .jar pour le plugin Amazon Athena :
GET /connectivity/packages/amazonathena/latest/contents.jar
HTTP/1.1 200 OK content-disposition: attachment; filename="connector-amazonathena-1.0.0.jar" content-length: 16955986 content-type: application/java-archive
binary data...