Point d’entrée des modèles de requête

Exemples d’appels API

Les sections suivantes décrivent les différents appels API que vous pouvez effectuer à l’aide de l’API Query Service. Chaque appel inclut le format général d’API, un exemple de requête présentant les en-têtes requis et un exemple de réponse.

Pour plus d’informations sur la création de modèles via l’interface utilisateur d’​ consultez la documentation sur les modèles de requête de l’interface utilisateur ​.

Récupération d’une liste de modèles de requête

Vous pouvez récupérer une liste de tous les modèles de requête pour votre organisation en envoyant une requête GET au point d’entrée /query-templates.

Format d’API

GET /query-templates
GET /query-templates?{QUERY_PARAMETERS}
Propriété
Description
{QUERY_PARAMETERS}
(Facultatif) Les paramètres ajoutés au chemin de requête configurant les résultats renvoyés dans la réponse. Plusieurs paramètres peuvent être inclus et séparés par des esperluettes (&). Les paramètres disponibles sont répertoriés ci-dessous.

Paramètres de requête

Vous trouverez ci-dessous une liste des paramètres de requête disponibles pour répertorier les modèles de requête. Tous ces paramètres sont facultatifs. Un appel à ce point d’entrée sans paramètre permet de récupérer tous les modèles de requête disponibles pour votre organisation.

Paramètre
Description
orderby
Spécifie le champ de référence pour le tri des résultats. Les champs created et updated sont pris en charge. Par exemple, orderby=created triera les résultats par ordre croissant de création. L’ajout d’un - devant created (orderby=-created) triera les éléments par ordre décroissant de création.
limit
Indique la limite de taille de page pour contrôler le nombre de résultats inclus dans une page. (Valeur par défaut : 20)
start
Spécifiez un horodatage au format ISO pour classer les résultats. Si aucune date de début n’est spécifiée, l’appel API renvoie d’abord les modèles créés les plus anciens, puis continue à répertorier les résultats les plus récents.Les horodatages ISO
permettent différents niveaux de granularité de la date et de l’heure. Les horodatages ISO de base prennent le format suivant : 2020-09-07 pour exprimer la date du 7 septembre 2020. Un exemple plus complexe est écrit comme 2022-11-05T08:15:30-05:00 et correspond au 5 novembre 2022, à 8 :15: 30, heure standard des États-Unis d’Amérique. Un fuseau horaire peut être fourni avec un décalage UTC et est désigné par le suffixe « Z » (2020-01-01T01:01:01Z). Si aucun fuseau horaire n’est fourni, la valeur par défaut est zéro.
property
Filtrez les résultats en fonction des champs. Les filtres doivent être précédés d’une séquence d’échappement HTML. Des virgules sont utilisées pour combiner plusieurs ensembles de filtres. Les champs name et userId sont pris en charge. Le seul opérateur pris en charge est == (égal à). Par exemple, name==my_template renvoie tous les modèles de requête portant le nom my_template.

Requête

La requête suivante récupère le dernier modèle de requête créé pour votre organisation.

curl -X GET https://platform.adobe.io/data/foundation/query/query-templates?limit=1
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

Réponse

Une réponse réussie renvoie un état HTTP 200 avec une liste de modèles de requête pour l’organisation spécifiée. La réponse suivante renvoie le dernier modèle de requête créé pour votre organisation.

{
    "templates": [
        {
            "sql": "SELECT *\nFROM\n  accounts\nLIMIT 10\n",
            "name": "Test",
            "id": "f7cb5155-29da-4b95-8131-8c5deadfbe7f",
            "updated": "2019-11-21T21:50:01.469Z",
            "userId": "{USER_ID}",
            "created": "2019-11-21T21:50:01.469Z",
            "_links": {
                "self": {
                    "href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
                    "method": "GET"
                },
                "delete": {
                    "href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
                    "method": "DELETE"
                },
                "update": {
                    "href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
                    "method": "PUT",
                    "body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
                }
            }
        }
    ],
    "_page": {
        "orderby": "-created",
        "start": "2019-11-21T21:50:01.469Z",
        "next": "2019-11-21T21:50:01.469Z",
        "count": 1
    },
    "_links": {
        "next": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates?orderby=-created&start=2019-11-21T21:50:01.469Z"
        },
        "prev": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates?orderby=-created&start=2019-11-21T21:50:01.469Z&isPrevLink=true"
        }
    },
    "version": 1
}
NOTE
Vous pouvez utiliser la valeur de _links.delete pour supprimer le modèle de requête.

Création d’un modèle de requête

Vous pouvez créer un modèle de requête en effectuant une requête POST sur le point d’entrée /query-templates.

Format d’API

POST /query-templates

Requête

curl -X POST https://platform.adobe.io/data/foundation/query/query-templates
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'
 -d '{
        "sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
        "name": "Sample query template",
        "queryParameters": {
            user_id : {USER_ID}
            }
    }'
