Query pianificate

Chiamate API di esempio

Ora che hai compreso quali intestazioni utilizzare, sei pronto a iniziare a effettuare chiamate all' Query Service API. Le sezioni seguenti descrivono le varie chiamate API che potete effettuare tramite l' Query Service API. Ogni chiamata include il formato API generale, una richiesta di esempio che mostra le intestazioni richieste e una risposta di esempio.

Recupero di un elenco di query pianificate

È possibile recuperare un elenco di tutte le query pianificate per l'organizzazione IMS effettuando una richiesta di GET all' /schedules endpoint.

Formato API

GET /schedules
GET /schedules?{QUERY_PARAMETERS}
Proprietà Descrizione
{QUERY_PARAMETERS} (Facoltativo) Parametri aggiunti al percorso di richiesta che configurano i risultati restituiti nella risposta. È possibile includere più parametri, separati da e-mail (&). I parametri disponibili sono elencati di seguito.

Parametri query

Di seguito è riportato un elenco di parametri di query disponibili per elencare le query pianificate. Tutti questi parametri sono facoltativi. Effettuando una chiamata a questo endpoint senza parametri, verranno recuperate tutte le query pianificate disponibili per l'organizzazione.

Parametro Descrizione
orderby Specifica il campo in base al quale ordinare i risultati. I campi supportati sono created e updated. Ad esempio, orderby=created ordinerà i risultati in base alla creazione in ordine crescente. Se si aggiunge un elemento - prima della creazione (orderby=-created), gli elementi verranno ordinati in base alla creazione in ordine decrescente.
limit Specifica il limite delle dimensioni di pagina per controllare il numero di risultati inclusi in una pagina. (valore predefinito: 20)
start Consente di scostare l'elenco di risposte utilizzando la numerazione basata su zero. Ad esempio, start=2 restituirà un elenco a partire dalla terza query elencata. (valore predefinito: 0)
property Filtrare i risultati in base ai campi. I filtri devono essere con escape HTML. Le virgole vengono utilizzate per combinare più set di filtri. I campi supportati sono created, templateIde userId. L'elenco degli operatori supportati è > (maggiore di), < (minore di) e == (uguale a). Ad esempio, userId==6ebd9c2d-494d-425a-aa91-24033f3abeec restituisce tutte le query pianificate in cui l'ID utente è specificato.

Richiesta

La richiesta seguente recupera la query pianificata più recente creata per l'organizzazione IMS.

curl -X GET https://platform.adobe.io/data/foundation/query/schedules?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}'

Risposta

Una risposta corretta restituisce lo stato HTTP 200 con un elenco di query pianificate per l'organizzazione IMS specificata. La risposta seguente restituisce l’ultima query pianificata creata per l’organizzazione IMS.

{
    "schedules": [
        {
            "state": "ENABLED",
            "query": {
                "dbName": "prod:all",
                "sql": "SELECT * FROM accounts;",
                "name": "Sample Scheduled Query",
                "description": "A sample of a scheduled query."
            },
            "updatedUserId": "{USER_ID}",
            "version": 2,
            "id": "e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
            "updated": "1578523458919",
            "schedule": {
                "schedule": "30 * * * *",
                "startDate": "2020-01-08T12:30:00.000Z",
                "maxActiveRuns": 1
            },
            "userId": "{USER_ID}",
            "created": "1578523458919",
            "_links": {
                "enable": {
                    "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
                    "method": "PATCH",
                    "body": "{ \"op\": \"enable\" }"
                },
                "runs": {
                    "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
                    "method": "GET"
                },
                "self": {
                    "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
                    "method": "GET"
                },
                "delete": {
                    "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
                    "method": "DELETE"
                },
                "disable": {
                    "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
                    "method": "PATCH",
                    "body": "{ \"op\": \"disable\" }"
                },
                "trigger": {
                    "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
                    "method": "POST"
                }
            }
        }
    ],
    "_page": {
        "orderby": "+created",
        "start": "2020-01-08T22:44:18.919Z",
        "count": 1
    },
    "_links": {},
    "version": 2
}

