La configuration en détails#
Comme indiqué dans la page précédente, la majorité de la configuration est déjà définie et n'a pas besoin d'être modifiée à priori.
Cette page présente de manière exhaustive toutes les propriétés de configuration existante par section, cela est utile si jamais vous souhaitez avoir une utilisation avancée de ce module ou que les spécifications de l'API changent.
Le fichier de configuration par défaut utilisé est accessible ici : sdk_entrepot_gpf/_conf/default.ini
Section logging
#
La première section concerne le logging de l'application.
Paramètre | Type | Défaut | Description |
---|---|---|---|
log_level |
str | INFO | Niveau de log minimal pour afficher/sauvegarder les messages. |
Section store_authentification
#
La deuxième section concerne l'authentification.
Cette partie de la configuration permet au module de vous authentifier et de récupérer un jeton pour utiliser l'API.
Paramètre | Type | Défaut | Description |
---|---|---|---|
token_url |
str | https://sso.geopf.fr/realms/geoplateforme/protocol/openid-connect/token | URL du service d'authentification de la Géoplateforme. Elle n'est à priori pas à changer, sauf si vous utilisez un environnement particulier (test, qualification, ...). |
http_proxy |
str | null |
Indiquez ici le proxy HTTP à utiliser si besoin. |
https_proxy |
str | null |
Indiquez ici le proxy HTTPS à utiliser si besoin. |
grant_type |
str | password |
Indiquez ici le type d'authentification à utiliser (password ou client_credentials ). |
client_id |
str | null |
Indiquez ici le groupe d’appartenance du compte à utiliser (type password ET type client_credentials ). |
login |
str | null |
Indiquez ici le nom d’utilisateur du compte à utiliser (type password seulement). |
password |
str | null |
Indiquez ici le mot de passe du compte à utiliser (type password seulement). |
password |
str | null |
Indiquez ici le mot de passe du compte à utiliser (type password seulement). |
totp_key |
str | null |
Indiquez ici la clef TOTP à utiliser pour générer le code temporaire (type password avec double authentification seulement). |
nb_attempts |
int | 5 | Nombre de tentatives de récupération du jeton à effectuer en cas d'erreur avant de lever une erreur. |
sec_between_attempt |
int | 1 | Délai à attendre entre deux tentatives de récupération du jeton. |
Section store_api
#
La troisième section concerne la connexion à l'entrepôt.
Paramètre | Type | Défaut | Description |
---|---|---|---|
root_url |
str | https://data.geopf.fr/api | URL racine de l'API Géoplateforme. Elle n'est à priori pas à changer, sauf si vous utilisez un environnement particulier (test, qualification, ...). |
http_proxy |
str | null |
Indiquez ici le proxy HTTP à utiliser si besoin. |
https_proxy |
str | null |
Indiquez ici le proxy HTTPS à utiliser si besoin. |
datastore |
str | null |
Indiquez ici l'identifiant de l'entrepôt (datastore ) à utiliser. |
root_datastore |
str | ${store_api:root_url}/datastores/${store_api:datastore} |
Chemin racine des routes permettant de faire des action sur cet entrepôt (datastore ). |
client_id |
str | null |
Indiquez ici le groupe d’appartenance du compte à utiliser. |
nb_attempts |
int | 5 | Nombre de requêtes à tenter en cas d'erreur avant de lever une erreur. |
sec_between_attempt |
int | 1 | Délai à attendre entre deux requêtes. |
nb_limit |
int | 10 | Nombre d'éléments à récupérer lors des requêtes de listing d'entités. |
regex_content_range |
int | (?P<i_min>[0-9]+)-(?P<i_max>[0-9]+)/(?P<len>[0-9]+) |
Regex pour parser la métadonnée content-range des réponses API. |
regex_entity_id |
int | (?P<id>[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}) |
Regex des ids des entités API. |
Section routing
#
Cette section concerne la définition des routes.
Chaque route permet de faire une action via l'API. Tous ces paramètres n'ont à priori pas à être modifiés, sauf changement des spécifications de l'API.
Paramètre | Type | Défaut | Description | |||
---|---|---|---|---|---|---|
Routes concernant l'entité User | | | | |||
user_get |
str | ${store_api:root_url}/users/me |
Route pour récupérer les informations de l'utilisateur authentifié. | |||
Routes concernant l'entité Datastore | | | | |||
datastore_get |
str | ${store_api:root_datastore} |
Route pour récupérer les informations d'un entrepôt (datastore ). |
|||
Routes concernant l'entité Upload | | | | |||
upload_list |
str | ${store_api:root_datastore}/uploads |
Route pour lister les livraisons (uploads ) associées à un entrepôt. |
|||
upload_create |
str | ${routing:upload_list} |
Route pour créer une nouvelle livraison associée à un entrepôt. | |||
upload_get |
str | ${routing:upload_list}/{upload} |
Route pour récupérer le détail d'une livraison. | |||
upload_delete |
str | ${routing:upload_list}/{upload} |
Route pour supprimer une livraison. | |||
upload_add_tags |
str | ${upload_get}/tags |
Route pour ajouter/modifier les étiquette(s) d'une livraison. | |||
upload_delete_tags |
str | ${upload_get}/tags |
Route pour supprimer un (des) étiquette(s) d'une livraison. | |||
upload_push_data |
str | ${upload_get}/data |
Route pour téléverser des fichiers de données associés à une livraison. | |||
upload_delete_data |
str | ${upload_push_data} |
Route pour supprimer des fichiers de données associés à une livraison. | |||
upload_push_md5 |
str | ${upload_get}/md5 |
Route pour téléverser des fichiers de clefs md5 associés à une livraison. | |||
upload_delete_md5 |
str | ${upload_push_md5} |
Route pour supprimer des fichiers de clefs md5 associés à une livraison. | |||
upload_close |
str | ${upload_get}/close |
Route pour fermer une livraison. | |||
upload_open |
str | ${upload_get}/open |
Route pour ouvrir une livraison. | |||
upload_tree |
str | ${upload_get}/tree |
Route pour récupérer l'arborescence des fichiers associés à une livraison. | |||
upload_list_checks |
str | ${upload_get}/checks |
Route pour lister les vérifications (checks) liées à une livraison. | |||
upload_run_checks |
str | ${upload_get}/checks |
Route pour ajouter une vérification à une livraison. | |||
upload_list_comment |
str | ${upload_get}/comments |
Route pour lister les commentaires associés à une livraison. | |||
upload_add_comment |
str | ${upload_list_comment} |
Route pour ajouter un commentaire à une livraison. | |||
upload_edit_comment |
str | ${upload_list_comment}/{comment} |
Route pour modifier un commentaire associé à une livraison. | |||
upload_remove_comment |
str | ${upload_list_comment}/{comment} |
Route pour supprimer un commentaire associé à une livraison. | |||
upload_list_sharings |
str | ${upload_get}/sharings |
Route pour lister les partages (sharings) de cette livraison avec d'autres entrepôts. | |||
upload_add_sharing |
str | ${upload_list_sharings} |
Route pour partager cette livraison avec d'autres entrepôts. | |||
upload_remove_sharing |
str | ${upload_list_sharings} |
Route pour supprimer des partages de cette livraison avec d'autres entrepôts. | |||
upload_list_events |
str | ${upload_get}/events |
Route pour lister les événements (event) ayant eu lieu en rapport avec cette livraison. | |||
Routes concernant l'entité StoredData | | | | |||
stored_data_list |
str | ${store_api:root_datastore}/stored_data |
todo | |||
stored_data_get |
str | ${stored_data_list}/{stored_data} |
todo | |||
stored_data_delete |
str | ${stored_data_list}/{stored_data} |
todo | |||
stored_data_add_tags |
str | ${stored_data_get}/tags |
todo | |||
stored_data_delete_tags |
str | ${stored_data_get}/tags |
todo | |||
stored_data_list_comment |
str | ${stored_data_get}/comments |
todo | |||
stored_data_add_comment |
str | ${stored_data_list_comment} |
todo | |||
stored_data_edit_comment |
str | ${stored_data_list_comment}/{comment} |
todo | |||
stored_data_remove_comment |
str | ${stored_data_list_comment}/{comment} |
todo | |||
stored_data_list_sharings |
str | ${stored_data_get}/sharings |
todo | |||
stored_data_add_sharing |
str | ${stored_data_list_sharings} |
todo | |||
stored_data_remove_sharing |
str | ${stored_data_list_sharings} |
todo | |||
stored_data_list_events |
str | ${stored_data_get}/events |
todo | |||
Routes concernant l'entité Processing | | | | |||
processing_list |
str | ${store_api:root_datastore}/processings |
todo | |||
processing_get |
str | ${processing_list}/{processing} |
todo | |||
Routes concernant l'entité ProcessingExecution | | | | |||
processing_execution_list |
str | ${processing_list}/executions |
todo | |||
processing_execution_create |
str | ${processing_execution_list} |
todo | |||
processing_execution_get |
str | ${processing_execution_list}/{processing_execution} |
todo | |||
processing_execution_delete |
str | ${processing_execution_get} |
todo | |||
processing_execution_launch |
str | ${processing_execution_get}/launch |
todo | |||
processing_execution_abort |
str | ${processing_execution_get}/abort |
todo | |||
processing_execution_logs |
str | ${processing_execution_get}/logs |
todo | |||
Routes concernant l'entité Configuration | | | | |||
configuration_list |
str | ${store_api:root_datastore}/configurations |
todo | |||
configuration_get |
str | ${configuration_list}/{configuration} |
todo | |||
configuration_create |
str | ${configuration_list} |
todo | |||
configuration_delete |
str | ${configuration_get} |
todo | |||
configuration_full_edit |
str | ${configuration_get} |
todo | |||
configuration_add_tags |
str | ${configuration_get}/tags |
todo | |||
configuration_delete_tags |
str | ${configuration_get}/tags |
todo | |||
configuration_list_comment |
str | ${configuration_get}/comments |
todo | |||
configuration_add_comment |
str | ${configuration_list_comment} |
todo | |||
configuration_edit_comment |
str | ${configuration_list_comment}/{comment} |
todo | |||
configuration_remove_comment |
str | ${configuration_list_comment}/{comment} |
todo | |||
configuration_list_offerings |
str | ${configuration_get}/offerings |
todo | |||
Routes concernant l'entité Offering | | | | |||
offering_list |
str | ${store_api:root_datastore}/offerings |
todo | |||
offering_get |
str | ${offering_list}/{offering} |
todo | |||
offering_create |
str | ${configuration_list_offerings} |
todo | |||
offering_delete |
str | ${offering_get} |
todo | |||
offering_partial_edit |
str | ${offering_get} |
todo | |||
Routes concernant l'entité Check | | | | |||
check_list |
str | ${store_api:root_datastore}/checks |
todo | |||
check_get |
str | ${routing:check_list}/{check} |
todo | |||
Routes concernant l'entité CheckExecution | | | | |||
check_execution_list |
str | ${routing:check_list}/executions |
todo | |||
check_execution_get |
str | ${routing:check_execution_list}/{check_execution} |
todo | |||
check_execution_delete |
str | ${routing:check_execution_list}/{check_execution} |
todo | |||
check_execution_logs |
str | ${routing:check_execution_get}/logs |
todo | |||
Routes concernant l'entité Static | | | | |||
static_list |
str | ${store_api:root_datastore}/statics |
Liste des Fichiers statiques | |||
static_get |
str | ${routing:static_list}/{static} |
Détail d'un Fichier statique | |||
static_upload |
str | ${routing:static_list}/{static} |
Téléversement d'un Fichier statique | |||
static_delete |
str | ${routing:static_list}/{static} |
Suppression d'un Fichier statique | |||
static_re_upload |
str | ${routing:static_list}/{static} |
Remplacement du fichier d'un Fichier statique | |||
static_partial_edit |
str | ${routing:static_list}/{static} |
Édition des informations d'un Fichier statique (hors fichier) | |||
static_download |
str | ${routing:static_get}/file |
Téléchargement du fichier d'un Fichier statique | |||
Routes concernant l'entité Annexe | | | | |||
annexe_list |
str | {store_api:root_datastore}/annexes |
Liste des annexes | |||
annexe_get |
str | {routing:annexe_list}/{annexe} |
Détails d'une annexe | |||
annexe_upload |
str | {routing:annexe_get} |
Téléversement d'une annexe | |||
annexe_delete |
str | {routing:annexe_get} |
Suppression d'une annexe | |||
annexe_re_upload |
str | {routing:annexe_get} |
Remplacement du fichier de l'annexe | |||
annexe_partial_edit |
str | {routing:annexe_get} |
Édition partielle d'une annexe (hors fichier) | |||
annexe_download |
str | {routing:annexe_get}/file |
Téléchargement d'un fichier d'annexe | |||
annexe_publish_by_label |
str | {routing:annexe_list}/publication |
Publication des annexes par labels | |||
annexe_unpublish_by_label |
str | {routing:annexe_list}/unpublication |
Dépublication des annexes par labels |
| Routes concernant l'entité Tms {: colspan=4 } | {: .dn }| {: .dn }| {: .dn } |
| tms_list
| str | {store_api:root_url}/statics/tms
| Liste des TMS disponibles pour tout la GPF |
| tms_get
| str | {routing:tms_list}/{tms}
| Détails d'un TMS |
| tms_download
| str | {routing:tms_get}/file
| Téléchargement du fichier d'un TMS |
Section upload
#
Cette section concerne les paramètres de gestion des livraisons (upload
).
Paramètre | Type | Défaut | Description |
---|---|---|---|
uniqueness_constraint_infos |
str | name |
Attributs à considérer pour tester l'unicité d'une livraison. |
uniqueness_constraint_tags |
str | empty str |
Étiquettes à considérer pour tester l'unicité d'une livraison. |
behavior_if_exists |
str | STOP |
Comportement à adopter si la livraison à créer existe déjà (DELETE : on la supprime et on la recrée, CONTINUE : on reprend le téléversement, STOP : on lève une exception). |
md5_pattern |
str | {md5_key} data/{file_path} |
Modèle des fichiers de clés md5 à livrer. |
push_data_file_key |
int | filename |
Nom de la clé pour téléverser des fichiers de données. |
push_md5_file_key |
int | filename |
Nom de la clé pour téléverser des fichiers de clé md5. |
nb_sec_between_check_updates |
int | 10 | Nombre de secondes entre deux mises à jour du statut de la livraison lors des vérifications. |
check_message_pattern |
int | Vérifications : {nb_asked} en attente, {nb_in_progress} en cours, {nb_failed} en échec, {nb_passed} en succès |
Modèle du message à afficher pendant la vérification d'une livraison. |
open_status |
int | OPEN |
Constante représentant le statut "ouvert" d'une livraison. |
close_status |
int | CLOSE |
Constante représentant le statut "fermé" d'une livraison. |
Section processing_execution
#
Cette section concerne les paramètres de gestion des exécutions de traitement (processing_execution
).
Paramètre | Type | Défaut | Description |
---|---|---|---|
nb_sec_between_check_updates |
int | 10 | Nombre de secondes entre deux mises à jour du statut de l'exécution des vérifications. |
uniqueness_constraint_infos |
str | name |
Attributs à considérer pour tester l'unicité d'une entité en sortie de l'exécution de traitement (livraison ou donnée stockée). |
uniqueness_constraint_tags |
str | empty str |
Étiquettes à considérer pour tester l'unicité d'une entité en sortie de l'exécution de traitement (livraison ou donnée stockée). |
behavior_if_exists |
str | STOP |
Comportement à adopter si l'entité en sortie de l'exécution de traitement (livraison ou donnée stockée) existe déjà (DELETE : on la supprime et on la recrée, STOP : on lève une exception). |
Section configuration
#
Cette section concerne les paramètres de gestion des configurations (configuration
).
Paramètre | Type | Défaut | Description |
---|---|---|---|
uniqueness_constraint_infos |
str | name |
Attributs à considérer pour tester l'unicité de la configuration. |
uniqueness_constraint_tags |
str | empty str |
Étiquettes à considérer pour tester l'unicité de la configuration. |
Section static
#
Cette section concerne les paramètres de gestion des fichiers statiques (static
)
Paramètre | Type | Défaut | Description |
---|---|---|---|
create_file_key |
str | file |
Clef pour la livraison d'un fichier static |
Section annexe
#
Cette section concerne les paramètres de gestion des annexes (annexe
)
Paramètre | Type | Défaut | Description |
---|---|---|---|
create_file_key |
str | file |
Clef pour la livraison d'un fichier annexe |
Section miscellaneous
#
Cette section concerne les paramètres divers.
Paramètre | Type | Défaut | Description |
---|---|---|---|
data_directory_on_store |
str | name;layer_name |
Préfixe des fichiers de données téléversés sur une livraison. |
tmp_workdir |
str | empty str |
Répertoire local et existant permettant d'écrire des données temporaires. |
Section workflow_resolution_regex
#
Cette section concerne la configuration des expression régulières (regex) permettant de résoudre des workflows.
Ces regex vont être notamment utilisées par les résolveurs (resolver
) (cf. la classe Python ignf_gpf_api.workflow.resolver.AbstractResolver
).
Option filter_infos
#
Configuration de la manière de récupérer les filtres sur les attributs (infos) afin de résoudre une entité.
La chaîne capturée doit être nommée filter_infos
.
- Type : str
- Valeur par défaut :
((\s*)INFOS(\s*)\((?P<filter_infos>.*?)\)(\s*))?
Option filter_tags
#
Configuration de la manière de récupérer les filtres sur les étiquettes (tags) afin de résoudre une entité.
La chaîne capturée doit être nommée filter_tags
.
- Type : str
- Valeur par défaut :
((\s*)TAGS(\s*)\((?P<filter_tags>.*?)\)(\s*))?
Option filter
#
Configuration de la manière de récupérer les filtres sur les attributs et les étiquettes afin de résoudre une entité.
- Type : str
- Valeur par défaut :
((\s*)\[${filter_infos},?${filter_tags}\])
Les chaînes capturées doivent respectivement être nommées filter_infos
et filter_tags
et sont ensuite traitées
par les regex configurées dans les options filter_infos
et filter_tags
.
Option store_entity_regex
#
Configuration de la regex de résolution d'une entité.
- Type : str
- Valeur par défaut :
(?P<entity_type>(upload|stored_data|processing_execution|offering|processing|configuration|endpoint))\.(?P<selected_field_type>(tags|infos))\.(?P<selected_field>\w*)${filter}
Les chaînes capturées doivent être nommées :
entity_type
: pour la chaîne récupérant le type de l'entité à résoudre (upload
,stored_data
, ...) ;selected_field_type
: pour la chaîne récupérant le type de champ à renvoyer (attributinfos
ou étiquettetags
) ;selected_field
: pour la chaîne récupérant le champ à renvoyer (_id_
,name
, ...) ;filter_infos
: pour la chaîne récupérant les critères de filtre sur les attributs (dans la config par défaut, cela est délégué à l'optionfilter
) ;filter_tags
: pour la chaîne récupérant les critères de filtre sur les étiquettes (dans la config par défaut, cela est délégué à l'optionfilter
).
Option global_regex
#
Configuration de la regex de détection de l'appel à un résolveur.
- Type : str
- Valeur par défaut :
(?P<param>(\["|{"?)(?P<resolver_name>[a-z_]+)(\.|": *"|", *")(?P<to_solve>[^"{}]*?({[^}]+}[^"{}]*?)*)("\]|"?}))
Les chaînes capturées doivent être nommées :
param
: pour la chaîne complète ;resolver_name
: pour la chaîne donnant le nom du résolveur à appeler ;to_solve
: pour la chaîne donnant la chaîne à résoudre.
Option file_regex
#
Configuration de la regex du résolveur de fichier (classe ignf_gpf_api.workflow.resolver.FileResolver
).
- Type : str
- Valeur par défaut :
(?P<resolver_type>str|list|dict)\((?P<resolver_file>.*)\)
Les chaînes capturées doivent être nommées :
resolver_type
: pour la chaîne donnant le type de fichier à résoudre (str
,list
oudict
) ;resolver_file
: pour la chaîne donnant le chemin du fichier à résoudre.
Section json_converter
#
Cette section concerne les paramètres de conversion en JSON des types non gérés de base par Python.
Paramètre | Type | Défaut | Description |
---|---|---|---|
datetime_pattern |
str | %Y-%m-%dT%H:%M:%S |
Modèle de formatage des datetime en string. |
date_pattern |
str | %Y-%m-%d |
Modèle de formatage des date en string. |
time_pattern |
str | %H:%M:%S |
Modèle de formatage des time en string. |
Section json_schemas
#
Cette section concerne le paramétrage des schémas JSON utilisés. Par défaut, les chemins sont définis relativement à ignf_gpf_api/_conf
, mais peuvent également être absolus.
Paramètre | Type | Défaut | Description |
---|---|---|---|
descriptor_file |
str | json_schemas/upload_descriptor_file.json |
Chemin vers le schéma JSON définissant les fichiers descripteurs de livraison. |
workflow_config |
str | json_schemas/workflow_config.json |
Chemin vers le schéma JSON définissant les fichiers workflow. |