Créer un ticket Mes tickets
Bienvenue
Connexion  S'inscrire

Télécharger le connecteur Desktop et ses plugins de manière programmatique

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...

Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.