Cette section documente l'API de CKAN, destinée aux utilisateurs souhaitant écrire/développer des codes pour interagir avec des sites CKAN et leurs données.
L’API d’action de CKAN est une API puissante de type RPC qui expose toutes les fonctionnalités principales de CKAN aux clients API. Toute la fonctionnalité d’un site CKAN (y compris ce qui est disponible via l’interface web et bien plus encore) peut être utilisée par du code externe appelant l’API CKAN. Par exemple, avec l’API CKAN, votre application peut :
-
Obtenir des listes au format JSON des ensembles de données, groupes ou autres objets CKAN d’un site :
https://data.gov.ma/data/api/3/action/package_list
-
Obtenir une représentation complète en JSON d’un ensemble de données, d’une ressource ou d’un autre objet :
https://data.gov.ma/data/api/3/action/package_show?id=adur_district_spending
https://data.gov.ma/data/api/3/action/tag_show?id=gold
https://data.gov.ma/data/api/3/action/group_show?id=data-explorer
-
Rechercher des ensembles de données ou des ressources correspondant à une requête :
https://data.gov.ma/data/api/3/action/package_search?q=spending
https://data.gov.ma/data/api/3/action/resource_search?query=name:District%20Names
-
Créer, mettre à jour et supprimer des ensembles de données, ressources et autres objets.
-
Obtenir un flux d’activité des ensembles de données récemment modifiés sur un site :
https://data.gov.ma/data/api/3/action/recently_changed_packages_activity_list
Note :
Les modules FileStore et DataStore de CKAN disposent de leurs propres API, voir :
Note :
Pour la documentation des anciennes API de CKAN, voir API anciennes.
Note :
Dans les premières versions de CKAN, les ensembles de données étaient appelés « packages ». Ce terme est encore utilisé dans certains cas, notamment en interne et dans les appels API. « Package » signifie exactement la même chose que « ensemble de données ».
Effectuer une requête API :
Pour appeler l'API CKAN, envoyez un dictionnaire JSON dans une requête HTTP POST à l'une des URL de l'API CKAN. Les paramètres pour la fonction API doivent être fournis dans le dictionnaire JSON. CKAN renverra également sa réponse sous la forme d'un dictionnaire JSON.
Une manière d'envoyer un dictionnaire JSON à une URL est d'utiliser le client en ligne de commande Curl. Par exemple, pour obtenir une liste des noms de tous les ensembles de données du groupe data-explorer
sur demo.ckan.org, installez curl et appelez la fonction API group_list
en exécutant cette commande dans un terminal :
curl https://demo.ckan.org/api/3/action/group_list
La réponse de CKAN ressemblera à ceci :
{
"help": "...",
"result": [
"data-explorer",
"department-of-ricky",
"geo-examples",
"geothermal-data",
"reykjavik",
"skeenawild-conservation-trust"
],
"success": true
}
La réponse est un dictionnaire JSON avec trois clés :
-
"success"
:true
oufalse
.L'API renvoie toujours le code de statut HTTP
200 OK
, qu'il y ait des erreurs ou non, donc il est important de vérifier la valeur de la clé"success"
et (si success estfalse
) de vérifier la valeur de la clé"error"
.
Note
En cas de problèmes majeurs de formatage, CKAN peut renvoyer une réponse HTTP avec un code de statut 409
, 400
, ou 500
(par ordre croissant de gravité). Dans les futures versions de CKAN, ces réponses seront remplacées par 200 OK
et l'utilisation des clés "success"
et "error"
.
-
"result"
: le résultat de la fonction appelée. Le type et la valeur dépendent de la fonction. Pour la fonctiongroup_list
, il s’agit d’une liste de chaînes contenant les noms des ensembles de données du groupe. -
"help"
: la chaîne de documentation de la fonction appelée.
Vous pouvez faire la même requête HTTP en utilisant le module standard urllib2
de Python :
#!/usr/bin/env python
import urllib2
import json
# Faire la requête HTTP.
response = urllib2.urlopen('https://data.gov.ma/data/api/3/action/group_list')
# Charger la réponse dans un dictionnaire.
response_dict = json.loads(response.read())
# Afficher le résultat.
print(response_dict['result'])
Exemple : Importer des ensembles de données avec l'API CKAN
Vous pouvez ajouter des ensembles de données via l'interface web de CKAN, mais lorsqu'il s'agit d'importer de nombreux ensembles de données, il est généralement plus efficace d'automatiser le processus d'une manière ou d'une autre. Dans cet exemple, nous allons vous montrer comment utiliser l'API CKAN pour écrire un script Python permettant d'importer des ensembles de données dans CKAN.
À faire
Rendre ce script plus intéressant (par exemple, lire des données depuis un fichier CSV), et placer tout le script dans un fichier .py avec des tests, puis l'importer ici.
#!/usr/bin/env python
import urllib2
import urllib
import json
import pprint
# Mettre les détails de l'ensemble de données à créer dans un dictionnaire.
dataset_dict = {
'name': 'my_dataset_name',
'notes': 'Une longue description de mon ensemble de données',
'owner_org': 'org_id_or_name'
}
# Utiliser le module json pour convertir le dictionnaire en une chaîne de caractères à poster.
data_string = urllib.quote(json.dumps(dataset_dict))
# Utiliser la fonction package_create pour créer un nouvel ensemble de données.
request = urllib2.Request(
'http://www.my_ckan_site.com/api/action/package_create')
# Créer un ensemble de données nécessite un en-tête d'autorisation.
# Remplacez *** par votre clé API, disponible dans votre compte utilisateur sur le site CKAN
# où vous créez l'ensemble de données.
request.add_header('Authorization', '***')
# Effectuer la requête HTTP.
response = urllib2.urlopen(request, data_string)
assert response.code == 200
# Utiliser le module json pour charger la réponse de CKAN dans un dictionnaire.
response_dict = json.loads(response.read())
assert response_dict['success'] is True
# package_create retourne l'ensemble de données créé comme résultat.
created_package = response_dict['result']
pprint.pprint(created_package)
Pour plus d'exemples, voir Exemples d'API.
Versions de l'API :
Les API de CKAN sont versionnées. Si vous effectuez une requête vers une URL d'API sans numéro de version, CKAN choisira la dernière version de l'API :
http://demo.ckan.org/api/action/package_list
Vous pouvez également spécifier le numéro de version de l'API dans l'URL de votre requête :
http://demo.ckan.org/api/3/action/package_list
La version 3 est actuellement la seule version de l'API Action.
Nous recommandons de spécifier le numéro de version de l'API dans vos requêtes, car cela garantit que votre client API fonctionnera sur différents sites exécutant différentes versions de CKAN (et continuera de fonctionner sur les mêmes sites lorsque ceux-ci seront mis à jour avec de nouvelles versions de CKAN). Comme la dernière version de l'API peut changer lors d'une mise à jour d'un site CKAN ou peut varier selon les sites exécutant des versions différentes de CKAN, le résultat d'une requête API sans numéro de version spécifié ne peut pas être fiable.
Authentification et jetons API :
Avertissement
À partir de CKAN 2.9, les jetons API sont le moyen préféré pour authentifier les appels API. Les anciennes clés API (legacy) continueront de fonctionner, mais elles seront supprimées dans les futures versions. Il est donc recommandé de passer aux jetons API. Lisez ci-dessous pour plus de détails.
Certaines fonctions API nécessitent une autorisation. L’API utilise les mêmes fonctions et configurations d’autorisation que l’interface web. Ainsi, si un utilisateur est autorisé à effectuer une action dans l’interface web, il sera également autorisé à le faire via l’API.
Lors de l’appel à une fonction API nécessitant une autorisation, vous devez vous authentifier en fournissant une clé d’authentification avec votre requête HTTP. À partir de CKAN 2.9, le mécanisme recommandé est l’utilisation des jetons API. Ces clés chiffrées peuvent être générées manuellement via l’interface utilisateur (Profil utilisateur > Gérer > Jetons API) ou via la fonction api_token_create()
. Un utilisateur peut créer autant de jetons que nécessaire pour différents usages, et révoquer un ou plusieurs jetons à tout moment. De plus, l’activation du plugin expire_api_token
permet de définir une date d’expiration pour un jeton.
Les administrateurs de site peuvent configurer la génération de jetons via les paramètres des jetons API.
Les anciennes clés API (UUIDs comme ec5c0860-9e48-41f3-8850-4a7128b18df8) sont encore prises en charge, mais leur utilisation est déconseillée, car elles sont moins sécurisées que les jetons et se limitent à une seule par utilisateur. La prise en charge des anciennes clés API sera supprimée dans les futures versions de CKAN.
Pour fournir votre jeton API dans une requête HTTP, incluez-le dans un en-tête Authorization
ou X-CKAN-API-Key
. (Le nom de l’en-tête HTTP peut être configuré avec l’option apikey_header_name
dans le fichier de configuration de CKAN.)
Par exemple, pour vérifier si vous suivez actuellement l’utilisateur markw
sur demo.ckan.org en utilisant curl, exécutez cette commande :
curl -H "Authorization: XXX" https://demo.ckan.org/api/3/action/am_following_user?id=markw
(Remplacez XXX
par votre jeton API.)
Ou, pour obtenir la liste des activités de votre tableau de bord utilisateur sur demo.ckan.org, exécutez ce code Python :
request = urllib2.Request('https://demo.ckan.org/api/3/action/dashboard_activity_list')
request.add_header('Authorization', 'XXX')
response_dict = json.loads(urllib2.urlopen(request, '{}').read())
Fonctions API accessibles avec GET :
Les fonctions définies dans ckan.logic.action.get peuvent également être appelées avec une requête HTTP GET. Par exemple, pour obtenir la liste des jeux de données (packages) depuis demo.ckan.org, ouvrez cette URL dans votre navigateur :
https://data.gov.ma/data/api/3/action/package_list
Ou, pour rechercher des jeux de données correspondant à la requête spending
sur demo.ckan.org, ouvrez cette URL dans votre navigateur :
https://data.gov.ma/data/api/3/action/package_search?q=spending
Astuce
Des extensions de navigateur comme JSONView pour Firefox ou Chrome afficheront les réponses JSON de CKAN avec un formatage coloré dans votre navigateur.
La requête de recherche est transmise comme un paramètre d’URL ?q=spending
. Plusieurs paramètres d’URL peuvent être ajoutés, séparés par des caractères &
. Par exemple, pour obtenir uniquement les 10 premiers jeux de données correspondants, ouvrez cette URL :
https://data.gov.ma/data/api/3/action/package_search?q=spending&rows=10
Quand une action requiert une liste de chaînes comme valeur d’un paramètre, la valeur peut être transmise en répétant le paramètre plusieurs fois dans l’URL :
https://data.gov.ma/data/api/3/action/term_translation_show?terms=russian&terms=romantic%20novel
Support JSONP :
Pour répondre aux besoins des scripts provenant d’autres sites qui souhaitent accéder à l’API, les données peuvent être renvoyées au format JSONP, où les données JSON sont « encapsulées » dans un appel de fonction. Le nom de la fonction est défini dans le paramètre « callback ». Par exemple :
https://data.gov.ma/data/api/3/action/package_show?id=adur_district_spending&callback=myfunction
Note
Cela fonctionne uniquement pour les requêtes GET
Exemples d'utilisation de l'API :
Tags (non inclus dans un vocabulaire)
Une liste de tous les tags :
- navigateur : https://data.gov.ma/data/api/3/action/tag_list
- curl :
curl https://data.gov.ma/data/api/3/action/tag_list
- ckanapi :
ckanapi -r https://data.gov.ma/data action tag_list
Les 10 tags les plus utilisés par les jeux de données :
- navigateur : https://data.gov.ma/data/api/action/package_search?facet.field=[%22tags%22]&facet.limit=10&rows=0
- curl :
curl 'https://data.gov.ma/data/api/action/package_search?facet.field=\["tags"\]&facet.limit=10&rows=0'
- ckanapi :
ckanapi -r https://data.gov.ma/data action package_search facet.field='["tags"]' facet.limit=10 rows=0
Tous les jeux de données qui ont le tag « economy » :
- navigateur : https://data.gov.ma/data/api/3/action/package_search?fq=tags:economy
- curl :
curl 'https://data.gov.ma/data/api/3/action/package_search?fq=tags:economy'
- ckanapi :
ckanapi -r https://data.gov.ma/data action package_search fq='tags:economy'
Vocabulaires de tags :
Les 10 principaux tags et vocabulaires de tags utilisés par les jeux de données :
- navigateur : https://data.gov.ma/data/api/action/package_search?facet.field=[%22tags%22]&facet.limit=10&rows=0
- curl :
curl 'https://data.gov.ma/data/api/action/package_search?facet.field=\["tags"\]&facet.limit=10&rows=0'
- ckanapi :
ckanapi -r https://data.gov.ma/data action package_search facet.field='["tags"]' facet.limit=10 rows=0
Par exemple, un Facet : vocab_Topics signifie qu'il existe un vocabulaire appelé Topics, et ses principaux tags sont listés sous celui-ci.
Une liste de jeux de données utilisant le tag « education » dans le vocabulaire « Topics » :
- navigateur : https://data.hdx.rwlabs.org/api/3/action/package_search?fq=vocab_Topics:education
- curl :
curl 'https://data.hdx.rwlabs.org/api/3/action/package_search?fq=vocab_Topics:education'
- ckanapi :
ckanapi -r https://data.hdx.rwlabs.org action package_search fq='vocab_Topics:education'
Télécharger une nouvelle version d’un fichier ressource :
Vous pouvez utiliser le paramètre upload
de la fonction resource_patch()
pour télécharger une nouvelle version d’un fichier ressource. Cela nécessite une requête multipart/form-data
. En utilisant curl, vous pouvez le faire avec @file.csv
:
curl -X POST -H "Content-Type: multipart/form-data" -H "Authorization: XXXX" -F "id=<resource_id>" -F "upload=@updated_file.csv" https://demo.ckan.org/api/3/action/resource_patch
Référence de l'API d'actions :
Note :
Si vous appelez l'une des fonctions d'action listées ci-dessous et que cette fonction déclenche une exception, l'API renverra un dictionnaire JSON avec les clés "success": false
et une clé "error"
indiquant l'exception qui a été levée.
Par exemple, member_list()
(qui retourne une liste des membres d’un groupe) déclenche une exception NotFound
si le groupe n’existe pas. Si vous l'appelez via l'API, vous obtiendrez un dictionnaire JSON similaire à ceci :
{
"success": false
"error": {
"__type": "Erreur de type Not Found",
"message": "Non trouvé"
},
"help": "...",
}
ckan.logic.action.get
Fonctions API pour rechercher et récupérer des données de CKAN.
ckan.logic.action.get.
site_read
(context, data_dict=None)-
Retourne
True
.Type de retour : bool
ckan.logic.action.get.
package_list
(context, data_dict)-
Retourne une liste des noms des ensembles de données (packages) du site.
Paramètres : - limit (int) – si spécifié, la liste des ensembles de données sera fragmentée en pages contenant au maximum
limit
ensembles de données par page et une seule page sera retournée à la fois (facultatif) - offset (int) – lorsque
limit
est spécifié, l'offset à partir duquel retourner les ensembles de données
Type de retour : liste de chaînes de caractères
- limit (int) – si spécifié, la liste des ensembles de données sera fragmentée en pages contenant au maximum
ckan.logic.action.get.
current_package_list_with_resources
(context, data_dict)-
Retourne une liste des ensembles de données (packages) du site et de leurs ressources.
La liste est triée par date de modification la plus récente en premier.
Paramètres : - limit (int) – si spécifié, la liste des ensembles de données sera fragmentée en pages contenant au maximum
limit
ensembles de données par page et une seule page sera retournée à la fois (facultatif) - offset (int) – lorsque
limit
est spécifié, l'offset à partir duquel retourner les ensembles de données - page (int) – lorsque
limit
est spécifié, quelle page retourner, obsolète : utilisezoffset
Type de retour : liste de dictionnaires
- limit (int) – si spécifié, la liste des ensembles de données sera fragmentée en pages contenant au maximum
ckan.logic.action.get.
member_list
(context, data_dict=None)-
Retourne les membres d'un groupe.
L'utilisateur doit avoir l'autorisation de 'récupérer' le groupe.
Paramètres : - id (chaîne) – l'ID ou le nom du groupe
- object_type (chaîne) – restreindre les membres retournés à ceux d'un type donné, par exemple
'user'
ou'package'
(facultatif, par défaut :None
) - capacity (chaîne) – restreindre les membres retournés à ceux ayant une capacité donnée, par exemple
'member'
,'editor'
,'admin'
,'public'
,'private'
(facultatif, par défaut :None
)
Type de retour : liste de tuples (id, type, capacité)
Lève : ckan.logic.NotFound
: si le groupe n'existe pas
ckan.logic.action.get.
package_collaborator_list
(context, data_dict)-
Retourne la liste de tous les collaborateurs d'un package donné.
Actuellement, vous devez être un administrateur de l'organisation propriétaire du package pour gérer les collaborateurs.
Note : Cette action nécessite que la fonctionnalité des collaborateurs soit activée avec l'option de configuration ckan.auth.allow_dataset_collaborators.
Paramètres : - id (chaîne) – l'ID ou le nom du package
- capacity (chaîne) – (facultatif) Si fourni, seuls les utilisateurs ayant cette capacité sont retournés
Retourne : une liste de collaborateurs, chacun étant un dictionnaire incluant l'ID du package et de l'utilisateur, la capacité et la date de dernière modification
Type de retour : liste de dictionnaires
ckan.logic.action.get.
package_collaborator_list_for_user
(context, data_dict)-
Retourne une liste de tous les packages dans lesquels l'utilisateur est un collaborateur.
Note : Cette action nécessite que la fonctionnalité des collaborateurs soit activée avec l'option de configuration ckan.auth.allow_dataset_collaborators.
Paramètres : - id (chaîne) – l'ID ou le nom de l'utilisateur
- capacity (chaîne) – (facultatif) Si fourni, seuls les packages où l'utilisateur a cette capacité sont retournés
Retourne : une liste de packages, chacun étant un dictionnaire incluant l'ID du package, la capacité et la date de dernière modification
Type de retour : liste de dictionnaires
ckan.logic.action.get.
group_list
(context, data_dict)-
Retourne une liste des noms des groupes du site.
Paramètres : - data_dict (dictionnaire) – un dictionnaire de paramètres facultatifs (facultatif) avec les éléments suivants :
- filters (dictionnaire) – une série de filtres facultatifs pour restreindre la liste des groupes retournés (facultatif)
Retourne : une liste de dictionnaires avec des informations sur chaque groupe
Type de retour : liste de dictionnaires
- data_dict (dictionnaire) – un dictionnaire de paramètres facultatifs (facultatif) avec les éléments suivants :
ckan.logic.action.get.
organization_list
(context, data_dict)-
Retourne une liste des noms des organisations du site.
Paramètres : - order_by (string) – le champ sur lequel trier la liste, doit être
'name'
ou'packages'
(facultatif, par défaut :'name'
). Obsolète, utiliser sort. - sort (string) – tri des résultats de la recherche. Facultatif. Par défaut : « title asc », chaîne avec le nom du champ et l'ordre de tri. Les champs autorisés sont : ‘name’, ‘package_count’ et ‘title’
- limit (int) – le nombre maximum d'organisations retournées (facultatif). Par défaut :
1000
lorsque all_fields=false, sauf si défini dans la configuration du siteckan.group_and_organization_list_max
. Par défaut :25
lorsque all_fields=true, sauf si défini dans la configuration du siteckan.group_and_organization_list_all_fields_max
. - offset (int) – lorsque
limit
est donné, l'offset pour commencer à retourner les organisations. - organizations (list of strings) – une liste des noms des groupes à retourner. Si donné, seuls les groupes dont les noms sont dans cette liste seront retournés (facultatif).
- all_fields (bool) – retourner des dictionnaires de groupes au lieu de simplement des noms. Seuls les champs de base sont retournés – obtenez-en plus en utilisant les options include_*. Retourner une liste de packages est trop coûteux, donc la propriété packages pour chaque groupe est obsolète, mais il y a un compte des packages dans la propriété package_count. (facultatif, par défaut :
False
) - include_dataset_count (bool) – si all_fields, inclure le package_count complet dans chaque organisation (facultatif, par défaut :
True
) - include_extras (bool) – si all_fields, inclure les champs supplémentaires de l'organisation (facultatif, par défaut :
False
) - include_tags (bool) – si all_fields, inclure les étiquettes de l'organisation (facultatif, par défaut :
False
) - include_groups (bool) – si all_fields, inclure les groupes auxquels les organisations appartiennent (facultatif, par défaut :
False
) - include_users (bool) – si all_fields, inclure les utilisateurs de l'organisation (facultatif, par défaut :
False
)
Type de retour : liste de chaînes de caractères
- order_by (string) – le champ sur lequel trier la liste, doit être
ckan.logic.action.get.
group_list_authz
(context, data_dict)-
Retourne la liste des groupes que l'utilisateur est autorisé à modifier.
Paramètres : - available_only (bool) – retire les groupes existants dans le package (facultatif, par défaut :
False
) - am_member (bool) – si
True
retourne uniquement les groupes dont l'utilisateur est membre, sinon retourne tous les groupes que l'utilisateur est autorisé à modifier (par exemple, les utilisateurs sysadmin sont autorisés à modifier tous les groupes) (facultatif, par défaut :False
)
Retourne : liste de groupes sous forme de dictionnaires que l'utilisateur est autorisé à modifier
Type de retour : liste de dictionnaires
- available_only (bool) – retire les groupes existants dans le package (facultatif, par défaut :
ckan.logic.action.get.
organization_list_for_user
(context, data_dict)-
Retourne les organisations pour lesquelles l'utilisateur a une permission donnée.
En particulier, cela retourne la liste des organisations pour lesquelles l'utilisateur actuellement autorisé a une permission donnée (par exemple : « manage_group »).
Par défaut, cela retourne la liste des organisations dont l'utilisateur actuellement autorisé est membre, dans n'importe quelle capacité.
Lorsqu'un utilisateur devient membre d'un groupe, il peut également se voir accorder des permissions supplémentaires sur les organisations associées à ce groupe. Les permissions accordées à l'utilisateur dépendent du groupe.
Paramètres : - user (string) – l'utilisateur pour lequel la liste d'organisations est retournée. Si aucun utilisateur n'est spécifié, l'utilisateur actuellement connecté est utilisé (facultatif).
- permission (string) – la permission que l'utilisateur a pour l'organisation. Cette permission est soit une permission générique (par exemple : 'manage_group') soit une permission plus précise (par exemple : 'administer_organization').
- groups (list) – la liste des groupes pour lesquels l'utilisateur a des permissions. Si aucun groupe n'est donné, la liste des groupes pour lesquels l'utilisateur a des permissions sera retournée.
- sort (string) – tri des résultats de la recherche. Facultatif. Par défaut : « title asc », chaîne avec le nom du champ et l'ordre de tri. Les champs autorisés sont : ‘name’, ‘package_count’ et ‘title’
- include_dataset_count (bool) – si
True
, inclut le nombre de jeux de données pour chaque organisation (facultatif, par défaut :False
) - include_extras (bool) – si
True
, inclut les champs supplémentaires de l'organisation (facultatif, par défaut :False
) - include_tags (bool) – si
True
, inclut les étiquettes de l'organisation (facultatif, par défaut :False
) - include_groups (bool) – si
True
, inclut les groupes auxquels l'organisation appartient (facultatif, par défaut :False
) - include_users (bool) – si
True
, inclut les utilisateurs associés à l'organisation (facultatif, par défaut :False
)
Type de retour : liste de chaînes de caractères
ckan.logic.action.get.
tag_list
(context, data_dict)-
Retourne la liste des étiquettes du site.
Par défaut, seules les étiquettes libres (celles qui ne font pas partie d'un vocabulaire) sont retournées. Si l'argument
php Copier le codevocabulary_id
est donné, seules les étiquettes appartenant à ce vocabulaire seront retournées.Paramètres : - query (string) – une requête sur le nom de l'étiquette. Si donné, seules les étiquettes dont le nom contient cette chaîne seront retournées (facultatif)
- vocabulary_id (string) – l'id ou le nom d'un vocabulaire. Si donné, seules les étiquettes appartenant à ce vocabulaire seront retournées (facultatif)
- all_fields (bool) – retourner des dictionnaires complets d'étiquettes au lieu des seuls noms (facultatif, par défaut :
False
)
Type de retour : liste de dictionnaires
ckan.logic.action.get.
user_list
(context, data_dict)-
Retourne la liste des comptes utilisateurs du site.
php Copier le codeParamètres : - q (string) – filtre les utilisateurs retournés en fonction des noms contenant une chaîne donnée (facultatif)
- email (string) – filtre les utilisateurs retournés en fonction des adresses email correspondantes (facultatif, vous devez être sysadmin pour utiliser ce filtre)
- order_by (string) – champ selon lequel trier la liste (facultatif, par défaut :
'display_name'
). Les utilisateurs peuvent être triés par'id'
,'name'
,'fullname'
,'display_name'
,'created'
,'about'
,'sysadmin'
ou'number_created_packages'
. - all_fields (bool) – retourner des dictionnaires complets d'utilisateurs au lieu de leurs seuls noms (facultatif, par défaut :
True
) - include_site_user (bool) – ajouter site_user au résultat (facultatif, par défaut :
False
)
Type de retour : liste de dictionnaires d'utilisateurs. Les propriétés des utilisateurs incluent :
number_created_packages
qui exclut les jeux de données privés ou en état de brouillon.
ckan.logic.action.get.
package_relationships_list
(context, data_dict)-
Retourne les relations d'un jeu de données (package).
php Copier le codeParamètres : - id (string) – l'id ou le nom du premier jeu de données
- id2 (string) – l'id ou le nom du deuxième jeu de données
- rel – relation sous forme de chaîne (voir
package_relationship_create()
pour les types de relation) (facultatif)
Type de retour : liste de dictionnaires
ckan.logic.action.get.
package_show
(context, data_dict)-
Retourne les métadonnées d'un jeu de données (package) et de ses ressources.
php Copier le codeParamètres : - id (string) – l'id ou le nom du jeu de données
Type de retour : dictionnaire représentant le jeu de données
ckan.logic.action.get.
package_list
(context, data_dict)-
Retourne une liste de jeux de données (packages).
Par défaut, seul le nom de chaque jeu de données est retourné. Si l'option
all_fields
est définie, tous les champs du jeu de données seront retournés.La recherche par mot-clé se fait par un critère
php Copier le codeq
sur les champs suivants :name
,title
,notes
,author
,author_email
,maintainer
,maintainer_email
, ettags
.Paramètres : - q (string) – une chaîne de recherche, par exemple un mot-clé à rechercher dans le titre, les notes, les tags, etc. (facultatif)
- tags (string) – une chaîne de tags à rechercher (facultatif)
- vocabulary_id (string) – l'id ou le nom d'un vocabulaire (facultatif)
- all_fields (bool) – retourner des dictionnaires complets de jeux de données au lieu des seuls noms (facultatif, par défaut :
False
) - start (int) – pour paginer les résultats, indique l'index du premier jeu de données (facultatif)
- limit (int) – limite le nombre de jeux de données retournés (facultatif, par défaut :
10
)
Type de retour : liste de dictionnaires
ckan.logic.action.get.
resource_view_show
(context, data_dict)-
Retourne les métadonnées d'une vue de ressource.
php Copier le codeParamètres : id (string) – l'ID de la vue de ressource Type de retour : dictionnaire
ckan.logic.action.get.
resource_view_list
(context, data_dict)-
Retourne la liste des vues de ressources pour une ressource particulière.
php Copier le codeParamètres : id (string) – l'ID de la ressource Type de retour : liste de dictionnaires
ckan.logic.action.get.
group_show
(context, data_dict)-
Retourne les détails d'un groupe.
php Copier le codeParamètres : - id (string) – l'ID ou le nom du groupe
- include_datasets (bool) – inclure une liste tronquée des jeux de données du groupe (facultatif, par défaut :
False
) - include_dataset_count (bool) – inclure le nombre total de jeux de données (facultatif, par défaut :
True
) - include_extras (bool) – inclure les champs supplémentaires du groupe (facultatif, par défaut :
True
) - include_users (bool) – inclure les utilisateurs du groupe (facultatif, par défaut :
True
) - include_groups (bool) – inclure les sous-groupes du groupe (facultatif, par défaut :
True
) - include_tags (bool) – inclure les tags du groupe (facultatif, par défaut :
True
) - include_followers (bool) – inclure le nombre de followers du groupe (facultatif, par défaut :
True
)
Type de retour : dictionnaire
Note
Seuls ses 1000 premiers jeux de données sont retournés
ckan.logic.action.get.
organization_show
(context, data_dict)-
Retourne les détails d'une organisation.
php Copier le codeParamètres : - id (string) – l'ID ou le nom de l'organisation
- include_datasets (bool) – inclure une liste tronquée des jeux de données de l'organisation (facultatif, par défaut :
False
) - include_dataset_count (bool) – inclure le nombre total de jeux de données (facultatif, par défaut :
True
) - include_extras (bool) – inclure les champs supplémentaires de l'organisation (facultatif, par défaut :
True
) - include_users (bool) – inclure les utilisateurs de l'organisation (facultatif, par défaut :
True
) - include_groups (bool) – inclure les sous-groupes de l'organisation (facultatif, par défaut :
True
) - include_tags (bool) – inclure les tags de l'organisation (facultatif, par défaut :
True
) - include_followers (bool) – inclure le nombre de followers de l'organisation (facultatif, par défaut :
True
)
Type de retour : dictionnaire
Note
Seuls ses 10 premiers jeux de données sont retournés
ckan.logic.action.get.
group_package_show
(context, data_dict)-
Retourne les jeux de données (paquets) d'un groupe.
Paramètres : - id (string) – l'ID ou le nom du groupe
- limit (int) – le nombre maximal de jeux de données à retourner (facultatif)
Type de retour : liste de dictionnaires
ckan.logic.action.get.
tag_show
(context, data_dict)-
Retourne les détails d'un tag et de tous ses jeux de données.
Paramètres : - id (string) – le nom ou l'ID du tag
- vocabulary_id (string) – l'ID ou le nom du vocabulaire du tag. Si ce n'est pas spécifié, il sera supposé que c'est un tag libre. (facultatif)
- include_datasets (bool) – inclure une liste des jeux de données du tag. (Limité à 1000 - pour plus de flexibilité, utilisez
package_search()
pour un exemple.) (facultatif, par défaut :False
)
Retourne : les détails du tag, y compris une liste de tous les jeux de données associés au tag et leurs détails
Type de retour : dictionnaire
ckan.logic.action.get.
user_show
(context, data_dict)-
Retourne un compte utilisateur.
Soit le paramètre
id
, soit le paramètreuser_obj
doit être fourni.Paramètres : - id (string) – l'ID ou le nom de l'utilisateur (facultatif)
- user_obj (dictionnaire utilisateur) – le dictionnaire de l'utilisateur (facultatif)
- include_datasets (bool) – Inclure une liste des jeux de données que l'utilisateur a créés. Si c'est le même utilisateur ou un sysadmin qui effectue la demande, inclut les jeux de données qui sont en brouillon ou privés. (facultatif, par défaut :
False
, limite : 50) - include_num_followers (bool) – Inclure le nombre de followers de l'utilisateur (facultatif, par défaut :
False
) - include_password_hash (bool) – Inclure le hash du mot de passe stocké (réservé aux sysadmins, facultatif, par défaut :
False
) - include_plugin_extras (bool) – Inclure l'objet interne des extras du plugin (réservé aux sysadmins, facultatif, par défaut :
False
)
Retourne : les détails de l'utilisateur. Inclut
email_hash
etnumber_created_packages
(ce dernier exclut les jeux de données en brouillon ou privés à moins que ce soit le même utilisateur ou un sysadmin faisant la demande). Exclut le mot de passe (hash) et la clé de réinitialisation. Si c'est le même utilisateur ou un sysadmin qui effectue la demande, l'email et la clé API sont inclus.Type de retour : dictionnaire
ckan.logic.action.get.
package_autocomplete
(context, data_dict)-
Retourne une liste de jeux de données (paquets) qui correspondent à une chaîne.
Les jeux de données dont les noms ou titres contiennent la chaîne de requête seront retournés.
Paramètres : - q (string) – la chaîne à rechercher
- limit (int) – le nombre maximal de formats de ressources à retourner (facultatif, par défaut :
10
)
Type de retour : liste de dictionnaires
ckan.logic.action.get.
format_autocomplete
(context, data_dict)-
Retourne une liste de formats de ressources dont les noms contiennent une chaîne.
Paramètres : - q (string) – la chaîne à rechercher
- limit (int) – le nombre maximal de formats de ressources à retourner (facultatif, par défaut :
5
)
Type de retour : liste de chaînes
ckan.logic.action.get.
user_autocomplete
(context, data_dict)-
Retourne une liste de noms d'utilisateurs contenant une chaîne.
Paramètres : - q (string) – la chaîne à rechercher
- limit (int) – le nombre maximal de noms d'utilisateurs à retourner (facultatif, par défaut :
20
)
Type de retour : une liste de dictionnaires d'utilisateurs, chacun avec les clés
'name'
,'fullname'
et'id'
ckan.logic.action.get.
group_autocomplete
(context, data_dict)-
Retourne une liste de noms de groupes contenant une chaîne.
Paramètres : - q (string) – la chaîne à rechercher
- limit (int) – le nombre maximal de groupes à retourner (facultatif, par défaut : 20)
Type de retour : une liste de dictionnaires de groupes, chacun avec les clés
'name'
,'title'
et'id'
ckan.logic.action.get.
organization_autocomplete
(context, data_dict)-
Retourne une liste de noms d'organisations contenant une chaîne.
Paramètres : - q (string) – la chaîne à rechercher
- limit (int) – le nombre maximal d'organisations à retourner (facultatif, par défaut :
20
)
Type de retour : une liste de dictionnaires d'organisations, chacun avec les clés
'name'
,'title'
et'id'
ckan.logic.action.get.
package_search
(contexte, dictionnaire_de_données)-
Recherche de jeux de données répondant à des critères de recherche donnés.
Cette action accepte les paramètres de requête Solr (détails ci-dessous) et renvoie un dictionnaire de résultats, y compris des jeux de données transformés en dictionnaires qui correspondent aux critères de recherche, un compte de résultats, ainsi que des informations sur les facettes.
Paramètres Solr :
Pour un traitement plus approfondi de chaque paramètre, veuillez consulter la documentation Solr.
Cette action accepte un sous-ensemble des paramètres de requête de recherche de Solr :
Paramètres : - q (chaîne de caractères) – la requête Solr. Facultatif. Par défaut :
"*:*"
- fq (chaîne de caractères) – toute requête de filtrage à appliquer. Remarque :
+site_id:{ckan_site_id}
est ajouté à cette chaîne avant l'exécution de la requête. - fq_list (liste de chaînes) – requêtes de filtrage supplémentaires à appliquer.
- sort (chaîne de caractères) – tri des résultats de la recherche. Facultatif. Par défaut :
'score desc, metadata_modified desc'
. Comme indiqué dans la documentation Solr, il s'agit d'une chaîne séparée par des virgules des noms de champs et des ordres de tri. - rows (entier) – le nombre maximal de lignes correspondant aux critères de recherche à renvoyer. (facultatif, par défaut :
10
, limite supérieure :1000
sauf si défini dans la configuration du siteckan.search.rows_max
) - start (entier) – le décalage dans le résultat complet pour indiquer où commence l'ensemble des jeux de données renvoyés.
- facet (chaîne de caractères) – permet d'activer les résultats par facettes. Par défaut :
True
. - facet.mincount (entier) – le nombre minimal pour que les champs de facettes soient inclus dans les résultats.
- facet.limit (entier) – le nombre maximal de valeurs que les champs de facettes renverront. Une valeur négative signifie illimité. Cela peut être configuré à l'échelle du site avec l'option search.facets.limit. Par défaut, c'est 50.
- facet.field (liste de chaînes) – les champs sur lesquels effectuer la facette. Par défaut vide. Si vide, les informations de facette retournées seront également vides.
- include_drafts (booléen) – si
True
, les jeux de données en brouillon seront inclus dans les résultats. Un utilisateur ne verra que ses propres jeux de données en brouillon, et un administrateur système verra tous les jeux de données en brouillon. Facultatif, la valeur par défaut estFalse
. - include_private (booléen) – si
True
, les jeux de données privés seront inclus dans les résultats. Seuls les jeux de données privés des organisations de l'utilisateur seront renvoyés, et les administrateurs système verront tous les jeux de données privés. Facultatif, la valeur par défaut estFalse
. - use_default_schema (booléen) – utilise le schéma par défaut des packages au lieu d'un schéma personnalisé défini avec un plugin IDatasetForm (par défaut :
False
)
Les paramètres Solr avancés suivants sont également pris en charge. Notez que certains d'entre eux ne sont disponibles que sur des versions particulières de Solr. Consultez la documentation du plugin DisMax et la documentation de l'edismax pour plus de détails :
qf
,wt
,bf
,boost
,tie
,defType
,mm
Exemples :
q=flood
jeux de données contenant le mot flood, floods ou floodingfq=tags:economy
jeux de données avec le tag economyfacet.field=["tags"] facet.limit=10 rows=0
top 10 des tagsRésultats :
Le résultat de cette action est un dictionnaire avec les clés suivantes :
Type de retour : Un dictionnaire avec les clés suivantes
Paramètres : - count (int) – le nombre de résultats trouvés. Remarque : il s'agit du nombre total de résultats trouvés, et non du nombre total de résultats renvoyés (qui est influencé par les paramètres de limite et de ligne utilisés dans l'entrée).
- results (liste de jeux de données sous forme de dictionnaires) – liste ordonnée de jeux de données correspondant à la requête, où l'ordre est défini par le paramètre de tri utilisé dans la requête.
- facets (dictionnaire obsolète) – OBSOLETE. Informations agrégées sur les comptages de facettes.
- search_facets (dictionnaire imbriqué de dictionnaires) – informations agrégées sur les comptages de facettes. Le dictionnaire extérieur est indexé par le nom du champ de facette (tel qu'il est utilisé dans la requête de recherche). Chaque entrée du dictionnaire extérieur est elle-même un dictionnaire, avec une clé "title" et une clé "items". La valeur de la clé "items" est une liste de dictionnaires, chacun ayant les entrées "count", "display_name" et "name". "display_name" est une forme du nom pouvant être utilisée dans les titres.
Un exemple de résultat :
{'count': 2, 'results': [ { <snip> }, { <snip> }], 'search_facets': {u'tags': {'items': [{'count': 1, 'display_name': u'tolstoy', 'name': u'tolstoy'}, {'count': 2, 'display_name': u'russian', 'name': u'russian'} ] } } }
Limitations :
Le langage de requête complet de Solr n'est pas exposé, y compris :
- fl
- Le paramètre qui contrôle quels champs sont renvoyés dans la requête Solr. fl peut être None ou une liste de champs de résultat, tels que [‘id’, ‘extras_custom_field’]. Si fl = None, les jeux de données sont renvoyés sous forme de liste de dictionnaires complets.
- q (chaîne de caractères) – la requête Solr. Facultatif. Par défaut :
ckan.logic.action.get.
resource_search
(contexte, dictionnaire_de_données)-
Recherche des ressources correspondant à un critère de recherche donné.
php Copier le codeElle renvoie un dictionnaire avec deux champs :
count
etresults
. Le champcount
contient le nombre total de ressources trouvées sans que les paramètres de limite ou de requête n'aient d'effet. Le champresults
est une liste d'objets Ressource sous forme de dictionnaires.Le paramètre 'query' est un champ requis. Il s'agit d'une chaîne de la forme
{champ}:{terme}
ou d'une liste de chaînes, chacune de la même forme. Dans chaque chaîne,{champ}
est un champ ou un champ supplémentaire sur l'objet Ressource.Si
{champ}
est"hash"
, alors une tentative est faite pour faire correspondre le {terme} comme un préfixe du champResource.hash
.Si
{champ}
est un champ supplémentaire, une tentative est faite pour faire correspondre avec les champs supplémentaires stockés contre la Ressource.Remarque : la recherche est limitée aux champs supplémentaires déclarés dans le paramètre de configuration
ckan.extra_resource_fields
.Remarque : en raison du fait que les champs supplémentaires d'une Ressource sont stockés sous forme de blob JSON, la correspondance se fait contre la représentation sous forme de chaîne du JSON. Par conséquent, des faux positifs peuvent survenir :
Si le critère de recherche est :
query = "field1:term1"
Alors un blob JSON avec la représentation sous forme de chaîne de :
{"field1": "foo", "field2": "term1"}
correspondra au critère de recherche ! Il s'agit d'une limitation connue de cette approche.
Toutes les correspondances sont effectuées sans tenir compte de la casse ; et à l'exception du champ
"hash"
, un terme correspond s'il est une sous-chaîne de la valeur du champ.Enfin, lorsque plusieurs critères de recherche sont spécifiés, les critères sont combinés avec un opérateur ET.
Le paramètre
order
est utilisé pour contrôler l'ordre des résultats. Actuellement, seule l'option de tri sur un champ est disponible, et uniquement dans l'ordre croissant.Le paramètre
fields
est obsolète car il n'est pas compatible avec l'appel de cette action avec une requête GET sur l'API d'action.Le contexte peut contenir un indicateur, search_query, qui, s'il est vrai, fera en sorte que cette action se comporte comme si elle était utilisée par l'API de recherche interne. C'est-à-dire que les résultats ne seront pas sous forme de dictionnaire, et des erreurs de recherche (SearchErrors) seront levées pour les mauvaises requêtes de recherche (plutôt que des ValidationErrors).
Paramètres : - query (chaîne ou liste de chaînes de la forme
{champ}:{terme1}
) – Le critère de recherche. Voir ci-dessus pour la description. - fields (dictionnaire des champs à rechercher) – Obsolète
- order_by (chaîne) – Un champ du modèle Ressource qui ordonne les résultats.
- offset (int) – Applique un décalage à la requête.
- limit (int) – Applique une limite à la requête.
Renvoie : Un dictionnaire avec un champ
count
et un champresults
.Type de retour : dict
- query (chaîne ou liste de chaînes de la forme
ckan.logic.action.get.
tag_search
(contexte, dictionnaire_de_données)-
Renvoie une liste de balises dont les noms contiennent une chaîne donnée.
php Copier le codePar défaut, seules les balises libres (celles qui ne font partie d'aucun vocabulaire) sont recherchées. Si l'argument
vocabulary_id
est donné, seules les balises appartenant à ce vocabulaire seront recherchées.Paramètres : - query (chaîne ou liste de chaînes) – La ou les chaînes à rechercher.
- vocabulary_id (chaîne) – L'ID ou le nom du vocabulaire de balises à rechercher (optionnel).
- fields (dictionnaire) – Obsolète.
- limit (int) – Le nombre maximal de balises à renvoyer.
- offset (int) – Lorsque
limit
est donné, le décalage à partir duquel commencer à renvoyer les balises.
Renvoie : Un dictionnaire avec les clés suivantes :
'count'
-
Le nombre de balises dans le résultat.
'results'
-
La liste des balises dont les noms contiennent la chaîne donnée, sous forme de liste de dictionnaires.
Type de retour : dictionnaire
ckan.logic.action.get.
tag_autocomplete
(contexte, dictionnaire_de_données)-
Renvoie une liste de noms de balises contenant une chaîne donnée.
php Copier le codePar défaut, seules les balises libres (celles qui ne font partie d'aucun vocabulaire) sont recherchées. Si l'argument
vocabulary_id
est donné, seules les balises appartenant à ce vocabulaire seront recherchées.Paramètres : - query (chaîne) – La chaîne à rechercher.
- vocabulary_id (chaîne) – L'ID ou le nom du vocabulaire de balises à rechercher (optionnel).
- fields (dictionnaire) – Obsolète.
- limit (int) – Le nombre maximal de balises à renvoyer.
- offset (int) – Lorsque
limit
est donné, le décalage à partir duquel commencer à renvoyer les balises.
Type de retour : liste de chaînes
ckan.logic.action.get.
task_status_show
(contexte, dictionnaire_de_données)-
Renvoie un statut de tâche.
php Copier le codeSoit le paramètre
id
ou les paramètresentity_id
,task_type
etkey
doivent être fournis.Paramètres : - id (chaîne) – L'ID du statut de la tâche (optionnel)
- entity_id (chaîne) – L'ID de l'entité du statut de la tâche (optionnel)
- task_type (chaîne) – Le type de tâche du statut de la tâche (optionnel)
- key (chaîne) – La clé du statut de la tâche (optionnel)
Type de retour : dictionnaire
ckan.logic.action.get.
term_translation_show
(contexte, dictionnaire_de_données)-
Renvoie les traductions pour les termes et langues donnés.
php Copier le codeParamètres : - terms (liste de chaînes) – Les termes pour lesquels rechercher des traductions, par exemple
'Russian'
,'romantic novel'
. - lang_codes (liste de codes de langue) – Les codes des langues dans lesquelles rechercher les traductions, par exemple
'en'
,'de'
(optionnel, par défaut, la recherche s'effectue dans toutes les langues).
Type de retour : Une liste de dictionnaires de traductions de termes, chacun ayant les clés
'term'
(le terme recherché, dans la langue source),'term_translation'
(la traduction du terme dans la langue cible) et'lang_code'
(le code de langue de la langue cible). - terms (liste de chaînes) – Les termes pour lesquels rechercher des traductions, par exemple
ckan.logic.action.get.
get_site_user
(contexte, dictionnaire_de_données)-
Renvoie l'utilisateur du site CKAN.
php Copier le codeParamètres : defer_commit (booléen) – Par défaut (ou si défini sur false), get_site_user
validera et nettoiera la transaction en cours. Si défini sur true, l'appelant est responsable de valider la transaction après l'appel deget_site_user
. Laisser des connexions ouvertes peut entraîner un blocage des commandes CLI ! (optionnel, par défaut :False
)
ckan.logic.action.get.
status_show
(contexte, dictionnaire_de_données)-
Renvoie un dictionnaire contenant des informations sur la configuration du site.
php Copier le codeType de retour : dictionnaire
ckan.logic.action.get.
vocabulary_list
(contexte, dictionnaire_de_données)-
Renvoie une liste de tous les vocabulaires de tags du site.
php Copier le codeType de retour : liste de dictionnaires
ckan.logic.action.get.
vocabulary_show
(contexte, dictionnaire_de_données)-
Renvoie un vocabulaire de tag unique.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom du vocabulaire Renvoie : le vocabulaire. Type de retour : dictionnaire
ckan.logic.action.get.
user_activity_list
(contexte, dictionnaire_de_données)-
Renvoie le flux d'activités publiques d'un utilisateur.
php Copier le codeVous devez être autorisé à voir le profil de l'utilisateur.
Paramètres : - id (chaîne) – l'identifiant ou le nom de l'utilisateur
- offset (int) – à partir de quel point commencer à récupérer les éléments d'activité (optionnel, par défaut :
0
) - limit (int) – le nombre maximum d'activités à renvoyer (optionnel, par défaut :
31
, sauf si défini dans la configuration du siteckan.activity_list_limit
, limite supérieure :100
, sauf si défini dans la configuration du siteckan.activity_list_limit_max
)
Type de retour : liste de dictionnaires
ckan.logic.action.get.
package_activity_list
(contexte, dictionnaire_de_données)-
Renvoie le flux d'activités d'un package (sans les détails)
php Copier le codeVous devez être autorisé à voir le package.
Paramètres : - id (chaîne) – l'identifiant ou le nom du package
- offset (int) – à partir de quel point commencer à récupérer les éléments d'activité (optionnel, par défaut :
0
) - limit (int) – le nombre maximum d'activités à renvoyer (optionnel, par défaut :
31
, sauf si défini dans la configuration du siteckan.activity_list_limit
, limite supérieure :100
, sauf si défini dans la configuration du siteckan.activity_list_limit_max
) - include_hidden_activity (bool) – si l'activité "cachée" doit être incluse, ce qui n'est pas affiché dans la page du flux d'activité. Les activités cachées incluent des actions faites par le site_user, telles que les récoltes, qui ne sont pas affichées dans le flux d'activité parce qu'elles peuvent être trop nombreuses, ou des activités d'autres utilisateurs spécifiées dans l'option de configuration ckan.hide_activity_from_users. Remarque : Seuls les administrateurs système peuvent définir
include_hidden_activity
à vrai. (par défaut : faux)
Type de retour : liste de dictionnaires
ckan.logic.action.get.
group_activity_list
(contexte, dictionnaire_de_données)-
Renvoie le flux d'activités d'un groupe.
php Copier le codeVous devez être autorisé à voir le groupe.
Paramètres : - id (chaîne) – l'identifiant ou le nom du groupe
- offset (int) – à partir de quel point commencer à récupérer les éléments d'activité (optionnel, par défaut :
0
) - limit (int) – le nombre maximum d'activités à renvoyer (optionnel, par défaut :
31
, sauf si défini dans la configuration du siteckan.activity_list_limit
, limite supérieure :100
, sauf si défini dans la configuration du siteckan.activity_list_limit_max
) - include_hidden_activity (bool) – si l'activité "cachée" doit être incluse, ce qui n'est pas affiché dans la page du flux d'activité. Les activités cachées incluent des actions faites par le site_user, telles que les récoltes, qui ne sont pas affichées dans le flux d'activité parce qu'elles peuvent être trop nombreuses, ou des activités d'autres utilisateurs spécifiées dans l'option de configuration ckan.hide_activity_from_users. Remarque : Seuls les administrateurs système peuvent définir
include_hidden_activity
à vrai. (par défaut : faux)
Type de retour : liste de dictionnaires
ckan.logic.action.get.
organization_activity_list
(contexte, dictionnaire_de_données)-
Renvoie le flux d'activités d'une organisation.
php Copier le codeParamètres : - id (chaîne) – l'identifiant ou le nom de l'organisation
- offset (int) – à partir de quel point commencer à récupérer les éléments d'activité (optionnel, par défaut :
0
) - limit (int) – le nombre maximum d'activités à renvoyer (optionnel, par défaut :
31
, sauf si défini dans la configuration du siteckan.activity_list_limit
, limite supérieure :100
, sauf si défini dans la configuration du siteckan.activity_list_limit_max
) - include_hidden_activity (bool) – si l'activité "cachée" doit être incluse, ce qui n'est pas affiché dans la page du flux d'activité. Les activités cachées incluent des actions faites par le site_user, telles que les récoltes, qui ne sont pas affichées dans le flux d'activité parce qu'elles peuvent être trop nombreuses, ou des activités d'autres utilisateurs spécifiées dans l'option de configuration ckan.hide_activity_from_users. Remarque : Seuls les administrateurs système peuvent définir
include_hidden_activity
à vrai. (par défaut : faux)
Type de retour : liste de dictionnaires
ckan.logic.action.get.
recently_changed_packages_activity_list
(contexte, dictionnaire_de_données)-
Renvoie le flux d'activités de tous les packages récemment ajoutés ou modifiés.
php Copier le codeParamètres : - offset (int) – à partir de quel point commencer à récupérer les éléments d'activité (optionnel, par défaut :
0
) - limit (int) – le nombre maximum d'activités à renvoyer (optionnel, par défaut :
31
, sauf si défini dans la configuration du siteckan.activity_list_limit
, limite supérieure :100
, sauf si défini dans la configuration du siteckan.activity_list_limit_max
)
Type de retour : liste de dictionnaires
- offset (int) – à partir de quel point commencer à récupérer les éléments d'activité (optionnel, par défaut :
ckan.logic.action.get.
user_follower_count
(contexte, dictionnaire_de_données)-
Renvoie le nombre d'abonnés d'un utilisateur.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom de l'utilisateur Type de retour : int
ckan.logic.action.get.
dataset_follower_count
(contexte, dictionnaire_de_données)-
Renvoie le nombre d'abonnés d'un dataset.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom du dataset Type de retour : int
ckan.logic.action.get.
group_follower_count
(contexte, dictionnaire_de_données)-
Renvoie le nombre d'abonnés d'un groupe.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom du groupe Type de retour : int
ckan.logic.action.get.
organization_follower_count
(contexte, dictionnaire_de_données)-
Renvoie le nombre d'abonnés d'une organisation.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom de l'organisation Type de retour : int
ckan.logic.action.get.
user_follower_list
(contexte, dictionnaire_de_données)-
Renvoie la liste des utilisateurs qui suivent l'utilisateur donné.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom de l'utilisateur Type de retour : liste de dictionnaires
ckan.logic.action.get.
dataset_follower_list
(contexte, dictionnaire_de_données)-
Renvoie la liste des utilisateurs qui suivent le dataset donné.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom du dataset Type de retour : liste de dictionnaires
ckan.logic.action.get.
group_follower_list
(contexte, dictionnaire_de_données)-
Renvoie la liste des utilisateurs qui suivent le groupe donné.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom du groupe Type de retour : liste de dictionnaires
ckan.logic.action.get.
organization_follower_list
(contexte, dictionnaire_de_données)-
Renvoie la liste des utilisateurs qui suivent l'organisation donnée.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom de l'organisation Type de retour : liste de dictionnaires
ckan.logic.action.get.
am_following_user
(contexte, dictionnaire_de_données)-
Renvoie
php Copier le codeTrue
si vous suivez l'utilisateur donné,False
sinon.Paramètres : id (chaîne) – l'identifiant ou le nom de l'utilisateur Type de retour : booléen
ckan.logic.action.get.
am_following_dataset
(contexte, dictionnaire_de_données)-
Renvoie
php Copier le codeTrue
si vous suivez le dataset donné,False
sinon.Paramètres : id (chaîne) – l'identifiant ou le nom du dataset Type de retour : booléen
ckan.logic.action.get.
am_following_group
(contexte, dictionnaire_de_données)-
Renvoie
php Copier le codeTrue
si vous suivez le groupe donné,False
sinon.Paramètres : id (chaîne) – l'identifiant ou le nom du groupe Type de retour : booléen
ckan.logic.action.get.
followee_count
(contexte, dictionnaire_de_données)-
Renvoie le nombre d'objets suivis par l'utilisateur donné.
php Copier le codeCompte tous les objets, de tous types, que l'utilisateur donné suit (par exemple, utilisateurs suivis, datasets suivis, groupes suivis).
Paramètres : id (chaîne) – l'identifiant de l'utilisateur Type de retour : entier
ckan.logic.action.get.
user_followee_count
(contexte, dictionnaire_de_données)-
Renvoie le nombre d'utilisateurs suivis par l'utilisateur donné.
php Copier le codeParamètres : id (chaîne) – l'identifiant de l'utilisateur Type de retour : entier
ckan.logic.action.get.
dataset_followee_count
(contexte, dictionnaire_de_données)-
Renvoie le nombre de datasets suivis par l'utilisateur donné.
php Copier le codeParamètres : id (chaîne) – l'identifiant de l'utilisateur Type de retour : entier
ckan.logic.action.get.
group_followee_count
(contexte, dictionnaire_de_données)-
Renvoie le nombre de groupes suivis par l'utilisateur donné.
php Copier le codeParamètres : id (chaîne) – l'identifiant de l'utilisateur Type de retour : entier
ckan.logic.action.get.
followee_list
(contexte, dictionnaire_de_données)-
Renvoie la liste des objets suivis par l'utilisateur donné.
php Copier le codeRenvoie tous les objets, de n'importe quel type, que l'utilisateur donné suit (par exemple : utilisateurs suivis, datasets suivis, groupes suivis, etc.).
Paramètres : - id (chaîne) – l'identifiant de l'utilisateur
- q (chaîne) – une chaîne de requête pour limiter les résultats, seuls les objets dont le nom d'affichage commence par la chaîne donnée (insensible à la casse) seront renvoyés (facultatif)
Type de retour : liste de dictionnaires, chaque dictionnaire contenant les clés
'type'
(par exemple,'user'
,'dataset'
ou'group'
),'display_name'
(par exemple, le nom d'affichage d'un utilisateur ou le titre d'un package), et'dict'
(par exemple, un dictionnaire représentant l'utilisateur, le package ou le groupe suivi, identique à celui qui serait renvoyé paruser_show()
,package_show()
ougroup_show()
).
ckan.logic.action.get.
user_followee_list
(contexte, dictionnaire_de_données)-
Renvoie la liste des utilisateurs suivis par l'utilisateur donné.
php Copier le codeParamètres : id (chaîne) – l'identifiant de l'utilisateur Type de retour : liste de dictionnaires
ckan.logic.action.get.
dataset_followee_list
(contexte, dictionnaire_de_données)-
Renvoie la liste des datasets suivis par l'utilisateur donné.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom de l'utilisateur Type de retour : liste de dictionnaires
ckan.logic.action.get.
group_followee_list
(contexte, dictionnaire_de_données)-
Renvoie la liste des groupes suivis par l'utilisateur donné.
php Copier le codeParamètres : id (chaîne) – l'identifiant ou le nom de l'utilisateur Type de retour : liste de dictionnaires
ckan.logic.action.get.
organization_followee_list
(context, data_dict)-
Retourne la liste des organisations suivies par l'utilisateur donné.
Paramètres : id (string) – l'id ou le nom de l'utilisateur Type de retour : liste de dictionnaires
ckan.logic.action.get.
dashboard_activity_list
(context, data_dict)-
- Retourne le flux d'activités du tableau de bord de l'utilisateur autorisé (via connexion ou clé API)
- stream.
Contrairement aux dictionnaires d'activités retournés par d'autres actions
*_activity_list
, ces dictionnaires d'activités contiennent une valeur booléenne supplémentaire avec la cléis_new
qui vous indique si l'activité a eu lieu depuis que l'utilisateur a consulté son tableau de bord ('is_new': True
) ou non ('is_new': False
).Les activités de l'utilisateur lui-même sont toujours marquées
'is_new': False
.Paramètres : - offset (int) – à partir de quel élément commencer à récupérer les activités (facultatif, par défaut :
0
) - limit (int) – le nombre maximal d'activités à retourner (facultatif, par défaut :
31
, limite supérieure :100
à moins que défini dans la configuration du siteckan.activity_list_limit
)
Type de retour : liste de dictionnaires d'activités
ckan.logic.action.get.
dashboard_new_activities_count
(context, data_dict)-
Retourne le nombre d'activités nouvelles dans le tableau de bord de l'utilisateur.
Retourne le nombre d'activités nouvelles dans le flux d'activités du tableau de bord de l'utilisateur autorisé.
Les activités de l'utilisateur lui-même ne sont pas comptées par cette fonction même si elles apparaissent dans le tableau de bord (les utilisateurs ne souhaitent pas être notifiés des choses qu'ils ont faites eux-mêmes).
Type de retour : int
ckan.logic.action.get.
activity_show
(context, data_dict)-
Affiche les détails d'un élément d'activité (partie du flux d'activités).
Paramètres : - id (string) – l'id de l'activité
- include_data (boolean) – inclure le champ de données, contenant un dictionnaire complet de l'objet (sinon, le champ de données est retourné uniquement avec le titre de l'objet)
Type de retour : dictionnaire
ckan.logic.action.get.
activity_data_show
(context, data_dict)-
Affiche les données d'un élément d'« activité » (partie du flux d'activité).
Par exemple, pour une mise à jour de paquet, cela renvoie uniquement le dictionnaire du jeu de données, mais aucune des informations relatives au flux d'activité, comme qui a créé la version et quand.
Paramètres : - id (string) – l'id de l'activité
- object_type (string) – « package », « user », « group » ou « organization »
Type de retour : dictionnaire
ckan.logic.action.get.
activity_diff
(context, data_dict)-
Renvoie une différence de l'activité, comparée à la version précédente de l'objet.
Paramètres : - id (string) – l'id de l'activité
- object_type (string) – « package », « user », « group » ou « organization »
- diff_type (string) – « unified », « context », « html »
ckan.logic.action.get.
member_roles_list
(context, data_dict)-
Renvoie les rôles possibles pour les membres des groupes et organisations.
Paramètres : group_type (string) – le type de groupe, soit "group"
ou"organization"
(facultatif, par défaut"organization"
)Retour : une liste de dictionnaires, chacun contenant deux clés : "text"
(le nom affiché du rôle, par exemple"Admin"
) et"value"
(le nom interne du rôle, par exemple"admin"
)Type de retour : liste de dictionnaires
ckan.logic.action.get.
help_show
(context, data_dict)-
Renvoie la chaîne d'aide pour une action particulière de l'API.
Paramètres : name (string) – Nom de la fonction d'action (ex : user_create, package_search) Retourne : La chaîne d'aide pour la fonction d'action, ou None si la fonction n'a pas de docstring. Type de retour : string Lance : ckan.logic.NotFound
: Si la fonction d'action n'existe pas.
ckan.logic.action.get.
config_option_show
(context, data_dict)-
Affiche la valeur actuelle d'une option de configuration particulière.
Renvoie uniquement les options de configuration modifiables à l'exécution (celles renvoyées par
config_option_list()
), qui peuvent être mises à jour avec l'actionconfig_option_update()
.Paramètres : key (string) – La clé de l'option de configuration Retourne : La valeur de l'option de configuration provenant soit de la table system_info, soit du fichier ini. Type de retour : string Lance : ckan.logic.ValidationError
: Si l'option de configuration n'est pas dans le schéma (whitelisted as editable).
ckan.logic.action.get.
config_option_list
(context, data_dict)-
- Renvoie une liste des clés d'options de configuration modifiables à l'exécution qui peuvent être
- mises à jour avec
config_option_update()
.
Retourne : Une liste des clés d'options de configuration. Type de retour : liste
ckan.logic.action.get.
job_list
(context, data_dict)-
Liste les jobs en arrière-plan dans la file d'attente.
Paramètres : queues (list) – Les files d'attente dont l'on souhaite lister les jobs. Si non spécifié, tous les jobs de toutes les files d'attente seront listés. Retourne : Les jobs actuellement en file d'attente en arrière-plan. Type de retour : liste Nouveauté dans la version 2.7.
ckan.logic.action.get.
job_show
(context, data_dict)-
Affiche les détails d'un job en arrière-plan.
Paramètres : id (string) – L'ID du job en arrière-plan. Retourne : Les détails du job en arrière-plan. Type de retour : dict Nouveauté dans la version 2.7.
ckan.logic.action.get.
api_token_list
(context, data_dict)-
Retourne la liste de tous les tokens API disponibles pour l'utilisateur actuel.
Retourne : Collection de tous les tokens API Type de retour : liste Nouveauté dans la version 2.9.
ckan.logic.action.create
Fonctions API pour ajouter des données à CKAN.
ckan.logic.action.create.
package_create
(context, data_dict)-
Crée un nouveau jeu de données (package).
Vous devez être autorisé à créer de nouveaux jeux de données. Si vous spécifiez des groupes pour le nouveau jeu de données, vous devez également être autorisé à modifier ces groupes.
Les plugins peuvent modifier les paramètres de cette fonction en fonction de la valeur du paramètre
type
, voir l'interface pluginIDatasetForm
.Paramètres : - name (string) – le nom du nouveau jeu de données, doit être compris entre 2 et 100 caractères et ne contenir que des caractères alphanumériques minuscules,
-
et_
, par exemple'warandpeace'
- title (string) – le titre du jeu de données (optionnel, par défaut : même que
name
) - private (bool) – Si
True
, crée un jeu de données privé - author (string) – le nom de l'auteur du jeu de données (optionnel)
- author_email (string) – l'adresse e-mail de l'auteur du jeu de données (optionnel)
- maintainer (string) – le nom du mainteneur du jeu de données (optionnel)
- maintainer_email (string) – l'adresse e-mail du mainteneur du jeu de données (optionnel)
- license_id (chaine d'identifiant de licence) – l'ID de la licence du jeu de données, voir
license_list()
pour les valeurs disponibles (optionnel) - notes (string) – une description du jeu de données (optionnel)
- url (string) – une URL pour la source du jeu de données (optionnel)
- version (string, pas plus de 100 caractères) – (optionnel)
- state (string) – l'état actuel du jeu de données, par exemple
'active'
ou'deleted'
, seuls les jeux de données actifs apparaissent dans les résultats de recherche et autres listes de jeux de données, ce paramètre sera ignoré si vous n'êtes pas autorisé à changer l'état du jeu de données (optionnel, par défaut :'active'
) - type (string) – le type du jeu de données (optionnel), les plugins
IDatasetForm
se lient à différents types de jeux de données et fournissent un comportement personnalisé pour ces types - resources (liste de dictionnaires de ressources) – les ressources du jeu de données, voir
resource_create()
pour le format des dictionnaires de ressources (optionnel) - tags (liste de dictionnaires de tags) – les tags du jeu de données, voir
tag_create()
pour le format des dictionnaires de tags (optionnel) - extras (liste de dictionnaires d'extras) – les extras du jeu de données (optionnel), les extras sont des éléments de métadonnées arbitraires (clé : valeur) pouvant être ajoutés aux jeux de données
- relationships_as_object (liste de dictionnaires de relations) – voir
package_relationship_create()
pour le format des dictionnaires de relations (optionnel) - relationships_as_subject (liste de dictionnaires de relations) – voir
package_relationship_create()
pour le format des dictionnaires de relations (optionnel) - groups (liste de dictionnaires) – les groupes auxquels appartient le jeu de données (optionnel), chaque dictionnaire de groupe doit avoir une ou plusieurs des clés suivantes :
'id'
(ID du groupe, chaîne) ou'name'
(nom du groupe, chaîne), pour voir les groupes existants, appelezgroup_list()
- owner_org (string) – l'ID de l'organisation propriétaire du jeu de données, voir
organization_list()
pour les valeurs disponibles. Ce paramètre peut être optionnel si l'option de configuration ckan.auth.create_unowned_dataset est définie surTrue
.
Retourne : le jeu de données nouvellement créé (sauf si 'return_id_only' est défini sur True dans le contexte, auquel cas seul l'ID du jeu de données sera retourné)
Type de retour : dictionnaire
- name (string) – le nom du nouveau jeu de données, doit être compris entre 2 et 100 caractères et ne contenir que des caractères alphanumériques minuscules,
ckan.logic.action.create.
resource_create
(contexte, dictionnaire_donnees)-
Ajoute une nouvelle ressource à la liste des ressources d'un jeu de données.
Paramètres : - package_id (chaîne) – ID du package auquel la ressource doit être ajoutée.
- url (chaîne) – URL de la ressource
- description (chaîne) – (optionnel)
- format (chaîne) – (optionnel)
- hash (chaîne) – (optionnel)
- name (chaîne) – (optionnel)
- resource_type (chaîne) – (optionnel)
- mimetype (chaîne) – (optionnel)
- mimetype_inner (chaîne) – (optionnel)
- cache_url (chaîne) – (optionnel)
- size (int) – (optionnel)
- created (chaîne de date ISO) – (optionnel)
- last_modified (chaîne de date ISO) – (optionnel)
- cache_last_updated (chaîne de date ISO) – (optionnel)
- upload (FieldStorage (optionnel) nécessite multipart/form-data) – (optionnel)
Retourne : la nouvelle ressource créée
Type de retour : dictionnaire
ckan.logic.action.create.
resource_view_create
(contexte, dictionnaire_donnees)-
Crée une nouvelle vue de ressource.
Paramètres : - resource_id (chaîne) – ID de la ressource
- title (chaîne) – le titre de la vue
- description (chaîne) – une description de la vue (optionnel)
- view_type (chaîne) – type de vue
- config (chaîne JSON) – options nécessaires pour recréer un état de vue (optionnel)
Retourne : la nouvelle vue de ressource créée
Type de retour : dictionnaire
ckan.logic.action.create.
resource_create_default_resource_views
(contexte, dictionnaire_donnees)-
Crée les vues par défaut (si nécessaire) sur la ressource fournie.
La fonction récupère les plugins pour les vues par défaut définies dans la configuration, et si des plugins sont trouvés, la méthode can_view de chacun d'eux sera appelée pour déterminer si une vue de ressource doit être créée. Les extensions de vue de ressource reçoivent le dictionnaire de la ressource et le dictionnaire du jeu de données parent.
Si ce dernier n'est pas fourni, la fonction package_show est appelée pour le récupérer.
Par défaut, seuls les plugins de vue ne nécessitant pas que les données de la ressource soient dans le DataStore sont appelés. Voir
ckan.logic.action.create.package_create_default_resource_views.`()
pour plus de détails sur le paramètrecreate_datastore_views
.Paramètres : - resource (dict) – dictionnaire complet de la ressource
- package (dict) – dictionnaire complet du jeu de données (optionnel, si non fourni,
package_show()
sera appelé). - create_datastore_views (bool) – si les vues reposant sur les données du DataStore doivent être créées (optionnel, défaut à False)
Retourne : une liste de vues de ressources créées (vide si aucune vue n’a été créée)
Type de retour : liste de dictionnaires
ckan.logic.action.create.
package_create_default_resource_views
(contexte, dictionnaire_donnees)-
Crée les vues par défaut sur toutes les ressources du jeu de données fourni.
Par défaut, seuls les plugins de vue qui ne nécessitent pas que les données de la ressource soient dans le DataStore sont appelés. Passer create_datastore_views à True créera uniquement des vues nécessitant que les données soient dans le DataStore. Le premier cas se produit lorsque la fonction est appelée depuis package_create ou package_update, le second lorsqu'elle est appelée depuis DataPusher lorsque les données ont été téléchargées dans le DataStore.
Paramètres : - package (dict) – dictionnaire complet du jeu de données (c'est-à-dire celui obtenu en appelant
package_show()
). - create_datastore_views (bool) – si les vues reposant sur les données du DataStore doivent être créées (optionnel, défaut à False)
Retourne : une liste de vues de ressources créées (vide si aucune vue n’a été créée)
Type de retour : liste de dictionnaires
- package (dict) – dictionnaire complet du jeu de données (c'est-à-dire celui obtenu en appelant
ckan.logic.action.create.
package_relationship_create
(contexte, dictionnaire_donnees)-
Crée une relation entre deux jeux de données (packages).
Vous devez être autorisé à éditer les deux jeux de données, sujet et objet de la relation.
Paramètres : - subject (string) – l'identifiant ou le nom du jeu de données qui est le sujet de la relation
- object – l'identifiant ou le nom du jeu de données qui est l'objet de la relation
- type (string) – le type de la relation, l'une des valeurs suivantes :
'depends_on'
,'dependency_of'
,'derives_from'
,'has_derivation'
,'links_to'
,'linked_from'
,'child_of'
ou'parent_of'
- comment (string) – un commentaire sur la relation (optionnel)
Retourne : la relation de jeu de données nouvellement créée
Type de retour : dictionnaire
ckan.logic.action.create.
member_create
(contexte, dictionnaire_donnees=None)-
Ajoute un objet (par exemple un utilisateur, un jeu de données ou un groupe) comme membre d'un groupe.
Si l'objet est déjà membre du groupe, la capacité de l'adhésion sera mise à jour.
Vous devez être autorisé à éditer le groupe.
Paramètres : - id (string) – l'identifiant ou le nom du groupe auquel ajouter l'objet
- object (string) – l'identifiant ou le nom de l'objet à ajouter
- object_type (string) – le type de l'objet à ajouter, par exemple
'package'
ou'user'
- capacity (string) – la capacité de l'adhésion
Retourne : l'adhésion nouvellement créée (ou mise à jour)
Type de retour : dictionnaire
ckan.logic.action.create.
package_collaborator_create
(context, data_dict)-
Faire d'un utilisateur un collaborateur dans un jeu de données.
Si l'utilisateur est déjà un collaborateur dans le jeu de données, sa capacité sera mise à jour.
Actuellement, vous devez être un administrateur de l'organisation propriétaire du jeu de données pour gérer les collaborateurs.
Remarque : Cette action nécessite que la fonctionnalité des collaborateurs soit activée avec l'option de configuration ckan.auth.allow_dataset_collaborators.
Paramètres : - id (string) – l'identifiant ou le nom du jeu de données
- user_id (string) – l'identifiant ou le nom de l'utilisateur à ajouter ou à modifier
- capacity (string) – la capacité ou le rôle du membre. Doit être l'un des suivants : « editor » (éditeur) ou « member » (membre). De plus, si ckan.auth.allow_admin_collaborators est activé, « admin » est également autorisé.
Retourne : le collaborateur nouvellement créé (ou mis à jour)
Type de retour : dictionnaire
ckan.logic.action.create.
group_create
(context, data_dict)-
Créer un nouveau groupe.
Vous devez être autorisé à créer des groupes.
Les plugins peuvent modifier les paramètres de cette fonction en fonction de la valeur du paramètre
type
, voir l'interfaceIGroupForm
du plugin.Paramètres : - name (string) – le nom du groupe, une chaîne de 2 à 100 caractères, contenant uniquement des caractères alphanumériques en minuscules,
-
et_
- id (string) – l'identifiant du groupe (facultatif)
- title (string) – le titre du groupe (facultatif)
- description (string) – la description du groupe (facultatif)
- image_url (string) – l'URL vers une image à afficher sur la page du groupe (facultatif)
- type (string) – le type du groupe (facultatif, par défaut :
'group'
), les plugins associent des comportements personnalisés pour différents types de groupes. Ne peut pas être « organization » (organisation) - state (string) – l'état actuel du groupe, par exemple
'active'
ou'deleted'
, seuls les groupes actifs apparaissent dans les résultats de recherche et les autres listes de groupes. Ce paramètre sera ignoré si vous n'êtes pas autorisé à changer l'état du groupe (facultatif, par défaut :'active'
) - approval_status (string) – (facultatif)
- extras (list of dataset extra dictionaries) – les extras du groupe (facultatif), les extras sont des éléments de métadonnées (clé : valeur) qui peuvent être ajoutés aux groupes. Chaque dictionnaire extra doit avoir les clés
'key'
(une chaîne),'value'
(une chaîne), et éventuellement'deleted'
- packages (list of dictionaries) – les jeux de données (packages) appartenant au groupe, une liste de dictionnaires chaque contenant les clés
'name'
(chaîne, l'id ou le nom du jeu de données) et éventuellement'title'
(chaîne, le titre du jeu de données) - groups (list of dictionaries) – les groupes qui appartiennent au groupe, une liste de dictionnaires chaque contenant la clé
'name'
(chaîne, l'id ou le nom du groupe) et éventuellement'capacity'
(chaîne, la capacité dans laquelle le groupe est membre du groupe) - users (list of dictionaries) – les utilisateurs appartenant au groupe, une liste de dictionnaires chaque contenant la clé
'name'
(chaîne, l'id ou le nom de l'utilisateur) et éventuellement'capacity'
(chaîne, la capacité dans laquelle l'utilisateur est membre du groupe)
Retourne : le groupe nouvellement créé (sauf si ‘return_id_only’ est défini sur True dans le contexte, dans ce cas seul l'id du groupe sera retourné)
Type de retour : dictionnaire
- name (string) – le nom du groupe, une chaîne de 2 à 100 caractères, contenant uniquement des caractères alphanumériques en minuscules,
ckan.logic.action.create.
organization_create
(context, data_dict)-
Créer une nouvelle organisation.
Vous devez être autorisé à créer des organisations.
Les plugins peuvent modifier les paramètres de cette fonction en fonction de la valeur du paramètre
type
, voir l'interface du pluginIGroupForm
.Paramètres : - name (string) – le nom de l'organisation, une chaîne de 2 à 100 caractères, contenant uniquement des caractères alphanumériques en minuscules,
-
et_
- id (string) – l'identifiant de l'organisation (facultatif)
- title (string) – le titre de l'organisation (facultatif)
- description (string) – la description de l'organisation (facultatif)
- image_url (string) – l'URL vers une image à afficher sur la page de l'organisation (facultatif)
- state (string) – l'état actuel de l'organisation, par exemple
'active'
ou'deleted'
, seules les organisations actives apparaissent dans les résultats de recherche et les autres listes d'organisations. Ce paramètre sera ignoré si vous n'êtes pas autorisé à changer l'état de l'organisation (facultatif, par défaut :'active'
) - approval_status (string) – (facultatif)
- extras (list of dataset extra dictionaries) – les extras de l'organisation (facultatif), les extras sont des éléments de métadonnées (clé : valeur) qui peuvent être ajoutés aux organisations. Chaque dictionnaire extra doit avoir les clés
'key'
(une chaîne),'value'
(une chaîne), et éventuellement'deleted'
- packages (list of dictionaries) – les jeux de données (packages) appartenant à l'organisation, une liste de dictionnaires chacun contenant les clés
'name'
(chaîne, l'id ou le nom du jeu de données) et éventuellement'title'
(chaîne, le titre du jeu de données) - users (list of dictionaries) – les utilisateurs appartenant à l'organisation, une liste de dictionnaires chacun contenant la clé
'name'
(chaîne, l'id ou le nom de l'utilisateur) et éventuellement'capacity'
(chaîne, la capacité dans laquelle l'utilisateur est membre de l'organisation)
Retourne : l'organisation nouvellement créée (sauf si ‘return_id_only’ est défini sur True dans le contexte, dans ce cas seul l'id de l'organisation sera retourné)
Type de retour : dictionnaire
- name (string) – le nom de l'organisation, une chaîne de 2 à 100 caractères, contenant uniquement des caractères alphanumériques en minuscules,
ckan.logic.action.create.
rating_create
(context, data_dict)-
Évaluer un jeu de données (package).
Vous devez fournir votre clé API dans l'en-tête d'authentification.
Paramètres : - package (string) – le nom ou l'id du jeu de données à évaluer
- rating (int) – la note à attribuer au jeu de données, un entier entre 1 et 5
Retourne : un dictionnaire avec deux clés :
'rating average'
(la note moyenne du jeu de données que vous avez évalué) et'rating count'
(le nombre de fois que le jeu de données a été évalué)Type de retour : dictionnaire
ckan.logic.action.create.
user_create
(contexte, dictionnaire_de_données)-
Créer un nouvel utilisateur.
Vous devez être autorisé à créer des utilisateurs.
Paramètres : - nom (chaîne de caractères) – le nom du nouvel utilisateur, une chaîne entre 2 et 100 caractères de longueur, ne contenant que des caractères alphanumériques minuscules,
-
et_
- email (chaîne de caractères) – l'adresse email du nouvel utilisateur
- mot_de_passe (chaîne de caractères) – le mot de passe du nouvel utilisateur, une chaîne d'au moins 4 caractères
- id (chaîne de caractères) – l'id du nouvel utilisateur (optionnel)
- nom_complet (chaîne de caractères) – le nom complet du nouvel utilisateur (optionnel)
- description (chaîne de caractères) – une description du nouvel utilisateur (optionnel)
- image_url (chaîne de caractères) – l'URL vers une image à afficher sur la page de l'utilisateur (optionnel)
- plugin_extras (dict) –
Données utilisateur privées appartenant à des plugins. Seuls les utilisateurs sysadmin peuvent définir cette valeur. Il doit s'agir d'un dictionnaire qui peut être converti en JSON, et les plugins doivent nommer leurs données supplémentaires avec le nom du plugin pour éviter les collisions, par exemple :
{ "nom": "utilisateur_test", "email": "test@example.com", "plugin_extras": { "mon_plugin": { "extra_privée": 1 }, "autre_plugin": { "autre_extra": True } } }
Retourne : l'utilisateur nouvellement créé
Type de retour : dictionnaire
- nom (chaîne de caractères) – le nom du nouvel utilisateur, une chaîne entre 2 et 100 caractères de longueur, ne contenant que des caractères alphanumériques minuscules,
ckan.logic.action.create.
user_invite
(contexte, dictionnaire_de_données)-
Inviter un nouvel utilisateur.
Vous devez être autorisé à créer des membres de groupe.
Paramètres : - email (chaîne de caractères) – l'email de l'utilisateur à inviter dans le groupe
- group_id (chaîne de caractères) – l'id ou le nom du groupe
- rôle (chaîne de caractères) – le rôle de l'utilisateur dans le groupe. L'un des suivants :
membre
,éditeur
, ouadmin
Retourne : l'utilisateur nouvellement créé
Type de retour : dictionnaire
ckan.logic.action.create.
vocabulary_create
(contexte, dictionnaire_de_données)-
Créer un nouveau vocabulaire de tags.
Vous devez être un sysadmin pour créer des vocabulaires.
Paramètres : - nom (chaîne de caractères) – le nom du nouveau vocabulaire, par exemple
'Genre'
- tags (liste de dictionnaires de tags) – les nouveaux tags à ajouter au vocabulaire, pour le format des dictionnaires de tags, voir
tag_create()
Retourne : le vocabulaire nouvellement créé
Type de retour : dictionnaire
- nom (chaîne de caractères) – le nom du nouveau vocabulaire, par exemple
ckan.logic.action.create.
activity_create
(contexte, dictionnaire_d_activité, **kw)-
Créer une nouvelle activité dans le flux d'activités.
Vous devez être un sysadmin pour créer de nouvelles activités.
Paramètres : - user_id (chaîne de caractères) – le nom ou l'id de l'utilisateur qui a effectué l'activité, par exemple
'seanh'
- object_id – le nom ou l'id de l'objet de l'activité, par exemple
'mon_jeu_de_données'
- activity_type (chaîne de caractères) – le type de l'activité, cela doit être un type d'activité que CKAN sait rendre, par exemple
'nouveau package'
,'utilisateur_modifié'
,'groupe_supprimé'
, etc. - data (dictionnaire) – toutes les données supplémentaires concernant l'activité
Retourne : l'activité nouvellement créée
Type de retour : dictionnaire
- user_id (chaîne de caractères) – le nom ou l'id de l'utilisateur qui a effectué l'activité, par exemple
ckan.logic.action.create.
tag_create
(contexte, dictionnaire_de_données)-
Créer un nouveau tag de vocabulaire.
Vous devez être un sysadmin pour créer des tags de vocabulaire.
Vous ne pouvez utiliser cette fonction que pour créer des tags qui appartiennent à un vocabulaire, et non pour créer des tags libres. (Pour créer un nouveau tag libre, il suffit d'ajouter le tag à un package, par exemple en utilisant la fonction
package_update()
.)Paramètres : - nom (chaîne de caractères) – le nom du nouveau tag, une chaîne de 2 à 100 caractères contenant uniquement des caractères alphanumériques et
-
,_
et.
, par exemple'Jazz'
- vocabulary_id (chaîne de caractères) – l'id du vocabulaire auquel le nouveau tag doit être ajouté, par exemple l'id du vocabulaire
'Genre'
Retourne : le tag nouvellement créé
Type de retour : dictionnaire
- nom (chaîne de caractères) – le nom du nouveau tag, une chaîne de 2 à 100 caractères contenant uniquement des caractères alphanumériques et
ckan.logic.action.create.
follow_user
(contexte, dictionnaire_de_données)-
Commencer à suivre un autre utilisateur.
Vous devez fournir votre clé API dans l'en-tête d'Autorisation.
Paramètres : id (chaîne de caractères) – l'id ou le nom de l'utilisateur à suivre, par exemple 'joeuser'
Retourne : une représentation de la relation de ‘suivi’ entre vous et l'autre utilisateur Type de retour : dictionnaire
ckan.logic.action.create.
follow_dataset
(contexte, dictionnaire_de_données)-
Commencer à suivre un jeu de données.
Vous devez fournir votre clé API dans l'en-tête d'Autorisation.
Paramètres : id (chaîne de caractères) – l'id ou le nom du jeu de données à suivre, par exemple 'warandpeace'
Retourne : une représentation de la relation de ‘suivi’ entre vous et le jeu de données Type de retour : dictionnaire
ckan.logic.action.create.
group_member_create
(contexte, dictionnaire_de_données)-
Ajouter un utilisateur comme membre d'un groupe.
Vous devez être autorisé à modifier le groupe.
Paramètres : - id (chaîne de caractères) – l'id ou le nom du groupe
- username (chaîne de caractères) – nom ou id de l'utilisateur à ajouter comme membre du groupe
- role (chaîne de caractères) – rôle de l'utilisateur dans le groupe. L'un des rôles suivants :
member
,editor
, ouadmin
Retourne : le membre nouvellement créé (ou mis à jour)
Type de retour : dictionnaire
ckan.logic.action.create.
organization_member_create
(contexte, dictionnaire_de_données)-
Faire d'un utilisateur un membre d'une organisation.
Vous devez être autorisé à modifier l'organisation.
Paramètres : - id (chaîne de caractères) – l'id ou le nom de l'organisation
- username (chaîne de caractères) – nom ou id de l'utilisateur à ajouter comme membre de l'organisation
- role (chaîne de caractères) – rôle de l'utilisateur dans l'organisation. L'un des rôles suivants :
member
,editor
, ouadmin
Retourne : le membre nouvellement créé (ou mis à jour)
Type de retour : dictionnaire
ckan.logic.action.create.
follow_group
(contexte, dictionnaire_de_données)-
Commencer à suivre un groupe.
Vous devez fournir votre clé API dans l'en-tête d'Autorisation.
Paramètres : id (chaîne de caractères) – l'id ou le nom du groupe à suivre, par exemple 'roger'
Retourne : une représentation de la relation de ‘suivi’ entre vous et le groupe Type de retour : dictionnaire
ckan.logic.action.create.
api_token_create
(contexte, dictionnaire_de_données)-
Créer un nouveau token API pour l'utilisateur actuel.
Outre les champs user et name qui sont requis par l'implémentation par défaut, il peut y avoir des champs supplémentaires enregistrés par les extensions.
Paramètres : - user (chaîne de caractères) – nom ou identifiant de l'utilisateur qui possède le nouveau token API
- name (chaîne de caractères) – nom distinctif pour le token API
Retourne : Retourne un dictionnaire avec la clé “token” contenant la valeur encodée du token. Les extensions peuvent fournir des champs supplémentaires via la méthode add_extra de
IApiToken
Type de retour : dictionnaire
ckan.logic.action.update
Fonctions API pour mettre à jour les données existantes dans CKAN.
ckan.logic.action.update.
resource_update
(contexte, dictionnaire_de_données)-
Mettre à jour une ressource.
Pour mettre à jour une ressource, vous devez être autorisé à mettre à jour le dataset auquel la ressource appartient.
Note
Les méthodes de mise à jour peuvent supprimer les paramètres non fournis explicitement dans le dictionnaire_de_données. Si vous souhaitez modifier uniquement un attribut spécifique, utilisez resource_patch à la place.
Pour des paramètres supplémentaires, voir
resource_create()
.Paramètres : id (chaîne de caractères) – l'identifiant de la ressource à mettre à jour Retourne : la ressource mise à jour Type de retour : chaîne de caractères
ckan.logic.action.update.
resource_view_update
(contexte, dictionnaire_de_données)-
Mettre à jour une vue de ressource.
Pour mettre à jour une vue de ressource, vous devez être autorisé à mettre à jour la ressource à laquelle la vue de ressource appartient.
Pour des paramètres supplémentaires, voir
resource_view_create()
.Paramètres : id (chaîne de caractères) – l'identifiant de la vue de ressource à mettre à jour Retourne : la vue de ressource mise à jour Type de retour : chaîne de caractères
ckan.logic.action.update.
resource_view_reorder
(contexte, dictionnaire_de_données)-
Réorganiser les vues de ressource.
Paramètres : - id (chaîne de caractères) – l'identifiant de la ressource
- ordre (liste de chaînes de caractères) – la liste des identifiants des vues de ressource à réorganiser
Retourne : l'ordre mis à jour des vues
Type de retour : dictionnaire
ckan.logic.action.update.
package_update
(contexte, dictionnaire_de_données)-
Mettre à jour un jeu de données (package).
Vous devez être autorisé à modifier le jeu de données et les groupes auxquels il appartient.
Note
Les méthodes de mise à jour peuvent supprimer des paramètres non explicitement fournis dans le dictionnaire de données. Si vous voulez modifier uniquement un attribut spécifique, utilisez package_patch à la place.
Il est recommandé d'appeler
ckan.logic.action.get.package_show()
, de modifier les éléments souhaités dans le résultat, puis d'appelerpackage_update()
avec ce résultat.Les plugins peuvent modifier les paramètres de cette fonction en fonction de la valeur de l'attribut
type
du jeu de données, voir l'interface du pluginIDatasetForm
.Pour des paramètres supplémentaires, voir
package_create()
.Paramètres : id (chaîne de caractères) – le nom ou l'identifiant du jeu de données à mettre à jour Retourne : le jeu de données mis à jour (si 'return_id_only'
estFalse
dans le contexte, ce qui est par défaut. Sinon, retourne seulement l'id du jeu de données)Type de retour : dictionnaire
ckan.logic.action.update.
package_revise
(contexte, dictionnaire_données)-
Réviser un jeu de données (package) sélectivement avec les paramètres match, filter et update.
Vous devez être autorisé à modifier le jeu de données et les groupes auxquels il appartient.
Paramètres : - match (dict) – un dictionnaire contenant les valeurs “id” ou “name” du jeu de données à mettre à jour, toutes les valeurs fournies doivent correspondre aux valeurs actuelles du jeu de données, sinon une erreur de validation sera levée. Par exemple,
{"name": "my-data", "resources": {["name": "big.csv"]}}
provoquerait une erreur si le premier nom de ressource du jeu de données my-data n'est pas “big.csv”. - filter (chaîne de motifs séparés par des virgules ou liste de motifs sous forme de chaînes) – une liste de motifs sous forme de chaînes pour les champs à supprimer du jeu de données actuel. Par exemple,
"-resources__1"
supprimerait la deuxième ressource,"+title, +resources, -*"
supprimerait tous les champs au niveau du jeu de données, sauf le titre et toutes les ressources (par défaut :[]
) - update (dict) – un dictionnaire avec les valeurs à mettre à jour/créer après filtrage, par exemple
{"resources": [{"description": "file here"}]}
mettrait à jour la description de la première ressource. - include (chaîne de motifs séparés par des virgules ou liste de motifs sous forme de chaînes) – une liste de motifs sous forme de chaînes pour les champs à inclure dans la réponse, par exemple
"-*"
pour ne rien retourner (par défaut :[]
retourne tous les champs)
match
etupdate
peuvent aussi être passés sous forme de "clés aplaties", en utilisant soit l'index numérique de l'élément soit son identifiant unique (avec un minimum de 5 caractères), par exemple,update__resource__1f9ab__description="guidebook"
définirait la description de la ressource avec un identifiant commençant par "1f9ab" à "guidebook", etupdate__resource__-1__description="guidebook"
ferait de même pour la dernière ressource du jeu de données.Le suffixe
extend
peut également être utilisé sur le paramètre update pour ajouter un nouvel élément à une liste, par exemple,update__resources__extend=[{"name": "new resource", "url": "https://example.com"}]
ajoutera une nouvelle ressource au jeu de données avec lename
et leurl
fournis.Exemples d'utilisation :
-
Modifier la description dans le jeu de données, en vérifiant l'ancienne description :
match={"notes": "anciennes notes", "name": "xyz"} update={"notes": "nouvelles notes"}
-
Identique à ce qui précède, mais en utilisant des clés aplaties :
match__name="xyz" match__notes="anciennes notes" update__notes="nouvelles notes"
-
Remplacer tous les champs au niveau du jeu de données uniquement, conserver les ressources (note : les champs id et type du jeu de données ne peuvent pas être supprimés)
match={"id": "1234abc-1420-cbad-1922"} filter=["+resources", "-*"] update={"name": "fresh-start", "title": "Fresh Start"}
-
Ajouter une nouvelle ressource (__extend sur une clé aplatie) :
match={"id": "abc0123-1420-cbad-1922"} update={"resources__extend"=[{"url": "https://example.com"}]}
Retour : un dictionnaire contenant ‘package’ : le jeu de données mis à jour avec les champs filtrés par le paramètre include Type de retour : dictionnaire - match (dict) – un dictionnaire contenant les valeurs “id” ou “name” du jeu de données à mettre à jour, toutes les valeurs fournies doivent correspondre aux valeurs actuelles du jeu de données, sinon une erreur de validation sera levée. Par exemple,
ckan.logic.action.update.
package_resource_reorder
(context, data_dict)-
Réorganiser les ressources par rapport aux jeux de données. Si seuls des identifiants de ressources partiels sont fournis, ceux-ci seront supposés être en premier et les autres ressources resteront dans leur ordre original.
Paramètres : - id (chaîne de caractères) – l'identifiant ou le nom du package à mettre à jour
- order (liste) – une liste des identifiants de ressources dans l'ordre souhaité
ckan.logic.action.update.
package_relationship_update
(context, data_dict)-
Met à jour une relation entre deux jeux de données (packages).
Les paramètres sujet, objet et type sont nécessaires pour identifier la relation. Seul le commentaire peut être mis à jour.
Vous devez être autorisé à éditer à la fois le jeu de données sujet et le jeu de données objet.
Paramètres : - subject (chaîne de caractères) – le nom ou l'id du jeu de données qui est le sujet de la relation
- object (chaîne de caractères) – le nom ou l'id du jeu de données qui est l'objet de la relation
- type (chaîne de caractères) – le type de la relation, l'un des suivants :
'depends_on'
,'dependency_of'
,'derives_from'
,'has_derivation'
,'links_to'
,'linked_from'
,'child_of'
ou'parent_of'
- comment (chaîne de caractères) – un commentaire sur la relationship (facultatif)
Retour : la relation mise à jour
Type de retour : dictionnaire
ckan.logic.action.update.
group_update
(context, data_dict)-
Met à jour un groupe.
Vous devez être autorisé à modifier le groupe.
Note
Les méthodes de mise à jour peuvent supprimer les paramètres non explicitement fournis dans le
data_dict
. Si vous souhaitez modifier uniquement un attribut spécifique, utilisez group_patch à la place.Les plugins peuvent modifier les paramètres de cette fonction en fonction de la valeur de l'attribut
type
du groupe, consultez l'interface de pluginIGroupForm
.Pour des paramètres supplémentaires, consultez
group_create()
.Paramètres : id (chaîne de caractères) – le nom ou l'id du groupe à mettre à jour Retour : le groupe mis à jour Type de retour : dictionnaire
ckan.logic.action.update.
organization_update
(context, data_dict)-
Met à jour une organisation.
Vous devez être autorisé à modifier l'organisation.
Note
Les méthodes de mise à jour peuvent supprimer les paramètres non explicitement fournis dans le
data_dict
. Si vous souhaitez modifier uniquement un attribut spécifique, utilisez organization_patch à la place.Pour des paramètres supplémentaires, consultez
organization_create()
.Paramètres : - id (chaîne de caractères) – le nom ou l'id de l'organisation à mettre à jour
- packages – ignoré. Utilisez
package_owner_org_update()
pour modifier la propriété des paquets
Retour : l'organisation mise à jour
Type de retour : dictionnaire
ckan.logic.action.update.
user_update
(context, data_dict)-
Met à jour un compte utilisateur.
Les utilisateurs normaux ne peuvent mettre à jour que leur propre compte utilisateur. Les administrateurs système peuvent mettre à jour n'importe quel compte utilisateur. Il n'est pas possible de modifier le nom d'un utilisateur existant.
Note
Les méthodes de mise à jour peuvent supprimer les paramètres non explicitement fournis dans le
data_dict
. Si vous souhaitez modifier uniquement un attribut spécifique, utilisez user_patch à la place.Pour des paramètres supplémentaires, consultez
user_create()
.Paramètres : id (chaîne de caractères) – le nom ou l'id de l'utilisateur à mettre à jour Retour : le compte utilisateur mis à jour Type de retour : dictionnaire
ckan.logic.action.update.
user_generate_apikey
(context, data_dict)-
Génère une nouvelle clé API pour un utilisateur
Paramètres : id (chaîne de caractères) – le nom ou l'id de l'utilisateur dont la clé doit être mise à jour Retour : l'utilisateur mis à jour Type de retour : dictionnaire
ckan.logic.action.update.
task_status_update
(context, data_dict)-
Met à jour le statut d'une tâche.
Paramètres : - id (chaîne de caractères) – l'id du statut de la tâche à mettre à jour
- entity_id (chaîne de caractères) –
- entity_type (chaîne de caractères) –
- task_type (chaîne de caractères) –
- key (chaîne de caractères) –
- value – (optionnel)
- state – (optionnel)
- last_updated – (optionnel)
- error – (optionnel)
Retour : le statut de la tâche mis à jour
Type de retour : dictionnaire
ckan.logic.action.update.
task_status_update_many
(context, data_dict)-
Met à jour plusieurs statuts de tâches à la fois.
Paramètres : data (liste de dictionnaires) – les dictionnaires de statut de tâche à mettre à jour. Pour le format des dictionnaires de statut de tâche, consultez task_status_update()
Retour : les statuts de tâches mis à jour Type de retour : liste de dictionnaires
ckan.logic.action.update.
term_translation_update
(context, data_dict)-
Créer ou mettre à jour une traduction de terme.
Vous devez être un administrateur système pour créer ou mettre à jour des traductions de termes.
Paramètres : - term (string) – le terme à traduire, dans la langue originale, par exemple
'romantic novel'
- term_translation (string) – la traduction du terme, par exemple
'Liebesroman'
- lang_code (string) – le code de langue de la traduction, par exemple
'de'
Retour : la traduction de terme nouvellement créée ou mise à jour
Type de retour : dictionnaire
- term (string) – le terme à traduire, dans la langue originale, par exemple
ckan.logic.action.update.
term_translation_update_many
(context, data_dict)-
Créer ou mettre à jour plusieurs traductions de termes à la fois.
Paramètres : data (liste de dictionnaires) – les dictionnaires de traductions de termes à créer ou à mettre à jour. Pour le format des dictionnaires de traduction de termes, voir term_translation_update()
Retour : un dictionnaire avec la clé 'success'
dont la valeur est une chaîne de caractères indiquant combien de traductions de termes ont été mises à jourType de retour : chaîne de caractères
ckan.logic.action.update.
vocabulary_update
(context, data_dict)-
Mettre à jour un vocabulaire de tags.
Vous devez être un administrateur système pour mettre à jour les vocabulaires.
Pour plus de paramètres, consultez
vocabulary_create()
.Paramètres : id (chaîne) – l'ID du vocabulaire à mettre à jour Retour : le vocabulaire mis à jour Type de retour : dictionnaire
ckan.logic.action.update.
dashboard_mark_activities_old
(context, data_dict)-
Marquer toutes les nouvelles activités du tableau de bord de l'utilisateur autorisé comme anciennes.
Cela réinitialisera
dashboard_new_activities_count()
à 0.
ckan.logic.action.update.
send_email_notifications
(context, data_dict)-
Envoyer tous les e-mails de notification d'activités en attente aux utilisateurs.
Vous devez fournir une clé API d'administrateur système dans l'en-tête d'autorisation de la requête, ou appeler cette action depuis la ligne de commande via une commande paster post ….
ckan.logic.action.update.
package_owner_org_update
(context, data_dict)-
Mettre à jour l'organisation propriétaire d'un jeu de données.
Paramètres : - id (chaîne) – le nom ou l'ID du jeu de données à mettre à jour
- organization_id (chaîne) – le nom ou l'ID de l'organisation propriétaire
ckan.logic.action.update.
bulk_update_private
(context, data_dict)-
Rendre privés une liste de jeux de données.
Paramètres : - datasets (liste de chaînes) – liste des identifiants des jeux de données à mettre à jour
- org_id (entier) – identifiant de l'organisation propriétaire
ckan.logic.action.update.
bulk_update_public
(context, data_dict)-
Rendre publics une liste de jeux de données.
Paramètres : - datasets (liste de chaînes) – liste des identifiants des jeux de données à mettre à jour
- org_id (entier) – identifiant de l'organisation propriétaire
ckan.logic.action.update.
bulk_update_delete
(context, data_dict)-
Supprimer une liste de jeux de données.
Paramètres : - datasets (liste de chaînes) – liste des identifiants des jeux de données à mettre à jour
- org_id (entier) – identifiant de l'organisation propriétaire
ckan.logic.action.update.
mise_à_jour_option_de_configuration
(contexte, dictionnaire_de_données)-
Nouveau dans la version 2.4.
Permet de modifier certaines options de configuration modifiables au runtime dans CKAN.
Il prend des paires clé, valeur arbitraires et vérifie les clés par rapport au schéma de mise à jour des options de configuration. Si certaines des clés fournies ne sont pas présentes dans le schéma, une
ValidationError
est levée. Les valeurs sont ensuite validées par rapport au schéma, et si la validation est réussie, pour chaque clé, valeur d'option de configuration :- Elle est stockée dans la table de base de données
system_info
. - L'objet Pylons
config
est mis à jour. - L'objet
app_globals
(g
) est mis à jour (cela ne se produit que pour les options explicitement définies dans le moduleapp_globals
).
Ce qui suit liste un paramètre
key
, mais cela devrait être remplacé par les options de configuration que vous souhaitez mettre à jour, par exemple :get_action('config_option_update',{}, { 'ckan.site_title': 'Mon site de données ouvertes', 'ckan.homepage_layout': 2, })
Paramètres : key (chaîne) – une clé d'option de configuration (par exemple ckan.site_title
). Elle doit être présente dans leupdate_configuration_schema
Retourne : un dictionnaire avec les options définies Type de retour : dictionnaire Note
Vous pouvez voir toutes les options de configuration modifiables au runtime en appelant l'action
config_option_list()
.Note
Les extensions peuvent modifier les options de configuration modifiables au runtime. Pour plus de détails, consultez Rendre les options de configuration modifiables au runtime.
Avertissement
Vous ne devez ajouter que des options de configuration que vous êtes à l'aise de modifier pendant l'exécution, comme celles que vous avez ajoutées dans votre propre extension ou que vous avez examinées dans le cœur de CKAN.
- Elle est stockée dans la table de base de données
ckan.logic.action.patch
Nouveau dans la version 2.3.
Fonctions de l'API pour les mises à jour partielles des données existantes dans CKAN
ckan.logic.action.patch.
package_patch
(context, data_dict)-
Met à jour partiellement un jeu de données (package).
Paramètres : id (chaîne) – l'id ou le nom du jeu de données La différence entre les méthodes de mise à jour et de patch est que le patch effectuera une mise à jour des paramètres fournis, tout en laissant tous les autres paramètres inchangés, tandis que la méthode de mise à jour supprime tous les paramètres non fournis explicitement dans le
data_dict
.Vous pouvez mettre à jour partiellement et/ou créer des ressources avec
package_patch
. Si vous mettez à jour des ressources existantes, veillez à fournir l'ID de la ressource. Les ressources existantes exclues dudata_dict
depackage_patch
seront supprimées. Les ressources dans ledata_dict
du package sans ID seront traitées comme des nouvelles ressources et seront ajoutées. Les nouvelles ressources ajoutées avec la méthode patch ne créent pas les vues par défaut.Vous devez être autorisé à modifier le jeu de données et les groupes auxquels il appartient.
ckan.logic.action.patch.
resource_patch
(context, data_dict)-
Mettre à jour une ressource
Paramètres : id (chaîne) – l'id de la ressource La différence entre les méthodes de mise à jour et de patch est que le patch mettra à jour les paramètres fournis, tout en laissant tous les autres paramètres inchangés, tandis que la méthode de mise à jour supprime tous les paramètres non fournis explicitement dans le
data_dict
.
ckan.logic.action.patch.
group_patch
(context, data_dict)-
Mettre à jour un groupe
Paramètres : id (chaîne) – l'id ou le nom du groupe La différence entre les méthodes de mise à jour et de patch est que le patch mettra à jour les paramètres fournis, tout en laissant tous les autres paramètres inchangés, tandis que la méthode de mise à jour supprime tous les paramètres non fournis explicitement dans le
data_dict
.
ckan.logic.action.patch.
organization_patch
(context, data_dict)-
Mettre à jour une organisation
Paramètres : id (chaîne) – l'id ou le nom de l'organisation La différence entre les méthodes de mise à jour et de patch est que le patch mettra à jour les paramètres fournis, tout en laissant tous les autres paramètres inchangés, tandis que la méthode de mise à jour supprime tous les paramètres non fournis explicitement dans le
data_dict
.
ckan.logic.action.patch.
user_patch
(context, data_dict)-
Mettre à jour un utilisateur :
:param id: l'id ou le nom de l'utilisateur
:type id: chaîne
La différence entre les méthodes de mise à jour et de patch est que le patch mettra à jour les paramètres fournis, tout en laissant tous les autres paramètres inchangés, tandis que la méthode de mise à jour supprime tous les paramètres non fournis explicitement dans ledata_dict
.
ckan.logic.action.delete
Fonctions API pour supprimer des données dans CKAN.
ckan.logic.action.delete.
user_delete
(context, data_dict)-
Supprimer un utilisateur.
Seuls les administrateurs système peuvent supprimer des utilisateurs.
Paramètres : id (chaîne) – l'id ou le nom d'utilisateur de l'utilisateur à supprimer
ckan.logic.action.delete.
package_delete
(context, data_dict)-
Supprimer un jeu de données (package).
Cela fait disparaître le jeu de données de toutes les vues Web et API, à l'exception de la corbeille.
Vous devez être autorisé à supprimer le jeu de données.
Paramètres : id (chaîne) – l'id ou le nom du jeu de données à supprimer
ckan.logic.action.delete.
dataset_purge
(context, data_dict)-
Purger un jeu de données.
Avertissement
La purge d'un jeu de données ne peut pas être annulée !
La purge d'une base de données supprime complètement le jeu de données de la base de données CKAN, tandis que la suppression d'un jeu de données se contente de marquer ce dernier comme supprimé (il ne s'affichera plus sur le front-end, mais reste dans la base de données).
Vous devez être autorisé à purger le jeu de données.
Paramètres : id (chaîne) – le nom ou l'id du jeu de données à purger
ckan.logic.action.delete.
resource_delete
(context, data_dict)-
Supprimer une ressource d'un jeu de données.
Vous devez être un administrateur système ou le propriétaire de la ressource pour pouvoir la supprimer.
Paramètres : id (chaîne) – l'id de la ressource
ckan.logic.action.delete.
resource_view_delete
(context, data_dict)-
Supprimer une vue de ressource (resource_view).
Paramètres : id (chaîne) – l'identifiant de la vue de ressource (resource_view)
ckan.logic.action.delete.
resource_view_clear
(context, data_dict)-
Supprimer toutes les vues de ressource, ou toutes celles d’un type particulier.
Paramètres : view_types (liste) – types spécifiques à supprimer (optionnel)
ckan.logic.action.delete.
package_relationship_delete
(context, data_dict)-
Supprimer une relation entre des ensembles de données (packages).
Vous devez être autorisé à supprimer des relations entre ensembles de données, ainsi qu'à modifier les ensembles de données sujet et objet.
Paramètres : - subject (chaîne) – l'identifiant ou le nom de l'ensemble de données qui est le sujet de la relation
- object (chaîne) – l'identifiant ou le nom de l'ensemble de données qui est l'objet de la relation
- type (chaîne) – le type de la relation
ckan.logic.action.delete.
member_delete
(context, data_dict=None)-
Supprimer un objet (par exemple, un utilisateur, un ensemble de données ou un groupe) d’un groupe.
Vous devez être autorisé à modifier un groupe pour en supprimer des objets.
Paramètres : - id (chaîne) – l'identifiant du groupe
- object (chaîne) – l'identifiant ou le nom de l'objet à supprimer
- object_type (chaîne) – le type de l'objet à supprimer, par exemple
package
ouuser
ckan.logic.action.delete.
package_collaborator_delete
(context, data_dict)-
Retirer un collaborateur d’un ensemble de données.
Actuellement, vous devez être administrateur de l'organisation propriétaire de l'ensemble de données pour gérer les collaborateurs.
Remarque : Cette action nécessite que la fonctionnalité de collaboration soit activée avec l'option de configuration ckan.auth.allow_dataset_collaborators.
Paramètres : - id (chaîne) – l'identifiant ou le nom de l'ensemble de données
- user_id (chaîne) – l'identifiant ou le nom de l'utilisateur à retirer
ckan.logic.action.delete.
group_delete
(context, data_dict)-
Supprimer un groupe.
Vous devez être autorisé à supprimer le groupe.
Paramètres : id (chaîne) – le nom ou l'identifiant du groupe
ckan.logic.action.delete.
organization_delete
(context, data_dict)-
Supprimer une organisation.
Vous devez être autorisé à supprimer l'organisation et aucune base de données ne doit appartenir à l'organisation, sauf si « ckan.auth.create_unowned_dataset=True ».
Paramètres : id (chaîne) – le nom ou l’identifiant de l’organisation
ckan.logic.action.delete.
group_purge
(context, data_dict)-
Purger un groupe.
Avertissement
La purge d’un groupe est irréversible !
La purge d'un groupe supprime complètement le groupe de la base de données CKAN, tandis que la suppression d’un groupe se contente de le marquer comme supprimé (il n’apparaît plus dans l’interface utilisateur, mais reste dans la base de données).
Les ensembles de données dans l’organisation resteront disponibles, mais ne feront plus partie du groupe purgé.
Vous devez être autorisé à purger le groupe.
Paramètres : id (chaîne) – le nom ou l’identifiant du groupe à purger
ckan.logic.action.delete.
organization_purge
(context, data_dict)-
Purger une organisation.
Avertissement
La purge d'une organisation est irréversible !
La purge d'une organisation supprime complètement l'organisation de la base de données CKAN, tandis que la suppression d'une organisation se contente de marquer l'organisation comme supprimée (elle n'apparaîtra plus dans l'interface utilisateur, mais reste dans la base de données).
Les ensembles de données appartenant à l'organisation resteront disponibles, mais ne feront plus partie d'une organisation.
Vous devez être autorisé à purger l'organisation.
Paramètres : id (chaîne) – le nom ou l’identifiant de l’organisation à purger
ckan.logic.action.delete.
task_status_delete
(context, data_dict)-
Supprimer un statut de tâche.
Vous devez être un administrateur système pour supprimer les statuts de tâche.
Paramètres : id (chaîne) – l’identifiant du statut de tâche à supprimer
ckan.logic.action.delete.
vocabulary_delete
(context, data_dict)-
Supprimer un vocabulaire de tags.
Vous devez être un administrateur système pour supprimer des vocabulaires.
Paramètres : id (chaîne) – l’identifiant du vocabulaire
ckan.logic.action.delete.
tag_delete
(context, data_dict)-
Supprimer un tag.
Vous devez être un administrateur système pour supprimer des tags.
Paramètres : - id (chaîne) – l’identifiant ou le nom du tag
- vocabulary_id (chaîne) – l’identifiant ou le nom du vocabulaire auquel appartient le tag (optionnel, par défaut : Aucun)
ckan.logic.action.delete.
unfollow_user
(context, data_dict)-
Arrêter de suivre un utilisateur.
Paramètres : id (chaîne) – l’identifiant ou le nom de l'utilisateur à ne plus suivre
ckan.logic.action.delete.
unfollow_dataset
(context, data_dict)-
Arrêter de suivre un jeu de données.
Paramètres : id (chaîne) – l’identifiant ou le nom du jeu de données à ne plus suivre
ckan.logic.action.delete.
group_member_delete
(context, data_dict=None)-
Supprimer un utilisateur d'un groupe.
Vous devez être autorisé à modifier le groupe.
Paramètres : - id (chaîne) – l’identifiant ou le nom du groupe
- username (chaîne) – le nom ou l’identifiant de l’utilisateur à supprimer
ckan.logic.action.delete.
organization_member_delete
(context, data_dict=None)-
Supprimer un utilisateur d'une organisation.
Vous devez être autorisé à modifier l’organisation.
Paramètres : - id (chaîne) – l’identifiant ou le nom de l’organisation
- username (chaîne) – le nom ou l’identifiant de l’utilisateur à supprimer
ckan.logic.action.delete.
unfollow_group
(context, data_dict)-
Arrêter de suivre un groupe.
Paramètres : id (chaîne) – l’identifiant ou le nom du groupe à ne plus suivre
ckan.logic.action.delete.
job_clear
(context, data_dict)-
Effacer les files d’attente des tâches en arrière-plan.
Ne concerne pas les tâches qui sont déjà en cours de traitement.
Paramètres : queues (liste) – Les files d’attente à effacer. Si non spécifié, TOUTES les files d’attente seront effacées. Renvoie : Les files d’attente effacées. Type de retour : liste Nouveau dans la version 2.7.
ckan.logic.action.delete.
job_cancel
(context, data_dict)-
Annuler une tâche en arrière-plan en file d’attente.
Supprime la tâche de la file d’attente et la supprime définitivement.
Paramètres : id (chaîne) – L’identifiant de la tâche en arrière-plan. Nouveau dans la version 2.7.
ckan.logic.action.delete.
api_token_revoke
(context, data_dict)-
Supprimer un jeton API.
Paramètres : - token (chaîne) – Jeton à supprimer (obligatoire si jti n’est pas spécifié).
- jti (chaîne) – Identifiant du jeton à supprimer (remplace token si spécifié).
Nouveau dans la version 3.0.