Endpoint di query pianificate

Chiamate API di esempio

Ora che conosci le intestazioni da utilizzare, sei pronto per iniziare a effettuare chiamate all’ API Query Service. Le sezioni seguenti illustrano le varie chiamate API che puoi effettuare tramite l’ API Query Service . Ciascuna chiamata include il formato API generale, una richiesta di esempio che mostra le intestazioni richieste e una risposta di esempio.

Recupera un elenco di query pianificate

Puoi recuperare un elenco di tutte le query pianificate per la tua organizzazione IMS effettuando una richiesta di GET all’ endpoint /schedules .

Formato API

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

Parametri query

Di seguito è riportato un elenco dei parametri di query disponibili per l’elenco delle query pianificate. Tutti questi parametri sono facoltativi. Effettuare una chiamata a questo endpoint senza parametri recupererà tutte le query pianificate disponibili per la tua 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 per creati in ordine crescente. L'aggiunta di un - prima della creazione (orderby=-created) ordinerà gli elementi in base all'ordine decrescente creato.
limit Specifica il limite di dimensioni della pagina per controllare il numero di risultati inclusi in una pagina. (Valore predefinito: 20)
start Esegue l'offset dell'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 in sequenza HTML. Le virgole vengono utilizzate per combinare più set di filtri. I campi supportati sono created, templateId e userId. L’elenco degli operatori supportati è > (maggiore di), < (minore di) e == (uguale a). Ad esempio, userId==6ebd9c2d-494d-425a-aa91-24033f3abeec restituirà tutte le query pianificate in cui l’ID utente è specificato.

Richiesta

La richiesta seguente recupera la query pianificata più recente creata per la tua 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
}

Crea una nuova query pianificata

Puoi creare una nuova query pianificata effettuando una richiesta di POST all’endpoint /schedules . Quando crei una query pianificata nell’API, puoi visualizzarla anche nell’editor delle query. Per ulteriori informazioni sulle query pianificate nell'interfaccia utente, consulta la documentazione dell'editor delle query.

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 cui si sta creando una query pianificata.
query.sql Query SQL da creare.
query.name Nome della query pianificata.
schedule.schedule La pianificazione cron per la query. Per ulteriori informazioni sulle pianificazioni cron, leggere la documentazione cron expression format . In questo esempio, "30 * * * * *" significa che la query verrà eseguita ogni ora alla soglia dei 30 minuti.

In alternativa, è possibile utilizzare le seguenti espressioni abbreviate:
  • @once: La query viene eseguita una sola volta.
  • @hourly: La query viene eseguita ogni ora all’inizio dell’ora. Equivale all'espressione cron 0 * * * *.
  • @daily: La query viene eseguita una volta al giorno a mezzanotte. Equivale all'espressione cron 0 0 * * *.
  • @weekly: La query viene eseguita una volta alla settimana, domenica, a mezzanotte. Equivale all'espressione cron 0 0 * * 0.
  • @monthly: La query viene eseguita una volta al mese, il primo giorno del mese, a mezzanotte. Equivale all'espressione cron 0 0 1 * *.
  • @yearly: La query viene eseguita una volta all’anno, il 1° gennaio, a mezzanotte. Equivale all'espressione cron 1 0 0 1 1 *.
schedule.startDate La data di inizio della query pianificata, scritta come timestamp UTC.

Risposta

Una risposta corretta restituisce lo stato HTTP 202 (accettato) con i dettagli della query pianificata appena creata. Al termine dell’attivazione della query pianificata, la 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

Puoi utilizzare il valore di _links.delete per eliminare la query pianificata creata.

Richiedi i dettagli di una query pianificata specificata

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

Formato API

GET /schedules/{SCHEDULE_ID}
Proprietà Descrizione
{SCHEDULE_ID} Il valore id 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

Puoi utilizzare il valore di _links.delete per eliminare la query pianificata creata.

Aggiorna i dettagli di una query pianificata specificata

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

La richiesta di 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 valore id della query pianificata che si desidera recuperare.

Richiesta

Questa richiesta API utilizza la sintassi della patch JSON per il relativo payload. Per ulteriori informazioni sul funzionamento della patch JSON, consulta il documento di base 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 a cui si desidera applicare la patch. In questo caso, poiché stai aggiornando lo stato della query pianificata, devi impostare il valore di path su /state.
value Il valore aggiornato di /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, leggere la documentazione cron expression format .

Formato API

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

Richiesta

Questa richiesta API utilizza la sintassi della patch JSON per il relativo payload. Per ulteriori informazioni sul funzionamento della patch JSON, consulta il documento di base 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 a cui si desidera applicare la patch. In questo caso, poiché si aggiorna la pianificazione della query pianificata, è necessario impostare il valore di path su /schedule/schedule.
value Il valore aggiornato di /schedule. Questo valore deve essere sotto forma di programma cron. In questo esempio, la query pianificata verrà eseguita ogni ora alla soglia di 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 DELETE all’endpoint /schedules e fornendo l’ID della query pianificata che si desidera eliminare nel percorso della richiesta.

NOTA

La pianificazione deve essere disabilitata prima di essere eliminata.

Formato API

DELETE /schedules/{SCHEDULE_ID}
Proprietà Descrizione
{SCHEDULE_ID} Il valore id 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