Extremo de consultas

Llamadas de API de muestra

Las siguientes secciones explican las llamadas que puede realizar mediante el extremo /queries de la API Query Service. Cada llamada incluye el formato de API general, una solicitud de ejemplo que muestra los encabezados necesarios y una respuesta de ejemplo.

Recuperar una lista de consultas

Puede recuperar una lista de todas las consultas para su organización IMS realizando una solicitud de GET al extremo /queries .

Formato de API

GET /queries
GET /queries?{QUERY_PARAMETERS}
  • {QUERY_PARAMETERS}: (Opcional) Se han agregado parámetros a la ruta de solicitud que configuran los resultados devueltos en la respuesta. Se pueden incluir varios parámetros, separados por el símbolo "&". A continuación se enumeran los parámetros disponibles.

Parámetros de consulta

A continuación se muestra una lista de parámetros de consulta disponibles para enumerar consultas. Todos estos parámetros son opcionales. Al realizar una llamada a este extremo sin parámetros, se recuperarán todas las consultas disponibles para su organización.

Parámetro Descripción
orderby Especifica el campo mediante el cual se deben solicitar los resultados. Los campos admitidos son created y updated. Por ejemplo, orderby=created ordenará los resultados creando en orden ascendente. Al agregar un - antes de crear (orderby=-created), los elementos se ordenarán de forma descendente.
limit Especifica el límite de tamaño de página para controlar el número de resultados que se incluyen en una página. (Valor predeterminado: 20)
start Desplaza la lista de respuestas utilizando la numeración basada en cero. Por ejemplo, start=2 devolverá una lista a partir de la tercera consulta de la lista. (Valor predeterminado: 0)
property Filtre los resultados según los campos. Los filtros deben ser de escape HTML. Las comas se utilizan para combinar varios conjuntos de filtros. Los campos admitidos son created, updated, state y id. La lista de operadores admitidos es > (buena que), < (menor que), >= (buena o igual que), <= (menor o igual que), == (igual a), != (no igual a) y ~ (contiene). Por ejemplo, id==6ebd9c2d-494d-425a-aa91-24033f3abeec devolverá todas las consultas con el ID especificado.
excludeSoftDeleted Indica si se debe incluir una consulta que se ha eliminado de forma suave. Por ejemplo, excludeSoftDeleted=false incluirá consultas suavizadas eliminadas. (Boolean, valor predeterminado: true)
excludeHidden Indica si se deben mostrar consultas no dirigidas por el usuario. Si este valor se establece en false, incluirá consultas no dirigidas por el usuario, como definiciones de CURSOR, consultas FETCH o consultas de metadatos. (Boolean, valor predeterminado: true)

Solicitud

La siguiente solicitud recupera la consulta más reciente creada para su organización IMS.

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

Respuesta

Una respuesta correcta devuelve el estado HTTP 200 con una lista de consultas para la organización de IMS especificada como JSON. La siguiente respuesta devuelve la consulta más reciente creada para su organización IMS.

{
    "queries": [
        {
            "isInsertInto": false,
            "request": {
                "dbName": "prod:all",
                "sql": "SELECT *\nFROM\n  accounts\nLIMIT 10\n"
            },
            "state": "SUCCESS",
            "rowCount": 0,
            "errors": [],
            "isCTAS": false,
            "version": 1,
            "id": "9957bd7f-2244-4fd5-91bc-077d7df1d8e5",
            "elapsedTime": 28,
            "updated": "2019-12-06T22:00:17.390Z",
            "client": "Adobe Query Service UI",
            "userId": "{USER_ID}",
            "created": "2019-12-06T22:00:17.362Z",
            "_links": {
                "self": {
                    "href": "https://platform.adobe.io/data/foundation/query/queries/9957bd7f-2244-4fd5-91bc-077d7df1d8e5",
                    "method": "GET"
                },
                "soft_delete": {
                    "href": "https://platform.adobe.io/data/foundation/query/queries/9957bd7f-2244-4fd5-91bc-077d7df1d8e5",
                    "method": "PATCH",
                    "body": "{ \"op\": \"soft_delete\"}"
                },
                "referenced_datasets": [
                    {
                        "id": "5b2bdd32230d4401de87397c",
                        "href": "https://platform.adobe.io/data/foundation/catalog/dataSets/5b2bdd32230d4401de87397c"
                    }
                ]
            }
        }
    ],
    "_page": {
        "orderby": "-created",
        "start": "2019-12-06T22:00:17.362Z",
        "next": "2019-08-01T00:14:21.748Z",
        "count": 1
    },
    "_links": {
        "next": {
            "href": "https://platform.adobe.io/data/foundation/query/queries?orderby=-created&start=2019-08-01T00:14:21.748Z"
        },
        "prev": {
            "href": "https://platform.adobe.io/data/foundation/query/queries?orderby=-created&start=2019-12-06T22:00:17.362Z&isPrevLink=true"
        }
    },
    "version": 1
}

