Planningeindpunt
Leer hoe te om, geplande vragen tot stand te brengen te beheren en te controleren programmatically gebruikend de API van de Programma's van de Dienst van de Vraag met gedetailleerde informatie en voorbeelden.
Eisen en voorwaarden
U kunt geplande vragen tot stand brengen gebruikend of een technische rekening (voor authentiek verklaard via de geloofsbrieven van Server-aan-Server van OAuth) of een persoonlijke gebruikersrekening (gebruikerstoken). Adobe raadt echter ten zeerste aan een technische account te gebruiken om ervoor te zorgen dat de geplande query's zonder onderbreking en veilig worden uitgevoerd, met name bij langdurige of productiewerklasten.
Vragen die met een persoonlijke gebruikersaccount zijn gemaakt, mislukken als de toegang van die gebruiker is ingetrokken of als hun account is uitgeschakeld. Technische rekeningen zorgen voor meer stabiliteit omdat ze niet gekoppeld zijn aan de arbeidsstatus of toegangsrechten van een individuele gebruiker.
- Gepland vragen zullen ontbreken als de rekening (technisch of gebruiker) die wordt gebruikt om hen tot stand te brengen toegang of toestemmingen verliest.
- Geplande query's moeten worden uitgeschakeld voordat ze kunnen worden verwijderd via de API of UI.
- Het voor onbepaalde tijd plannen zonder een einddatum wordt niet gesteund; een einddatum moet altijd worden gespecificeerd.
Voor gedetailleerde begeleiding op rekeningsvereisten, toestemmingsopstelling, en het beheren van geplande vragen, zie de documentatie van de programma's van de Vraag. Voor geleidelijke instructies bij het creëren van en het vormen van een technische rekening, verwijs naar de opstelling van Developer Consoleen technische de rekeningsopstelling van begin tot eind.
Voorbeeld-API-aanroepen
Zodra u de noodzakelijke authentificatiekopballen (zie de API authentificatiegids) hebt gevormd, kunt u beginnen het maken vraag aan Query Service API. In de volgende secties worden verschillende API-aanroepen met algemene indelingen getoond, bijvoorbeeld aanvragen met vereiste koppen en voorbeeldantwoorden.
Hiermee wordt een lijst met geplande query's opgehaald
U kunt een lijst van alle geplande vragen voor uw organisatie terugwinnen door een GET- verzoek aan het /schedules
eindpunt te doen.
API formaat
GET /schedules
GET /schedules?{QUERY_PARAMETERS}
{QUERY_PARAMETERS}
&
) worden gescheiden. De beschikbare parameters worden hieronder weergegeven.de parameters van de Vraag
Hieronder volgt een lijst met beschikbare queryparameters voor het weergeven van geplande query's. Al deze parameters zijn optioneel. Het maken van een vraag aan dit eindpunt zonder parameters zal alle geplande vragen terugwinnen beschikbaar voor uw organisatie.
orderby
created
en updated
. orderby=created
sorteert de resultaten bijvoorbeeld in oplopende volgorde. Wanneer u een -
vóór het maken (orderby=-created
) toevoegt, worden de items in aflopende volgorde gesorteerd.limit
start
Met ISO-tijdstempels kunt u verschillende niveaus van granulariteit opgeven in de datum en tijd. De basis-ISO-tijdstempels hebben de notatie:
2020-09-07
voor het uitdrukken van de datum 7 september 2020. Een complexer voorbeeld zou als 2022-11-05T08:15:30-05:00
worden geschreven en beantwoordt aan 5 November, 2022, 8 :15: 30 am, de Tijd van de Norm van de V.S. Een timezone kan met een UTC compensatie worden voorzien en door het achtervoegsel "Z" (2020-01-01T01:01:01Z
) wordt aangeduid. Als er geen tijdzone is opgegeven, wordt de standaardwaarde nul gebruikt.property
created
, templateId
en userId
. De lijst met ondersteunde operatoren is >
(groter dan), <
(kleiner dan) en ==
(gelijk aan). userId==6ebd9c2d-494d-425a-aa91-24033f3abeec
retourneert bijvoorbeeld alle geplande query's waarbij de gebruiker-id overeenkomt met de opgegeven waarde.Verzoek
Het volgende verzoek wint de recentste geplande vraag terug die voor uw organisatie wordt gecreeerd.
curl -X GET https://platform.adobe.io/data/foundation/query/schedules?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}'
Reactie
Een succesvolle reactie keert status 200 van HTTP met een lijst van geplande vragen voor de gespecificeerde organisatie terug. De volgende reactie keert de recentste geplande vraag terug die voor uw organisatie wordt gecreeerd.
{
"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
}
Nieuwe geplande query maken
U kunt een nieuwe geplande query maken door een POST-aanvraag in te dienen bij het /schedules
-eindpunt. Wanneer u een geplande query maakt in de API, kunt u deze ook zien in de Query-editor. Voor meer informatie over geplande vragen in UI, te lezen gelieve de documentatie van de Redacteur van de Vraag.
API formaat
POST /schedules
Verzoek
curl -X POST https://platform.adobe.io/data/foundation/query/schedules
-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 '
{
"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"
}
}
'
query.dbName
query.sql
query.name
query.description
schedule.schedule
Het uitsnijdschema voor de query. Verwijs naar Crontab.guruvoor een interactieve manier om te creëren, te bevestigen, en gezamenlijke uitdrukkingen te begrijpen. In dit voorbeeld betekent "30 * * *"dat de vraag elk uur bij het minteken van 30 minuten zal lopen.
Alternatief, kunt u de volgende steno uitdrukkingen gebruiken:
@once
: de query wordt slechts één keer uitgevoerd.@hourly
: de query wordt elk uur uitgevoerd aan het begin van het uur. Dit is gelijk aan de expressie voor uitsnijden0 * * * *
.@daily
: De query wordt eenmaal per dag om middernacht uitgevoerd. Dit is gelijk aan de expressie voor uitsnijden0 0 * * *
.@weekly
: de query wordt één keer per week uitgevoerd, op zondag, om middernacht. Dit is gelijk aan de expressie voor uitsnijden0 0 * * 0
.@monthly
: De query wordt één keer per maand uitgevoerd, op de eerste dag van de maand, om middernacht. Dit is gelijk aan de expressie voor uitsnijden0 0 1 * *
.@yearly
: De query wordt één keer per jaar uitgevoerd, op 1 januari om middernacht. Dit is gelijk aan de expressie voor uitsnijden0 0 1 1 *
.
schedule.startDate
Reactie
Een succesvolle reactie keert status 202 (Toegelaten) van HTTP met details van uw onlangs gecreeerde geplande vraag terug. Nadat de geplande query is geactiveerd, verandert de state
van REGISTERING
in 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"
}
}
}
_links.delete
gebruiken om uw gecreeerde geplande vraagte schrappen.Gegevens van een opgegeven geplande query aanvragen
U kunt informatie voor een specifieke geplande vraag terugwinnen door een GET- verzoek aan het /schedules
eindpunt te doen en zijn identiteitskaart in de verzoekweg te verstrekken.
API formaat
GET /schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
-waarde van de geplande query die u wilt ophalen.Verzoek
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Reactie
Een succesvolle reactie keert status 200 van HTTP met details van de gespecificeerde geplande vraag terug.
{
"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"
}
}
}
_links.delete
gebruiken om uw gecreeerde geplande vraagte schrappen.Details van een opgegeven geplande query bijwerken
U kunt de details voor een gespecificeerde geplande vraag bijwerken door een PATCH- verzoek aan het /schedules
eindpunt en door zijn identiteitskaart in de verzoekweg te verstrekken.
De PATCH-aanvraag ondersteunt twee verschillende paden: /state
en /schedule/schedule
.
Geplande querystatus bijwerken
U kunt de status van de geselecteerde geplande query bijwerken door de eigenschap path
in te stellen op /state
en de eigenschap value
op enable
of disable
.
API formaat
PATCH /schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
-waarde van de geplande query die u wilt PATCH.Verzoek
Voor deze API-aanvraag wordt de JSON-syntaxis voor patch gebruikt voor het laden. Lees het document met API-basisbeginselen voor meer informatie over hoe JSON Patch werkt.
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"body": [
{
"op": "replace",
"path": "/state",
"value": "disable"
}
]
}'
op
replace
.path
path
instellen op /state
, aangezien u de status van de geplande query bijwerkt.value
/state
. Deze waarde kan worden ingesteld als enable
of disable
om de geplande query in of uit te schakelen.Reactie
Een succesvolle reactie retourneert HTTP-status 202 (geaccepteerd) met het volgende bericht.
{
"message": "Request to patch accepted",
"statusCode": 202
}
Geplande queryplanning bijwerken
U kunt het bijsnijdschema van de geplande query bijwerken door de eigenschap path
in te stellen op /schedule/schedule
in de hoofdtekst van de aanvraag. Voor meer informatie over kroonprogramma's, te lezen gelieve het formaat van de cron uitdrukkingdocumentatie.
API formaat
PATCH /schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
-waarde van de geplande query die u wilt PATCH.Verzoek
Voor deze API-aanvraag wordt de JSON-syntaxis voor patch gebruikt voor het laden. Lees het document met API-basisbeginselen voor meer informatie over hoe JSON Patch werkt.
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"body": [
{
"op": "replace",
"path": "/schedule/schedule",
"value": "45 * * * *"
}
]
}'
op
replace
.path
path
instellen op /schedule/schedule
, aangezien u het schema van de geplande query bijwerkt.value
/schedule
. Deze waarde moet de vorm hebben van een uitsnijdschema. Dus, in dit voorbeeld, zal de geplande vraag elk uur bij het 45 minieme teken in werking stellen.Reactie
Een succesvolle reactie retourneert HTTP-status 202 (geaccepteerd) met het volgende bericht.
{
"message": "Request to patch accepted",
"statusCode": 202
}
Opgegeven geplande query verwijderen
U kunt een gespecificeerde geplande vraag schrappen door een DELETE- verzoek aan het /schedules
eindpunt te doen en identiteitskaart van de geplande vraag te verstrekken u in de verzoekweg wilt schrappen.
API formaat
DELETE /schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
-waarde van de geplande query die u wilt DELETE.Verzoek
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: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Reactie
Een succesvolle reactie retourneert HTTP-status 202 (geaccepteerd) met het volgende bericht.
{
"message": "Schedule deleted successfully",
"statusCode": 202
}