Creazione di una nuova query pianificata

Potete creare una nuova query pianificata effettuando una richiesta di POST all' /schedules endpoint.

Formato API

POST /schedules

Richiesta

curl -X POST https://platform.adobe.io/data/foundation/query/schedules
 -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}'
 -d '
 {
     "query": {
         "dbName": "prod:all",
         "sql": "SELECT * FROM accounts;",
         "name": "Sample Scheduled Query",
         "description": "A sample of a scheduled query."
     }, 
     "schedule": {
         "schedule": "30 * * * *",
         "startDate": "2020-01-08T12:30:00.000Z"
     }
 }
 '
Proprietà Descrizione
query.dbName Nome del database per il quale si sta creando una query pianificata.
query.sql Query SQL da creare.
query.name Nome della query pianificata.
schedule.schedule Pianificazione cron per la query. Per ulteriori informazioni sulle pianificazioni cron, consulta la documentazione sul formato delle espressioni cron. In questo esempio, "30 * * * * * *" significa che la query verrà eseguita ogni ora con l'indicatore dei 30 minuti.
schedule.startDate Data di inizio della query pianificata, scritta come marca temporale UTC.

Risposta

Una risposta corretta restituisce lo stato HTTP 202 (Accettato) con i dettagli della query pianificata appena creata. Una volta terminata l'attivazione della query pianificata, la query state passerà da REGISTERING a ENABLED.

{
    "state": "REGISTERING",
    "query": {
        "dbName": "prod:all",
        "sql": "SELECT * FROM accounts;",
        "name": "Sample Scheduled Query",
        "description": "A sample of a scheduled query."
    },
    "updatedUserId": "{USER_ID}",
    "version": 2,
    "id": "e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
    "schedule": {
        "schedule": "30 * * * *",
        "startDate": "2020-01-08T12:30:00.000Z",
        "maxActiveRuns": 1
    },
    "userId": "{USER_ID}",
    "_links": {
        "enable": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
            "method": "PATCH",
            "body": "{ \"op\": \"enable\" }"
        },
        "runs": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
            "method": "GET"
        },
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
            "method": "DELETE"
        },
        "disable": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
            "method": "PATCH",
            "body": "{ \"op\": \"disable\" }"
        },
        "trigger": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
            "method": "POST"
        }
    }
}
Nota

È possibile utilizzare il valore di _links.delete per eliminare la querypianificata creata.

Dettagli richiesta di una query pianificata specificata

Potete recuperare informazioni per una specifica query pianificata effettuando una richiesta di GET all' /schedules endpoint e fornendo il relativo ID nel percorso della richiesta.

Formato API

GET /schedules/{SCHEDULE_ID}
Proprietà Descrizione
{SCHEDULE_ID} Il id valore della query pianificata che si desidera recuperare.

Richiesta

curl -X GET https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm
 -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}'

Risposta

Una risposta corretta restituisce lo stato HTTP 200 con i dettagli della query pianificata specificata.

{
    "state": "ENABLED",
    "query": {
        "dbName": "prod:all",
        "sql": "SELECT * FROM accounts;",
        "name": "Sample Scheduled Query",
        "description": "A sample of a scheduled query."
    },
    "updatedUserId": "{USER_ID}",
    "version": 2,
    "id": "e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
    "updated": "1578523458919",
    "schedule": {
        "schedule": "30 * * * *",
        "startDate": "2020-01-08T12:30:00.000Z",
        "maxActiveRuns": 1
    },
    "userId": "{USER_ID}",
    "created": "1578523458919",
    "_links": {
        "enable": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
            "method": "PATCH",
            "body": "{ \"op\": \"enable\" }"
        },
        "runs": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
            "method": "GET"
        },
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
            "method": "DELETE"
        },
        "disable": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
            "method": "PATCH",
            "body": "{ \"op\": \"disable\" }"
        },
        "trigger": {
            "href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
            "method": "POST"
        }
    }
}
Nota

