Endpunkt "Zeitpläne"
Zeitpläne sind ein Tool, mit dem Batch-Segmentierungsaufträge einmal täglich automatisch ausgeführt werden können. Sie können die /config/schedules
Endpunkt zum Abrufen einer Liste von Zeitplänen, Erstellen eines neuen Zeitplans, Abrufen von Details eines bestimmten Zeitplans, Aktualisieren eines bestimmten Zeitplans oder Löschen eines bestimmten Zeitplans.
Erste Schritte
Die in diesem Handbuch verwendeten Endpunkte sind Teil der Adobe Experience Platform Segmentation Service API. Bevor Sie fortfahren, lesen Sie bitte die Erste Schritte für wichtige Informationen, die Sie benötigen, um die API erfolgreich aufrufen zu können, einschließlich erforderlicher Kopfzeilen und Informationen zum Lesen von Beispiel-API-Aufrufen.
Abrufen einer Liste von Zeitplänen retrieve-list
Sie können eine Liste aller Zeitpläne für Ihr Unternehmen abrufen, indem Sie eine GET-Anfrage an die /config/schedules
-Endpunkt.
API-Format
Der /config/schedules
-Endpunkt unterstützt verschiedene Abfrageparameter, mit denen Sie Ihre Ergebnisse filtern können. Diese Parameter sind zwar optional, doch wird ihre Verwendung dringend empfohlen, um den teuren Verwaltungsaufwand 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?start={START}
GET /config/schedules?limit={LIMIT}
{START}
{LIMIT}
Anfrage
Mit der folgenden Anfrage werden die letzten zehn Zeitpläne abgerufen, die innerhalb Ihres Unternehmens veröffentlicht wurden.
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
Eine erfolgreiche Antwort gibt den HTTP-Status 200 mit einer Liste von Zeitplänen für die angegebene Organisation als JSON zurück.
{
"_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
["*"]
stellt sicher, dass alle Segmente einbezogen werden.children.schedule
children.state
Erstellen neuer Zeitpläne create
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
entspricht "batch_segmentation". 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 get
Sie können detaillierte Informationen zu einem bestimmten Zeitplan abrufen, indem Sie eine GET-Anfrage an die /config/schedules
-Endpunkt und geben Sie die Kennung des Zeitplans an, den Sie im Anfragepfad abrufen möchten.
API-Format
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
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
["*"]
stellt sicher, dass alle Segmente einbezogen werden.schedule
state
active
und inactive
. Standardmäßig lautet der Status inactive
.Aktualisieren von Details für einen bestimmten Zeitplan update
Sie können einen bestimmten Zeitplan aktualisieren, indem Sie eine PATCH-Anfrage an die /config/schedules
-Endpunkt und geben Sie die Kennung des Zeitplans an, den Sie im Anfragepfad aktualisieren möchten.
Mit der PATCH-Anfrage können Sie entweder die state oder Cron-Zeitplan für einen individuellen Zeitplan.
Aktualisieren des Status eines Zeitplans update-state
Sie können einen JSON Patch-Vorgang verwenden, um den Status des Zeitplans zu aktualisieren. Um den Status zu aktualisieren, deklarieren Sie path
Eigenschaft als /state
und legen Sie die value
entweder active
oder inactive
. Weitere Informationen zum JSON Patch finden Sie im JSON Patch Dokumentation.
API-Format
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
des Zeitplans, den Sie aktualisieren möchten.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".value
Antwort
Bei erfolgreicher Antwort wird der HTTP-Status-Code 204 (kein Inhalt) zurückgegeben.
Cron-Zeitplan aktualisieren update-schedule
Sie können einen JSON Patch-Vorgang verwenden, um den Cron-Zeitplan zu aktualisieren. Um den Zeitplan zu aktualisieren, deklarieren Sie die path
Eigenschaft als /schedule
und legen Sie die value
zu einem gültigen Cron-Zeitplan. Weitere Informationen zum JSON Patch finden Sie im JSON Patch Dokumentation. Weitere Informationen zu Cron-Zeitplänen finden Sie im Anhang im Cron-Ausdrucksformat.
API-Format
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
des Zeitplans, den Sie aktualisieren möchten.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
nach /schedule
.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 die /config/schedules
-Endpunkt und geben Sie die Kennung des Zeitplans an, den Sie im Anfragepfad löschen möchten.
API-Format
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
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 appendix
Im folgenden Anhang wird das Format der in Zeitplänen verwendeten Cron-Ausdrücke erläutert.
Format
Ein Cron-Ausdruck ist eine Zeichenfolge aus 6 oder 7 Feldern. Der Ausdruck würde etwa wie folgt aussehen:
0 0 12 * * ?
In einer Cron-Ausdruckszeichenfolge stellt das erste Feld die Sekunden, das zweite die Minuten, das dritte Feld die Stunden, das vierte Feld den Tag des Monats, das fünfte Feld den Monat und das sechste Feld den Wochentag dar. Sie können optional auch ein siebtes Feld einfügen, das das Jahr darstellt.
, - * /
, - * /
, - * /
, - * ? / L W
, - * /
, - * ? / L #
, - * /
SUN
entspricht der Verwendung sun
.Die zulässigen Sonderzeichen stehen für die folgende Bedeutung:
*
*
im Stundenfeld würde each Stunde.?
3
im Tag des Monats und ?
im Feld Wochentag ein.-
9-15
im Feld Stunden würde dies bedeuten, dass die Stunden 9, 10, 11, 12, 13, 14 und 15 umfassen würden.,
MON, FRI, SAT
im Feld Wochentag würde dies bedeuten, dass die Wochentage Montag, Freitag und Samstag umfassen würden./
/
bestimmt, von wo er inkrementiert, während der Wert nach der /
bestimmt, um wie viel er erhöht wird. Wenn Sie beispielsweise 1/7
würde dies bedeuten, dass die Minuten 1, 8, 15, 22, 29, 36, 43, 50 und 57 umfassen würden.L
Last
und hat je nach Feld, für das sie verwendet wird, eine andere Bedeutung. Wenn es mit dem Tag des Monats-Felds verwendet wird, stellt es den letzten Tag des Monats dar. Wenn es allein mit dem Wochentag verwendet wird, stellt es den letzten Wochentag dar, nämlich Samstag (SAT
). Wenn es zusammen mit dem Wochentag in Verbindung mit einem anderen Wert verwendet wird, stellt es den letzten Tag dieses Typs für den Monat dar. Wenn Sie beispielsweise 5L
im Feld Wochentag only den letzten Freitag des Monats einschließen.W
18W
im Monatsfeld, und der 18. des Monats ein Samstag war, war es am Freitag, den 17., der nächstgelegene Wochentag, Trigger. Wenn der 18. des Monats ein Sonntag wäre, würde er am Montag am 19., dem nächstgelegenen Wochentag, Trigger haben. Bitte beachten Sie, dass wenn Sie 1W
im Feld Tag des Monats angegeben ist und der nächstgelegene Wochentag im Vormonat liegt, wird das Ereignis noch am nächsten Wochentag des current Monat.Darüber hinaus können Sie
L
und W
um LW
, der den letzten Wochentag des Monats angibt.#
#
stellt den Wochentag dar, während der Wert nach der #
gibt an, welches Vorkommen im Monat es ist. Wenn Sie beispielsweise 1#3
, wird das Ereignis am dritten Sonntag des Monats Trigger. Bitte beachten Sie, dass wenn Sie X#5
und es in diesem Monat keinen fünften Tag der Woche gibt, wird das Ereignis not ausgelöst werden. Wenn Sie beispielsweise 1#5
, und es gibt keinen fünften Sonntag in diesem Monat wird das Ereignis not ausgelöst werden.Beispiele
Die folgende Tabelle zeigt Beispiel-Cron-Ausdruckszeichenfolgen und erklärt, 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