Zeitpläne-Endpunkt
Erstellt für:
- Entwickler
Zeitpläne sind ein Tool, mit dem Batch-Segmentierungsvorgänge automatisch einmal täglich ausgeführt werden können. Sie können den /config/schedules
-Endpunkt verwenden, um eine Liste von Zeitplänen abzurufen, einen neuen Zeitplan zu erstellen, Details zu einem bestimmten Zeitplan abzurufen, einen bestimmten Zeitplan zu aktualisieren oder einen bestimmten Zeitplan zu löschen.
Erste Schritte
Die in diesem Handbuch verwendeten Endpunkte sind Teil der Adobe Experience Platform Segmentation Service-API. Bevor Sie fortfahren, lesen Sie den Abschnitt Erste Schritte. Dort erhalten Sie wichtige Informationen darüber, wie Sie die API aufrufen und die erforderlichen Kopfzeilen sowie Beispiele für API-Aufrufe lesen können.
Abrufen einer Liste von Zeitplänen
Sie können eine Liste aller Zeitpläne für Ihr Unternehmen abrufen, indem Sie eine GET-Anfrage an den /config/schedules
-Endpunkt stellen.
API-Format
Der /config/schedules
-Endpunkt unterstützt verschiedene Abfrageparameter, mit denen Sie Ihre Ergebnisse filtern können. Obwohl diese Parameter optional sind, wird ihre Verwendung dringend empfohlen, um kostspieligen Aufwand zu reduzieren. Wenn Sie diesen Endpunkt ohne Parameter aufrufen, werden alle für Ihre Organisation verfügbaren Zeitpläne abgerufen. Es können mehrere Parameter eingeschlossen werden, die durch kaufmännische Und-Zeichen (&
) voneinander getrennt werden.
GET /config/schedules
GET /config/schedules?{QUERY_PARAMETERS}
Abfrageparameter
start
start=5
limit
limit=20
Anfrage
Mit der folgenden Anfrage werden die letzten zehn in Ihrer Organisation veröffentlichten Zeitpläne abgerufen.
curl -X GET https://platform.adobe.io/data/core/ups/config/schedules?limit=10 \
-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}'
Antwort
Bei einer erfolgreichen Antwort wird der HTTP-Status 200 mit einer Liste von Zeitplänen für die angegebene Organisation als JSON zurückgegeben.
{
"_page": {
"totalCount": 10,
"pageSize": 1
},
"children": [
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
"sandboxName": "prod",
"type": "production",
"default": true
},
"name": "Batch Segmentation",
"state": "active",
"type": "batch_segmentation",
"schedule": "0 0 1 * * ?",
"properties": {
"segments": []
},
"createEpoch": 1573158851,
"updateEpoch": 1574365202
}
],
"_links": {
"next": {}
}
}
_page.totalCount
_page.pageSize
children.name
children.type
children.properties
children.properties.segments
["*"]
wird sichergestellt, dass alle Segmente enthalten sind.children.schedule
children.state
Erstellen neuer Zeitpläne
Sie können einen neuen Zeitplan erstellen, indem Sie eine POST-Anfrage an den Endpunkt /config/schedules
senden.
API-Format
POST /config/schedules
Anfrage
curl -X POST https://platform.adobe.io/data/core/ups/config/schedules \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '
{
"name":"profile-default",
"type":"batch_segmentation",
"properties":{
"segments":[
"*"
]
},
"schedule":"0 0 1 * * ?",
"state":"inactive"
}'
name
type
properties
properties.segments
type
gleich „batch_segmentation“ ist. Mit ["*"]
wird sichergestellt, dass alle Segmente einbezogen werden.schedule
Wenn diese Zeichenfolge nicht angegeben wird, wird automatisch ein systemgenerierter Zeitplan generiert.
state
Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status-Code 200 mit Details zum von Ihnen neu erstellten Zeitplan zurück.
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "e7e17720-c5bb-11e9-aafb-87c71c35cac8",
"sandboxName": "prod",
"type": "production",
"default": true
},
"name": "{SCHEDULE_NAME}",
"state": "inactive",
"type": "batch_segmentation",
"schedule": "0 0 1 * * ?",
"properties": {
"segments": [
"*"
]
},
"createEpoch": 1568267948,
"updateEpoch": 1568267948
}
Abrufen einzelner Zeitpläne
Sie können detaillierte Informationen zu einem bestimmten Zeitplan abrufen, indem Sie eine GET-Anfrage an den /config/schedules
-Endpunkt senden und im Anfragepfad die ID des Zeitplans angeben, den Sie abrufen möchten.
API-Format
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
Wert des Zeitplans, den Sie abrufen möchten.Anfrage
curl -X GET https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b
-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}'
Antwort
Eine erfolgreiche Antwort gibt den HTTP-Status-Code 200 mit Details zum angegebenen Zeitplan zurück.
{
"id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
"imsOrgId": "{ORG_ID}",
"sandbox": {
"sandboxId": "e7e17720-c5bb-11e9-aafb-87c71c35cac8",
"sandboxName": "prod",
"type": "production",
"default": true
},
"name": "{SCHEDULE_NAME}",
"state": "inactive",
"type": "batch_segmentation",
"schedule": "0 0 1 * * ?",
"properties": {
"segments": [
"*"
]
},
"createEpoch": 1568267948,
"updateEpoch": 1568267948
}
name
type
batch_segmentation
und export
.properties
properties.segments
["*"]
wird sichergestellt, dass alle Segmente enthalten sind.schedule
state
active
und inactive
. Standardmäßig lautet der Status inactive
.Aktualisieren von Details für einen bestimmten Zeitplan
Sie können einen bestimmten Zeitplan aktualisieren, indem Sie eine PATCH-Anfrage an den /config/schedules
-Endpunkt senden und im Anfragepfad die ID des Zeitplans angeben, den Sie aktualisieren möchten.
Mit der PATCH-Anfrage können Sie entweder den state oder den cron-Zeitplan für einen einzelnen Zeitplan aktualisieren.
API-Format
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
Wert des Zeitplans, den Sie aktualisieren möchten.Sie können einen JSON-Patch-Vorgang verwenden, um den Status des Zeitplans zu aktualisieren. Um den Status zu aktualisieren, deklarieren Sie die path
-Eigenschaft als /state
und legen die value
entweder auf active
oder inactive
fest. Weitere Informationen zu JSON-Patch-Vorgängen finden Sie in der Dokumentation JSON-Patch.
Anfrage
curl -X PATCH https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
-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 '
[
{
"op": "add",
"path": "/state",
"value": "active"
}
]'
path
path
auf "/state“ festlegen.value
Antwort
Bei erfolgreicher Antwort wird der HTTP-Status-Code 204 (kein Inhalt) zurückgegeben.
path
-Eigenschaft als /schedule
und legen Sie den value
auf einen gültigen Cron-Zeitplan fest. Weitere Informationen zu JSON-Patch-Vorgängen finden Sie in der Dokumentation JSON-Patch. Weitere Informationen zu Cron-Zeitplänen finden Sie im Anhang zum Cron-Ausdrucksformat.Anfrage
curl -X PATCH https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
-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 '
[
{
"op":"add",
"path":"/schedule",
"value":"0 0 2 * * ?"
}
]'
path
path
auf /schedule
festlegen.value
Antwort
Bei erfolgreicher Antwort wird der HTTP-Status-Code 204 (kein Inhalt) zurückgegeben.
Löschen einzelner Zeitpläne
Sie können das Löschen eines bestimmten Zeitplans anfordern, indem Sie eine DELETE-Anfrage an den /config/schedules
-Endpunkt senden und im Anfragepfad die ID des Zeitplans angeben, den Sie löschen möchten.
API-Format
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
Wert des Zeitplans, den Sie löschen möchten.Anfrage
curl -X DELETE https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
-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}'
Antwort
Bei erfolgreicher Antwort wird der HTTP-Status-Code 204 (kein Inhalt) zurückgegeben.
Nächste Schritte
Nach dem Lesen dieses Handbuchs haben Sie jetzt ein besseres Verständnis davon, wie Zeitpläne funktionieren.
Anhang
Im folgenden Anhang wird das Format der Cron-Ausdrücke erläutert, die in Zeitplänen verwendet werden.
Format
Ein Cron-Ausdruck ist eine Zeichenfolge, die aus 6 oder 7 Feldern besteht. Der Ausdruck würde in etwa wie folgt aussehen:
0 0 12 * * ?
In einer Cron-Ausdruckszeichenfolge steht das erste Feld für die Sekunden, das zweite Feld steht für die Minuten, das dritte Feld steht für die Stunden, das vierte Feld steht für den Tag des Monats, das fünfte Feld steht für den Monat und das sechste Feld steht für den Tag der Woche. Optional können Sie auch ein siebtes Feld einfügen, das das Jahr darstellt.
, - * /
, - * /
, - * /
, - * ? / L W
, - * /
, - * ? / L #
, - * /
SUN
der Verwendung von sun
.Die zulässigen Sonderzeichen stellen die folgenden Bedeutungen dar:
*
*
im Feld Stunden eingeben, bedeutet dies jede Stunde.?
3
in das Feld Tag des Monats und ?
in das Feld Wochentag ein.-
9-15
in das Feld Stunden eingeben, bedeutet dies, dass die Stunden 9, 10, 11, 12, 13, 14 und 15 umfassen.,
MON, FRI, SAT
in das Feld Wochentag eingeben, bedeutet dies, dass die Wochentage Montag, Freitag und Samstag enthalten./
/
platzierte Wert bestimmt, von wo aus er inkrementiert, während der nach dem /
platzierte Wert bestimmt, um wie viel er inkrementiert. Wenn Sie beispielsweise 1/7
in das Feld Minuten eingeben, bedeutet dies, dass die Minuten 1, 8, 15, 22, 29, 36, 43, 50 und 57 enthalten.L
Last
verwendet und hat eine andere Bedeutung, je nachdem, von welchem Feld er verwendet wird. Wenn es mit dem Feld Tag des Monats verwendet wird, stellt es den letzten Tag des Monats dar. Wenn das Feld allein mit dem Wochentag verwendet wird, stellt es den letzten Wochentag dar, nämlich Samstag (SAT
). Wird es zusammen mit einem anderen Wert mit dem Feld Wochentag verwendet, stellt es den letzten Tag dieses Typs für den Monat dar. Wenn Sie beispielsweise 5L
in das Feld Wochentag einfügen, würde es nur den letzten Freitag des Monats einschließen.W
18W
in das Feld Tag des Monats eingeben und der 18. dieses Monats ein Samstag ist, wird Freitag der 17. diesen Wochentag als Trigger haben. Wenn der 18. eines Monats ein Sonntag wäre, würde er am Montag den 19. Trigger machen, der dem Wochentag am nächsten liegt. Trigger Wenn Sie 1W
in das Feld Tag des Monats eingeben und der nächste Wochentag im Vormonat liegt, wird das Ereignis trotzdem am nächsten Wochentag des (aktuellen Monats.Darüber hinaus können Sie
L
und W
zu LW
kombinieren, wobei der letzte Wochentag des Monats angegeben wird.#
#
platzierte Wert steht für den Wochentag, während der nach dem #
platzierte Wert für das Auftreten in dem Monat steht, in dem er liegt. Wenn Sie beispielsweise 1#3
angeben, wird das Ereignis am dritten Sonntag im Monat Trigger. Beachten Sie, dass das Ereignis nicht ausgelöst wird, wenn Sie X#5
setzen und es an diesem Wochentag in diesem Monat fünftes Auftreten. Wenn Sie beispielsweise 1#5
setzen und es keinen fünften Sonntag in diesem Monat gibt, wird das Ereignis nicht ausgelöst.Beispiele
Die folgende Tabelle zeigt Beispielzeichenfolgen für Cron-Ausdrücke und erläutert, was sie bedeuten.
0 0 13 * * ?
0 30 9 * * ? 2022
0 * 18 * * ?
0 0/10 17 * * ?
0 13,38 5 ? 6 WED
0 30 12 ? * 4#3
0 30 12 ? * 6L
0 45 11 ? * MON-THU