È possibile utilizzare il valore di _links.delete per eliminare la querypianificata creata.

Aggiorna i dettagli di una query pianificata specificata

Potete aggiornare i dettagli di una query pianificata specificata effettuando una richiesta di PATCH all' /schedules endpoint e fornendo il relativo ID nel percorso della richiesta.

La richiesta PATCH supporta due percorsi diversi: /state e /schedule/schedule.

Aggiorna stato query pianificato

È possibile utilizzare /state per aggiornare lo stato della query pianificata selezionata - ENABLED o DISABLED. Per aggiornare lo stato, è necessario impostare il valore come enable o disable.

Formato API

PATCH /schedules/{SCHEDULE_ID}
Proprietà Descrizione
{SCHEDULE_ID} Il id valore della query pianificata che si desidera recuperare.

Richiesta

Questa richiesta API utilizza la sintassi della patch JSON per il payload. Per ulteriori informazioni sul funzionamento della patch JSON, consulta il documento sui fondamentali dell'API.

curl -X PATCH https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm
 -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}'
 -d '{
     "body": [
         {
             "op": "replace",
             "path": "/state",
             "value": "disable"
         }
     ]
 }'
Proprietà Descrizione
path Percorso del valore da applicare alla patch. In questo caso, poiché si aggiorna lo stato della query pianificata, è necessario impostare il valore di path a /state.
value Il valore aggiornato dell' /state. Questo valore può essere impostato come enable o disable per abilitare o disabilitare la query pianificata.

Risposta

Una risposta corretta restituisce lo stato HTTP 202 (Accettato) con il seguente messaggio.

{
    "message": "Request to patch accepted",
    "statusCode": 202
}

Aggiorna pianificazione query pianificata

È possibile utilizzare /schedule/schedule per aggiornare la pianificazione cron della query pianificata. Per ulteriori informazioni sulle pianificazioni cron, consulta la documentazione sul formato delle espressioni cron.

Formato API

PATCH /schedules/{SCHEDULE_ID}
Proprietà Descrizione
{SCHEDULE_ID} Il id valore della query pianificata che si desidera recuperare.

Richiesta

Questa richiesta API utilizza la sintassi della patch JSON per il payload. Per ulteriori informazioni sul funzionamento della patch JSON, consulta il documento sui fondamentali dell'API.

curl -X PATCH https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm
 -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}'
 -d '{
     "body": [
         {
             "op": "replace",
             "path": "/schedule/schedule",
             "value": "45 * * * *"
         }
     ]
 }'
Proprietà Descrizione
path Percorso del valore da applicare alla patch. In questo caso, poiché si sta aggiornando la pianificazione della query pianificata, è necessario impostare il valore di path a /schedule/schedule.
value Il valore aggiornato dell' /schedule. Questo valore deve essere sotto forma di programmazione cron. In questo esempio, la query pianificata verrà eseguita ogni ora con l'indicatore dei 45 minuti.

Risposta

Una risposta corretta restituisce lo stato HTTP 202 (Accettato) con il seguente messaggio.

{
    "message": "Request to patch accepted",
    "statusCode": 202
}

Elimina una query pianificata specificata

È possibile eliminare una query pianificata specificata effettuando una richiesta di DELETE all' /schedules endpoint e fornendo l'ID della query pianificata che si desidera eliminare nel percorso della richiesta.

Nota

La pianificazione deve essere disattivata prima di essere eliminata.

Formato API

DELETE /schedules/{SCHEDULE_ID}
Proprietà Descrizione
{SCHEDULE_ID} Il id valore della query pianificata che si desidera recuperare.

Richiesta

curl -X DELETE https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm
 -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}'

Risposta

Una risposta corretta restituisce lo stato HTTP 202 (Accettato) con il seguente messaggio.

{
    "message": "Schedule deleted successfully",
    "statusCode": 202
}

In questa pagina