Propriété
Description
sql
Requête SQL à créer. Vous pouvez utiliser le langage SQL standard ou un remplacement de paramètre. Pour utiliser un remplacement de paramètre dans le SQL, vous devez ajouter la clé de paramètre avec un $. Par exemple, $key et indiquez les paramètres utilisés dans le code SQL en tant que paires clé-valeur JSON dans le champ queryParameters . Les valeurs transmises ici seront les paramètres par défaut utilisés dans le modèle. Si vous souhaitez remplacer ces paramètres, vous devez le faire dans la requête POST.
name
Le nom du modèle de requête.
queryParameters
Une paire clé-valeur pour remplacer les valeurs paramétrées dans l’instruction SQL. Cela n’est nécessaire que si vous utilisez des remplacements de paramètres dans le code SQL que vous fournissez. Aucune vérification de type valeur ne sera effectuée sur ces paires clé-valeur.

Réponse

Une réponse réussie renvoie un état HTTP 202 (Accepted) avec les détails du modèle de requête que vous venez de créer.

{
    "sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
    "name": "Sample query template",
    "id": "0094d000-9062-4e6a-8fdb-05606805f08f",
    "updated": "2020-01-09T00:20:09.670Z",
    "userId": "{USER_ID}",
    "created": "2020-01-09T00:20:09.670Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "DELETE"
        },
        "update": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "PUT",
            "body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
        }
    }
}
NOTE
Vous pouvez utiliser la valeur de _links.delete pour supprimer le modèle de requête.

Récupération d’un modèle de requête spécifié

Vous pouvez récupérer un modèle de requête spécifique en effectuant une requête GET sur le point d’entrée /query-templates/{TEMPLATE_ID} et en fournissant l’identifiant du modèle de requête du chemin de requête.

Format d’API

GET /query-templates/{TEMPLATE_ID}
Propriété
Description
{TEMPLATE_ID}
La valeur id du modèle de requête que vous souhaitez récupérer.

Requête

curl -X GET https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

Réponse

Une réponse réussie renvoie un état HTTP 200 avec les détails de votre modèle de requête spécifié.

{
    "sql": "SELECT * FROM accounts;",
    "name": "Sample query template",
    "id": "0094d000-9062-4e6a-8fdb-05606805f08f",
    "updated": "2020-01-09T00:20:09.670Z",
    "userId": "A5A562D15E1645480A495CE1@techacct.adobe.com",
    "created": "2020-01-09T00:20:09.670Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "DELETE"
        },
        "update": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "PUT",
            "body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
        }
    }
}
NOTE
Vous pouvez utiliser la valeur de _links.delete pour supprimer le modèle de requête.

Mise à jour d’un modèle de requête spécifié

Vous pouvez mettre à jour un modèle de requête spécifique en effectuant une requête PUT sur le point d’entrée /query-templates/{TEMPLATE_ID} et en fournissant l’identifiant du modèle de requête du chemin de requête.

Format d’API

PUT /query-templates/{TEMPLATE_ID}
Propriété
Description
{TEMPLATE_ID}
La valeur id du modèle de requête que vous souhaitez récupérer.

Requête

NOTE
La requête PUT nécessite de renseigner les champs sql et name , et remplacera le contenu actuel de ce modèle de requête.
curl -X PUT https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'
 -d '{
    "sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
    "name": "Sample query template",
    "queryParameters": {
            user_id : {USER_ID}
        }
    }'
Propriété
Description
sql
Requête SQL à créer. Vous pouvez utiliser le langage SQL standard ou un remplacement de paramètre. Pour utiliser un remplacement de paramètre dans le SQL, vous devez ajouter la clé de paramètre avec un $. Par exemple, $key et indiquez les paramètres utilisés dans le code SQL en tant que paires clé-valeur JSON dans le champ queryParameters . Les valeurs transmises ici seront les paramètres par défaut utilisés dans le modèle. Si vous souhaitez remplacer ces paramètres, vous devez le faire dans la requête POST.
name
Le nom du modèle de requête.
queryParameters
Une paire clé-valeur pour remplacer les valeurs paramétrées dans l’instruction SQL. Cela n’est nécessaire que si vous utilisez des remplacements de paramètres dans le code SQL que vous fournissez. Aucune vérification de type valeur ne sera effectuée sur ces paires clé-valeur.

Réponse

Une réponse réussie renvoie un état HTTP 202 (Accepted) avec les informations mises à jour pour votre modèle de requête spécifié.

{
    "sql": "SELECT * FROM accounts LIMIT 20;",
    "name": "Sample query template",
    "id": "0094d000-9062-4e6a-8fdb-05606805f08f",
    "updated": "2020-01-09T00:29:20.028Z",
    "lastUpdatedBy": "{USER_ID}",
    "userId": "{USER_ID}",
    "created": "2020-01-09T00:20:09.670Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "DELETE"
        },
        "update": {
            "href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "PUT",
            "body": "{\"sql\": \"new sql \", \"name\": \"new name\"}"
        }
    }
}
NOTE
Vous pouvez utiliser la valeur de _links.delete pour supprimer le modèle de requête.

Suppression d’un modèle de requête spécifié

Vous pouvez supprimer un modèle de requête spécifique en effectuant une requête DELETE sur le /query-templates/{TEMPLATE_ID} et en fournissant l’identifiant du modèle de requête du chemin de requête.

Format d’API

DELETE /query-templates/{TEMPLATE_ID}
Propriété
Description
{TEMPLATE_ID}
La valeur id du modèle de requête que vous souhaitez récupérer.

Requête

curl -X DELETE https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

Réponse

Une réponse réussie renvoie un état HTTP 202 (Accepted) avec le message suivant.

{
    "message": "Deleted",
    "statusCode": 202
}
recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb