Query agendados

Chamadas de API de exemplo

Agora que você entende quais cabeçalhos devem ser usados, você está pronto para começar a fazer chamadas para a Query Service API. As seções a seguir percorrem as várias chamadas de API que podem ser feitas usando a Query Service API. Cada chamada inclui o formato de API geral, uma solicitação de amostra mostrando os cabeçalhos necessários e uma resposta de amostra.

Recuperar uma lista de query agendados

Você pode recuperar uma lista de todos os query agendados para sua Organização IMS, fazendo uma solicitação de GET para o /schedules endpoint.

Formato da API

GET /schedules
GET /schedules?{QUERY_PARAMETERS}
Propriedade Descrição
{QUERY_PARAMETERS} (Opcional) Parâmetros adicionados ao caminho da solicitação que configuram os resultados retornados na resposta. Vários parâmetros podem ser incluídos, separados por E comercial (&). Os parâmetros disponíveis estão listados abaixo.

Parâmetros do query

A seguir está uma lista de parâmetros de query disponíveis para listar query programados. Todos esses parâmetros são opcionais. Efetuar uma chamada para este terminal sem parâmetros recuperará todos os query programados disponíveis para a sua organização.

Parâmetro Descrição
orderby Especifica o campo pelo qual ordenar os resultados. Os campos suportados são created e updated. Por exemplo, orderby=created classificará os resultados em ordem crescente. A adição de um item - antes de criado (orderby=-created) classificará os itens em ordem decrescente.
limit Especifica o limite de tamanho de página para controlar o número de resultados que são incluídos em uma página. (Default value: 20)
start Desloca a lista de resposta, usando a numeração com base em zero. Por exemplo, start=2 retornará uma lista a partir do query listado. (Default value: 0)
property Filtrar resultados com base em campos. Os filtros devem ter escape de HTML. As vírgulas são usadas para combinar vários conjuntos de filtros. Os campos suportados são created, templateIde userId. A lista dos operadores suportados é > (maior que), < (menor que) e == (igual a). Por exemplo, userId==6ebd9c2d-494d-425a-aa91-24033f3abeec retornará todos os query agendados nos quais a ID do usuário está conforme especificado.

Solicitação

A solicitação a seguir recupera o query agendado mais recente criado para sua organização 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}'

Resposta

Uma resposta bem-sucedida retorna o status HTTP 200 com uma lista de query programados para a Organização IMS especificada. A resposta a seguir retorna o query programado mais recente criado para sua organização 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
}

Criar um novo query agendado

Você pode criar um novo query agendado fazendo uma solicitação de POST para o /schedules endpoint.

Formato da API

POST /schedules

Solicitação

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"
     }
 }
 '
Propriedade Descrição
query.dbName O nome do banco de dados para o qual você está criando um query programado.
query.sql O query SQL que você deseja criar.
query.name O nome do query agendado.
schedule.schedule O cronograma do cron para o query. Para obter mais informações sobre programações de cron, leia a documentação do formato de expressão de cron. Neste exemplo, "30 * * * * *" significa que o query será executado a cada hora na marca de 30 minutos.
schedule.startDate A data de start do query agendado, escrito como um carimbo de data e hora UTC.

Resposta

Uma resposta bem-sucedida retorna o status HTTP 202 (Aceito) com detalhes do query agendado recém-criado. Quando o query agendado terminar de ser ativado, ele state será alterado de REGISTERING para 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"
        }
    }
}
OBSERVAÇÃO

Você pode usar o valor de _links.delete para excluir o queryprogramado criado.

Solicitar detalhes de um query agendado especificado

Você pode recuperar informações de um query programado específico, fazendo uma solicitação de GET para o ponto final e fornecendo sua ID no caminho da solicitação. /schedules

Formato da API

GET /schedules/{SCHEDULE_ID}
Propriedade Descrição
{SCHEDULE_ID} O id valor do query programado que você deseja recuperar.

Solicitação

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}'

Resposta

Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes do query programado especificado.

{
    "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"
        }
    }
}
OBSERVAÇÃO

Você pode usar o valor de _links.delete para excluir o queryprogramado criado.

Atualizar detalhes de um query programado especificado

Você pode atualizar os detalhes de um query programado especificado, fazendo uma solicitação de PATCH para o /schedules terminal e fornecendo sua ID no caminho da solicitação.

A solicitação PATCH suporta dois caminhos diferentes: /state e /schedule/schedule.

Atualizar estado de query agendado

Você pode usar /state para atualizar o estado do query programado selecionado - ATIVADO ou DESATIVADO. Para atualizar o estado, é necessário definir o valor como enable ou disable.

Formato da API

PATCH /schedules/{SCHEDULE_ID}
Propriedade Descrição
{SCHEDULE_ID} O id valor do query programado que você deseja recuperar.

Solicitação

Essa solicitação de API usa a sintaxe do Patch JSON para sua carga. Para obter mais informações sobre como a correção JSON funciona, leia o documento de fundamentos da 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"
         }
     ]
 }'
Propriedade Descrição
path O caminho do valor que você deseja corrigir. Nesse caso, como você está atualizando o estado do query programado, é necessário definir o valor de path como /state.
value O valor atualizado do /state. Esse valor pode ser definido como enable ou disable para ativar ou desativar o query programado.

Resposta

Uma resposta bem-sucedida retorna o status HTTP 202 (Aceito) com a seguinte mensagem.

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

Atualizar agendamento de query agendado

Você pode usar /schedule/schedule para atualizar o cronograma de execução do query agendado. Para obter mais informações sobre programações de cron, leia a documentação do formato de expressão de cron.

Formato da API

PATCH /schedules/{SCHEDULE_ID}
Propriedade Descrição
{SCHEDULE_ID} O id valor do query programado que você deseja recuperar.

Solicitação

Essa solicitação de API usa a sintaxe do Patch JSON para sua carga. Para obter mais informações sobre como a correção JSON funciona, leia o documento de fundamentos da 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 * * * *"
         }
     ]
 }'
Propriedade Descrição
path O caminho do valor que você deseja corrigir. Nesse caso, como você está atualizando o agendamento do query programado, é necessário definir o valor de path como /schedule/schedule.
value O valor atualizado do /schedule. Esse valor precisa estar na forma de um cronograma de execução. Assim, neste exemplo, o query programado será executado a cada hora, na marca de 45 minutos.

Resposta

Uma resposta bem-sucedida retorna o status HTTP 202 (Aceito) com a seguinte mensagem.

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

Excluir um query programado especificado

Você pode excluir um query especificado, fazendo uma solicitação de DELETE para o /schedules ponto de extremidade e fornecendo a ID do query programado que deseja excluir no caminho da solicitação.

OBSERVAÇÃO

O agendamento deve ser desativado antes de ser excluído.

Formato da API

DELETE /schedules/{SCHEDULE_ID}
Propriedade Descrição
{SCHEDULE_ID} O id valor do query programado que você deseja recuperar.

Solicitação

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}'

Resposta

Uma resposta bem-sucedida retorna o status HTTP 202 (Aceito) com a seguinte mensagem.

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

Nesta página