Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
Übersicht über geplante Jobs
Die Monetarisierung umfasst einen Jobplaner und eine Reihe von Jobs, die vorab für die Ausführung zu bestimmten Zeiten geplant sind.
Die folgende Tabelle enthält die vorab geplanten Jobs, die von der Monetarisierung bereitgestellt werden, und die Zeiten, zu denen sie planmäßig ausgeführt werden sollen. Alle Zeiten sind in UTC angegeben. Außerdem ist der Trigger für jeden Job aufgeführt.
Job | Beschreibung | Zeitplan (UTC) | Trigger |
---|---|---|---|
Monatlicher Entwicklersteuersatz | Ruft den Steuersatz für jeden Entwickler aus der Steuer-Engine ab und aktualisiert die Entwicklerentität mit dem aktualisierten Steuersatz. | Der erste Tag jedes Monats um 05:45 Uhr | MINT.MONTHLY_DEV_TAXRATE@@@ |
Abo verlängern | Wendet wiederkehrende Gebühren für aktive Preispläne oder neue Gebühren für zukünftige Preispläne an, die am aktuellen Tag beginnen. | Jeden Tag fünf Sekunden nach Mitternacht | MINT.RENEW_SUBSCRIPTIONS@@@ |
XeFeed-Updater | Ermittelt den Wechselkurs für jede unterstützte Währung in US-Dollar. | Jeden Tag um 1 Sekunde nach Mitternacht | MINT.XEFEED@@@ |
Tarif für Entwickler verlängern | Übertragt die Verlängerungstermine für einen Tarif und berechnet die Gebühren für vorzeitige Beendigung. | Jeden Tag um 2:20 Uhr | MINT.RENEW_DEV_RATEPLAN@@@ |
Transaktions-Relay wiederholen | Hinweis: Dieser Job wurde verworfen und hat keinen Einfluss auf die Monetarisierung. | Jeden Tag um 04:30 Uhr | MINT.RETRY_TX_RELAY@@@ |
Transaktionsbereinigung | Hinweis: Dieser Job wurde verworfen und hat keinen Einfluss auf die Monetarisierung. | Jeden Tag um 05:30 Uhr | MINT.TX_CLEANSER@@@ |
Prüfung des Entwicklerguthabens | Überprüft den Kontostand des Entwicklerkontos. Kopiert die aktuelle Nutzung und das Prepaidguthaben/Postpaid-Guthabenlimit in eine Audit-Tabelle, zieht die aktuelle Nutzung dann vom Entwicklerkonto ab und setzt das Nutzungsguthaben auf null zurück. | Erster Tag jedes Monats jeweils fünf Sekunden nach Mitternacht | MINT.DEVELOPER_BALANCE_AUDIT@@@ |
Dokumentation zur monatlichen Abrechnung | Generiert Abrechnungsunterlagen. Hinweis: Apigee unterstützt das Generieren von Abrechnungsdokumenten aus der Apigee Edge-Monetarisierung nicht mehr. Weitere Informationen finden Sie unter Ausmusterung. |
Am 11. Tag jedes Monats um eine Minute nach Mitternacht | MINT.MONTLY_BILLING_DOCS@@@ |
Zähler für Entwicklertarife | Hinweis: Dieser Job wurde verworfen und hat keinen Einfluss auf die Monetarisierung. | Jeden Tag drei Sekunden nach Mitternacht | MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@ |
Tägliche Gebühren | Berechnet alle stündlichen Transaktionssummen neu und verwendet sie zur Berechnung der Tagessummen des Vortages. | Jeden Tag um 1:20 Uhr | MINT.CHARGE_DAILY@@@ |
Stündliche Gebühren | Berechnet alle Transaktionssummen für jedes Viertel einer Stunde. | 1 Minute nach jeder Viertelstunde | MINT.CHARGE_HOURLY@@@ |
Benachrichtigungskonfiguration aktualisieren | Indexiert alle Benachrichtigungsbedingungen neu. | Alle 5 Minuten | MINT.REFRESH_NOTIFICATION_CONFIG@@@ |
E-Mail-Benachrichtigungen senden | Sendet kumulative E-Mail-Benachrichtigungen | Stündlich | MINT.EMAIL_NOTIFICATION@@@ |
Aktualisierungslimit | Hinweis: Dieser Job wurde verworfen und hat keinen Einfluss auf die Monetarisierung. | – (wird nie ausgeführt) | MINT.REFRESH_LIMIT@@@ |
Zusätzlich zu den oben aufgeführten Jobs gibt es noch weitere Jobs, die Sie über Ereignisbenachrichtigungen aktivieren können, wie in der folgenden Tabelle aufgeführt. Weitere Informationen finden Sie unter Benachrichtigungen einrichten.
Job | Beschreibung | Veröffentlichungszeitpunkt festlegen | Trigger |
---|---|---|---|
Neue Paketbenachrichtigung | Sendet eine Benachrichtigung an alle Entwickler, dass ein neues API-Paket verfügbar ist. |
Wird einmal ausgeführt – an dem Tag, an dem der Job um 21:00 Uhr aktiviert wird.
Hinweis: Benachrichtigungen werden nur einmal gesendet, unabhängig davon, ob Sie eine |
MINT.NEW_PACKAGE_NOTIFY@@@ |
Neue Ad-hoc-Benachrichtigung | Alle Entwickler werden darüber benachrichtigt, dass neue API-Produkte in bestimmten geografischen Märkten verfügbar sind. |
Wird einmal ausgeführt – an dem Tag, an dem der Job um 21:00 Uhr aktiviert wird.
Hinweis: Benachrichtigungen werden nur einmal gesendet, unabhängig davon, ob Sie eine |
MINT.ADHOC_NOTIFY@@@ |
Benachrichtigung zu neuem Produkt | Sendet eine Benachrichtigung an alle Entwickler, dass ein neues API-Produkt verfügbar ist. |
Wird einmal ausgeführt – an dem Tag, an dem der Job um 21:00 Uhr aktiviert wird.
Hinweis: Benachrichtigungen werden nur einmal gesendet, unabhängig davon, ob Sie eine |
MINT.NEW_PRODUCT_NOTIFY@@@ |
Benachrichtigung über neuen Preisplan |
Betroffene Entwickler werden benachrichtigt, dass ein neuer Preisplan verfügbar ist. Alle Entwickler, die den übergeordneten Preisplan abonniert haben, werden darüber informiert, dass ein neuer Preisplan aktiv ist. Außerdem gilt:
|
Wird am Startdatum des neuen Preisplans um 4:30 Uhr ausgeführt. | MINT.NEW_RATEPLAN_NOTIFY@@@ |
Neue Tnc | Betroffene Entwickler werden darüber benachrichtigt, dass neue oder überarbeitete Nutzungsbedingungen veröffentlicht wurden und der Entwickler sie noch nicht akzeptiert hat. | Wird 30, 7 und 1 Tag vor dem Startdatum der neuen oder überarbeiteten Nutzungsbedingungen um 21:00 Uhr ausgeführt. | MINT.TNC_ACCEPTANCE_NOTIFY@@@ |
Auslaufender Tarif | Betroffene Entwickler werden in einer Vorabankündigung darüber informiert, dass ein Preisplan abläuft. | Wird 30, 7 und 1 Tag vor Ablauf des Preisplans um 21:00 Uhr ausgeführt. | MINT.EXPIRING_RATE_PLAN_NOTIFY@@@ |
Monetarisierungs-Jobzeitplan mithilfe der API verwalten
In den folgenden Abschnitten wird beschrieben, wie Sie den Jobzeitplan für die Monetarisierung mithilfe der API verwalten:
- Trigger konfigurieren
- Cron-Ausdrücke erstellen
- Geplante Jobs mit der API ansehen
- Geplante Jobs mithilfe der API aktualisieren
- Geplanten Job über die API deaktivieren und wieder aktivieren
Weitere Informationen zu den in diesem Abschnitt beschriebenen APIs finden Sie in der API-Referenz unter Geplante Jobs.
Trigger konfigurieren
Der Planer benötigt Trigger, um Jobs auszuführen. Ein geplanter Job wird ausgeführt, wenn der zugehörige Trigger ausgeführt wird. Die Attribute eines Triggers konfigurieren die Jobausführung. Wenn Sie deren Wert festlegen, können Sie Eigenschaften der Jobausführung steuern, z. B. wann und wie oft ein Job ausgeführt wird.
Die beiden häufigsten Triggertypen sind Cron-Trigger und einfache Trigger. Ein Cron-Trigger hat ein cronExpression
-Attribut, das einen Ausführungszeitplan angibt. Ein einfacher Trigger hat kein cronExpression
-Attribut. Mit startTime
geben Sie an, wann der Trigger wirksam wird, und optional den Wert endTime
.
Die Triggerattribute (alle Zeiten sind in UTC angegeben):
Property | Beschreibung |
---|---|
cronExpression |
Cron-Ausdruck zum Erstellen eines Ausführungszeitplans für den Trigger, z. B. „Jeden Montag bis Freitag um 8:00 Uhr“ oder „Jeden letzten Freitag des Monats um 1:30 Uhr“. Weitere Informationen finden Sie unter Cron-Ausdrücke erstellen.
Wenn diese Eigenschaft angegeben wird, wird der Trigger als Cron-Trigger definiert. Hinweis: Wenn sowohl |
enabled |
Flag, das angibt, ob die Ausführung des Triggers aktiviert ist. Folgende Werte sind möglich:
|
endTime |
Zeit im Epochenformat, wenn der Zeitplan des Triggers nicht mehr gültig ist. |
group |
Servertyp, auf dem der Trigger ausgeführt wird. Wenn der Trigger beispielsweise auf einem Verwaltungsserver ausgeführt werden soll, sollte der Wert auf management-server festgelegt werden. Wenn der Trigger in einem Nachrichtenverarbeitungsserver ausgeführt werden soll, sollte der Wert auf message-processor gesetzt werden. |
id |
Trigger-Identifikation |
jobId |
Angabe des auszuführenden Jobs. |
name |
Eindeutiger Name zur Identifizierung des Triggers. |
priority |
Relative Ausführungspriorität der Trigger, wenn mehrere Trigger für die gleiche Ausführung geplant sind. Je niedriger der Wert, desto höher die Priorität. Wenn beispielsweise zwei Trigger zur gleichzeitigen Ausführung geplant sind und ein Trigger die Priorität 1 und der andere die Priorität 2 hat, wird der Trigger mit der Priorität 1 zuerst ausgeführt.
Dieses Attribut gilt nur, wenn mehrere Trigger genau die gleiche Ausführungszeit haben. |
startTime |
Gilt nur für einfache Trigger.
Zeitpunkt im Epochenformat, zu dem der Zeitplan des Triggers wirksam wird. Hinweis: Wenn sowohl |
suiteId |
Flag, das angibt, ob der Benachrichtigungsteil der Benachrichtigungssuite auf System- oder Standardebene angegeben ist. Gültige Werte sind DEFAULT und SYSTEM . Sie können aber auch einen eigenen eindeutigen Suitenamen angeben. |
triggerDataMap |
Sperrtaste, custom_lock_key , die verhindert, dass mehrere Server denselben Job gleichzeitig ausführen. |
Cron-Ausdrücke erstellen
Ein Cron-Ausdruck ist eine Zeichenfolge, die sechs oder sieben durch Leerzeichen getrennte Felder umfasst. Der Ausdruck stellt eine Reihe von Zeiten dar, normalerweise als Zeitplan zur Ausführung einer Routine. Cron-Ausdrücke, die im Attribut cronExpression
eines Triggers angegeben sind, werden verwendet, um die Ausführung dieses Triggers zu planen.
s
m h dm m dw y
Wobei:
Feld | Beschreibung | Erforderlich | Zulässige Werte | Zulässige Sonderzeichen |
---|---|---|---|---|
s |
Sekunden | Ja | 0-59 | , - * / |
m |
Minuten | Ja | 0-59 | , - * / |
h |
Stunden | Ja | 0-23 | , - * / |
dm |
Tag des Monats | Ja | 0-31 | , - * ? / L |
m |
Monat | Ja | 1-12 oder JAN-DEC | , - * / |
dw |
Wochentag | Ja | 1–7 oder SUN–SAT | , - * ? / L # |
y |
Jahr | Nein | Leer oder 1970–2099 | , - * / |
Die Sonderzeichen werden wie folgt definiert:
Sonderzeichen | Beschreibung |
---|---|
* | Wird verwendet, um alle Werte in einem Feld auszuwählen. Beispiel: * im Minutenfeld steht für jede Minute. |
? | Wird verwendet, um in einem der beiden Felder etwas anzugeben, in dem das Zeichen zulässig ist, das andere Zeichen jedoch nicht. Wenn der Trigger beispielsweise an einem bestimmten Tag des Monats (z. B. am 10.) ausgeführt werden soll, es aber egal ist, an welchem Wochentag, geben Sie 10 im Feld für den Tag des Monats an und ? im Feld für den Wochentag ein. |
- | Dient zum Angeben von Bereichen. Beispiel: 10–12 im Stundenfeld steht für die Stunden 10, 11 und 12. |
, | Dient zur Angabe zusätzlicher Werte. Beispielsweise stehen MON,WED,FRI im Feld für den Wochentag für die Tage Montag, Mittwoch und Freitag. |
/ | Dient zur Angabe von Schritten. Beispielsweise bedeutet 0/15 im Sekundenfeld die Sekunden 0, 15, 30 und 45. Und 5/15 im Sekundenfeld steht für die Sekunden 5, 20, 35 und 50. Sie können auch nach dem Zeichen "/" angeben. Das entspricht einer 0 vor dem „/“. Wenn Sie im Feld für den Tag des Monats „1/3“ angeben, wird die Ausführung alle 3 Tage ab dem ersten Tag des Monats ausgeführt. |
L | Hat in den beiden Feldern, in denen sie zulässig ist, eine andere Bedeutung. L im Feld für den Tag des Monats steht für den letzten Tag des Monats, d. h. Tag 31 für Januar oder Tag 28 für Februar in Nicht-Schaltjahren. Im Feld für den Wochentag steht L für den letzten Tag der Woche, also 7 oder SAT. Wird er jedoch im Feld für den Wochentag nach einem anderen Wert verwendet, steht er für den letzten xxx Tag des Monats. Beispiel: 6L steht für den letzten Freitag des Monats. |
W | Dient zur Angabe des Wochentags (Montag bis Freitag), der dem angegebenen Tag am nächsten liegt. Wenn Sie beispielsweise im Feld für den Tag des Monats 15 W angeben, bedeutet dies den nächsten Wochentag, der auf den 15. des Monats folgt. Wenn also der 15. ein Samstag ist, wird der Trigger am Freitag, dem 14., ausgeführt. Wenn der 15. ein Sonntag ist, wird der Trigger am Montag, dem 16., ausgeführt. Wenn der 15. ein Dienstag ist, wird er am Dienstag, den 15. ausgeführt. Wenn Sie jedoch 1W für den Tag des Monats angeben und der 1. ein Samstag ist, wird der Trigger am Montag, dem 3., ausgeführt, da er nicht über die Grenze der Tage eines Monats „überspringt“. Das W-Zeichen kann nur angegeben werden, wenn der Tag des Monats ein einzelner Tag ist, nicht ein Bereich oder eine Liste von Tagen. |
# | Dient zur Angabe des n-ten XXX-Tages des Monats. Beispielsweise bedeutet der Wert 6#3 im Feld für den Wochentag den dritten Freitag des Monats (Tag 6 = Freitag und #3 = 3. Freitag im Monat). Weitere Beispiele: 2#1 = erster Montag des Monats, 4#5 = der fünfte Mittwoch des Monats. |
Hier sind einige Beispiele für Cron-Ausdrücke (alle Zeiten sind in UTC angegeben):
Cron-Ausdruck | Zeitplan für die Ausführung |
---|---|
0 0 12 * * ? | Täglich um 12:00 Uhr. |
0 15 10 * * ? 2013 | 2013 jeden Tag um 10:15 Uhr. |
0 10,44 14 ? 3 MI | jeden Mittwoch um 14:10 Uhr und 14:44 Uhr im März. |
0 15 10 ? * 6L 2013–2015 | am letzten Freitag jedes Monats in den Jahren 2013, 2014 und 2015 um 10:15 Uhr. |
0 15 10 ? * 6#3 | an jedem dritten Freitag jedes Monats um 10:15 Uhr. |
Geplante Jobs mit der API ansehen
Sie können alle derzeit geplanten Jobs ansehen, indem Sie eine GET-Anfrage an /triggers?orgid={org_name}
senden.
Beispiel:
$ curl -H "Accept:application/json" -X GET \ "http://localhost:8080/v1/mint/triggers?orgid={org_name}" \ -u email:password
Im Folgenden finden Sie ein Beispiel für die Antwort:
[ { "createdDate" : 1457924378176, "cronExpression" : "3 0 0 * * ?", "enabled" : true, "group" : "management-server", "id" : "MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@management-server", "name" : "MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.resetdeveloperrateplancounter@@@management" }, "updatedDate" : 1457924378176 }, { "createdDate" : 1457924378014, "cronExpression" : "", "enabled" : true, "group" : "management-server", "id" : "MINT.ADHOC_NOTIFY@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.ADHOC_NOTIFY@@@management-server", "name" : "MINT.ADHOC_NOTIFY@@@management-server@@@DEFAULT", "priority" : "4", "startTime" : "1372916749000", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.adhocnotify@@@management" }, "updatedDate" : 1457924378014 }, { "createdDate" : 1457924377877, "cronExpression" : "0 20 1 * * ?", "enabled" : true, "group" : "management-server", "id" : "MINT.CHARGE_DAILY@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.CHARGE_DAILY@@@management-server", "name" : "MINT.CHARGE_DAILY@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.chargedaily@@@management" }, "updatedDate" : 1457924377877 }, ... ]
Sie können einen bestimmten geplanten Job auch aufrufen, indem Sie eine GET-Anfrage an /triggers/{trig_id}
senden, wobei {trig_id}
die Identifizierung des Job-Triggers ist, wie unter Übersicht über geplante Jobs beschrieben. Beispiel:
$ curl -X GET \ "http://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT" \ -u email:password
Im Folgenden finden Sie ein Beispiel für die Antwort:
{ "createdDate" : 1457924377925, "cronExpression" : "0 20 2 * * ?", "enabled" : true, "group" : "management-server", "id" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.RENEW_DEV_RATEPLAN@@@management-server", "name" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.renewydevrateplan@@@management" }, "updatedDate" : 1457924377925 }
Geplante Jobs mithilfe der API aktualisieren
Sie können einen geplanten Job aktualisieren, indem Sie die Attribute seines Triggers ändern. Beispielsweise müssen Sie möglicherweise den Ausführungszeitplan des Triggers ändern.
Bei Cronjobs, die einen Cron-Ausdruck enthalten, können Sie nur die Werte der cronExpression
und der aktivierten Attribute ändern. Andere Änderungen werden ignoriert. Für Jobs, die keinen Cron-Ausdruckswert angeben, können Sie andere Attribute wie startTime
oder priority
ändern.
Um einen geplanten Job zu aktualisieren, senden Sie eine PUT-Anfrage an /triggers/{trig_id}
, wobei {trig_id}
die Identifizierung des Job-Triggers ist, wie unter Übersicht über geplante Jobs beschrieben. Wenn Sie die Aktualisierung vornehmen, müssen Sie im Anfragetext die aktualisierten Einstellungen und die ID des Triggers angeben.
Mit der folgenden Anfrage wird beispielsweise der Cron-Ausdruck für den Verlängerungsjob für den Preisplan für neue Entwickler so aktualisiert, dass er täglich um 5:00 Uhr (UTC) ausgeführt wird:
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "cronExpression" : "0 0 5 * * ?", "enabled" : true, "group" : "management-server", "id" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.RENEW_DEV_RATEPLAN@@@management-server", "name" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.renewydevrateplan@@@management" }, }' \ https://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT \ -u email:password
Geplante Jobs über die API deaktivieren und wieder aktivieren
Um einen geplanten Job zu deaktivieren, setzen Sie den Attributwert enabled
seines Triggers auf "false". Beispiel:
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "cronExpression" : "0 0 5 * * ?", "enabled" : false, "group" : "management-server", "id" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.RENEW_DEV_RATEPLAN@@@management-server", "name" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.renewydevrateplan@@@management" }, }' \ https://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT \ -u email:password
Wenn Sie einen deaktivierten Job wieder aktivieren möchten, setzen Sie den Attributwert enabled
seines Triggers auf „true“.
Nächste Schritte
Es empfiehlt sich, Ihre Organisation und alle Entwickler, Anwendungen und Produkte, die Sie mit Edge API-Diensten erstellt haben, regelmäßig mit der Monetarisierung zu synchronisieren. Weitere Informationen finden Sie unter Apigee Edge-Daten mit der Monetarisierung synchronisieren.