Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Pour les exemples suivants, les URL seront au format suivant :

Bloc de code
breakoutModewide
breakoutWidth1800
<méthode> : {base-url}/<URI>
--
<méthode> correspond à la méthode HTTP utilisée (GET, POST, ...)
{base-url} correspond à https://{URL vers EFR}/{environnement}/transcodifications/1
<URI> sera l'URI spécifique à l'opération.

...

1. Créer un nouvel import

Bloc de code
breakoutModewide
breakoutWidth1800
languagejson
PUT: {base-EFR}/datasources/{datasource_id}/indexes/{index_id}/transcodifications

...

Vous obtiendrez alors un retour de cette forme:

Bloc de code
breakoutModewide
breakoutWidth1800
languagejson
{
  "id": "f4e342e7-9310-4590-a7fb-60a53a47930d",
  "datasourceId": "foo_datasource",
  "indexId": "bar_index",
  "job_created": "2024-02-34T13:59:59",
  "status": "pending",
  "fragments": 42,
  "lines_to_create": 10000,
  "lines_created": 0,
  "lines_in_error": 0,
  "userId": "alice"
}

Dans ce retour, conservez bien l’id de réponse (ici f4e342e7-9310-4590-a7fb-60a53a47930d).

Vérification des imports

Pour les imports massifs, il est souvent utile d’effectuer une vérification de l’import. Cela permet de mettre en évidence toutes les erreurs qui seront ensuite remontées lors du véritable import. Toutes les contraintes seront testées, ainsi que l’existence des colonnes.

Pour cela, envoyez le tableau de transcodifications à l’URL :

Bloc de code
breakoutModewide
breakoutWidth1800
languagejson
POST: {base-EFR}/datasources/{datasource_id}/indexes/{index_id}/transcodifications/verify

La réponse sera donnée en une dizaine de secondes.

2. Attendre la complétion de l’import

Avec l’id récupéré précédemment, vous pouvez poller l’URL suivante :

Bloc de code
breakoutModewide
breakoutWidth1800
GET: {base-EFR}/imports-async/{id}

...

En cas d’erreur (status = finished et lines_in_error > 0) alors vous pouvez lister les lignes en erreur à l’aide d’un appel sur :

Bloc de code
breakoutModewide
breakoutWidth1800
GET: {base-EFR}/imports-async/{id}/errors

...

Il suffit d’effectuer la requête suivante. Elle cible un index spécifique, et nécessite un format d’export.

Bloc de code
breakoutModewide
breakoutWidth1800
POST: {base-EFR}/datasources/{datasource_id}/indexes/{index_id}/export-async?format={format}

...

Comme précédemment, pollez l’URL suivante. Une fois que le status passera en finished sans champ error, alors il sera possible de récupérer la sortie.

Bloc de code
breakoutModewide
breakoutWidth1800
GET: {base-EFR}/datasources/{datasource_id}/indexes/{index_id}/export-async/{id}

Un export ne devrait à priori jamais durer plus de 5 minutes.

...

Dès lors que le status est bien passé en finished, vous pouvez appeler l’URL suivante :

Bloc de code
breakoutModewide
breakoutWidth1800
GET: {base-EFR}/datasources/{datasource_id}/indexes/{index_id}/export-async/{id}/file

Le body contiendra les données au format texte.