Cree una consulta

Puede crear una nueva consulta realizando una solicitud de POST al extremo /queries .

Formato de API

POST /queries

Solicitud

La siguiente solicitud crea una nueva consulta, configurada por los valores proporcionados en la carga útil:

curl -X POST https://platform.adobe.io/data/foundation/query/queries \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {IMS_ORG}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '{
        "dbName": "prod:all",
        "sql": "SELECT * FROM accounts;",
        "name": "Sample Query",
        "description": "Sample Description"
    }  
Propiedad Descripción
dbName Nombre de la base de datos para la que está creando una consulta SQL.
sql La consulta SQL que desea crear.
name El nombre de la consulta SQL.
description La descripción de la consulta SQL.

Respuesta

Una respuesta correcta devuelve el estado HTTP 202 (aceptado) con detalles de la consulta recién creada. Una vez que la consulta haya terminado de activarse y se haya ejecutado correctamente, el state cambiará de SUBMITTED a SUCCESS.

{
    "isInsertInto": false,
    "request": {
        "dbName": "prod:all",
        "sql": "SELECT * FROM accounts;",
        "name": "Sample Query",
        "description": "Sample Description"
    },
    "state": "SUBMITTED",
    "rowCount": 0,
    "errors": [],
    "isCTAS": false,
    "version": 1,
    "id": "4d64cd49-cf8f-463a-a182-54bccb9954fc",
    "elapsedTime": 0,
    "updated": "2020-01-08T21:47:46.865Z",
    "client": "API",
    "userId": "{USER_ID}",
    "created": "2020-01-08T21:47:46.865Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
            "method": "GET"
        },
        "soft_delete": {
            "href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
            "method": "PATCH",
            "body": "{ \"op\": \"soft_delete\"}"
        },
        "cancel": {
            "href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
            "method": "PATCH",
            "body": "{ \"op\": \"cancel\"}"
        }
    }
}
NOTA

Puede utilizar el valor de _links.cancel para cancelar la consulta creada.

Recuperar una consulta por ID

Puede recuperar información detallada sobre una consulta específica realizando una solicitud de GET al extremo /queries y proporcionando el valor id de la consulta en la ruta de solicitud.

Formato de API

GET /queries/{QUERY_ID}
Propiedad Descripción
{QUERY_ID} El valor id de la consulta que desea recuperar.

Solicitud

curl -X GET https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {IMS_ORG}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

Respuesta

Una respuesta correcta devuelve el estado HTTP 200 con información detallada sobre la consulta especificada.

{
    "isInsertInto": false,
    "request": {
        "dbName": "prod:all",
        "sql": "SELECT * FROM accounts;",
        "name": "Sample Query",
        "description": "Sample Description"
    },
    "state": "SUBMITTED",
    "rowCount": 0,
    "errors": [],
    "isCTAS": false,
    "version": 1,
    "id": "4d64cd49-cf8f-463a-a182-54bccb9954fc",
    "elapsedTime": 0,
    "updated": "2020-01-08T21:47:46.865Z",
    "client": "API",
    "userId": "{USER_ID}",
    "created": "2020-01-08T21:47:46.865Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
            "method": "GET"
        },
        "soft_delete": {
            "href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
            "method": "PATCH",
            "body": "{ \"op\": \"soft_delete\"}"
        },
        "cancel": {
            "href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
            "method": "PATCH",
            "body": "{ \"op\": \"cancel\"}"
        }
    }
}
NOTA

Puede utilizar el valor de _links.cancel para cancelar la consulta creada.

Cancelar una consulta

Puede solicitar la eliminación de una consulta especificada realizando una solicitud de PATCH al extremo /queries y proporcionando el valor id de la consulta en la ruta de solicitud.

Formato de API

PATCH /queries/{QUERY_ID}
Propiedad Descripción
{QUERY_ID} El valor id de la consulta que desea cancelar.

Solicitud

Esta solicitud de API utiliza la sintaxis JSON Patch para su carga útil. Para obtener más información sobre cómo funciona JSON Patch, lea el documento de fundamentos de API.

curl -X PATCH https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json',
 -H 'x-gw-ims-org-id: {IMS_ORG}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'
 -d '{
   "op": "cancel"  
 }'
Propiedad Descripción
op Para cancelar la consulta, debe configurar el parámetro op con el valor cancel .

Respuesta

Una respuesta correcta devuelve el estado HTTP 202 (aceptado) con el siguiente mensaje:

{
    "message": "Query cancel request received",
    "statusCode": 202
}

En esta página