תזמון משימות מונטיזציה

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

סקירה כללית של משימות מתוזמנות

המונטיזציה מספקת מתזמן משימות וסדרה של משרות שמתוזמנות מראש לפעול ב בזמנים ספציפיים.

בטבלה הבאה מפורטות המשימות המתוזמנות מראש שמסופקות על ידי המונטיזציה ומועדי הביצוע מתוזמנת להופיע (כל השעות המפורטות הן לפי שעון UTC). יופיע גם הטריגר של כל משימה.

משימה תיאור לוח זמנים (UTC) Trigger
שיעור מס המפתחים החודשי אחזור של שיעור המס ממנוע המס לכל מפתח ועדכון של המפתח ישות עם שיעור המס המתוקן. ביום הראשון בכל חודש בשעה 5:45 בבוקר MINT.MONTHLY_DEV_TAXRATE@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
חידוש המינוי חלה עמלות חוזרות על תוכניות תעריפים פעילות או עמלות חדשות על תוכניות עתידיות של תעריפים מתחיל ביום הנוכחי. כל יום ב-5 שניות אחרי חצות MINT.RENEW_SUBSCRIPTIONS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
מעדכן XeFeed מקבל את שער החליפין בדולר ארה"ב לכל מטבע נתמך. כל יום בשנייה אחרי חצות MINT.XEFEED@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
חידוש תוכנית המחירים למפתחים גוללים את תאריכי החידוש של תוכנית תעריפים ומחשבים את עמלות הסיום המוקדם. כל יום בשעה 2:20 MINT.RENEW_DEV_RATEPLAN@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
ניסיון חוזר של שרת ממסר העסקה הערה: המשימה הזו הוצאה משימוש ואין לה השפעה על מונטיזציה. כל יום בשעה 4:30 MINT.RETRY_TX_RELAY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
ניקוי נתונים לעסקאות הערה: המשימה הזו הוצאה משימוש ואין לה השפעה על מונטיזציה. כל יום בשעה 5:30 MINT.TX_CLEANSER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
בדיקת היתרה למפתחים בדיקת היתרה בחשבון הפיתוח. העתקת השימוש הנוכחי והתשלום מראש מגבלת אשראי/תשלום לאחר השימוש (postpay) לטבלת ביקורת, ואז מנכה את השימוש הנוכחי חשבון הפיתוח ומחזירה את יתרת השימוש לאפס. היום הראשון בכל חודש ב-5 שניות אחרי חצות MINT.DEVELOPER_BALANCE_AUDIT@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
מסמכי חיוב חודשי יוצר מסמכי חיוב.

הערה: ב-Apigee אין יותר תמיכה ביצירת מסמכי חיוב מהמונטיזציה ב-Apigee Edge. כדאי לעיין במאמר פרישה לגמלאות.

היום ה-11 בכל חודש בדקה אחת אחרי חצות MINT.MONTLY_BILLING_DOCS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
מונה של תוכנית תעריפים למפתחים הערה: המשימה הזו הוצאה משימוש ואין לה השפעה על מונטיזציה. כל יום בשעה 3 שניות אחרי חצות MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
חיובים יומיים מחשבת מחדש את כל הסכומים הכוללים של העסקאות השעתיים, ומשתמשת בהם כדי לחשב את הסכומים הכוללים היומיים. אתמול. כל יום בשעה 1:20 MINT.CHARGE_DAILY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
חיובים לפי שעה מחשבת את כל סכומי העסקאות בכל רבעון של שעה. דקה אחת אחרי כל רבע שעה MINT.CHARGE_HOURLY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
רענון ההגדרה של ההתראה הוספה מחדש של כל תנאי ההתראות לאינדקס. כל 5 דקות MINT.REFRESH_NOTIFICATION_CONFIG@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
שליחת התראות באימייל שולח התראות אימייל שהצטברו כל שעה MINT.EMAIL_NOTIFICATION@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
רענון המגבלה הערה: המשימה הזו הוצאה משימוש ואין לה השפעה על מונטיזציה. לא רלוונטי (אף פעם לא מופעל) MINT.REFRESH_LIMIT@@@
message-processor@@@SYSTEM@@@
message-processor@@@SYSTEM

בנוסף למשימות שצוינו למעלה, יש משימות שאפשר להפעיל דרך האירוע התראות, כמפורט בטבלה הבאה. מידע נוסף זמין במאמר הגדרת התראות.

משרה תיאור תזמון Trigger
הודעה על חבילה חדשה שולחת הודעה לכל המפתחים על כך שחבילת API חדשה זמינה. פועלת פעם אחת — ביום שבו המשימה מופעלת בשעה 21:00.

הערה: ההתראות נשלחות רק פעם אחת, לא משנה אם להגדיר cronExpression שמוביל לביצוע של המשימה פעמים.

MINT.NEW_PACKAGE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
התראת אד-הוק חדשה שולחת הודעה לכל המפתחים על כך שמוצרי API חדשים זמינים באופן ספציפי לשווקים גיאוגרפיים. פועלת פעם אחת — ביום שבו המשימה מופעלת בשעה 21:00.

הערה: ההתראות נשלחות רק פעם אחת, לא משנה אם להגדיר cronExpression שמוביל לביצוע של המשימה פעמים.

MINT.ADHOC_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
התראה על מוצר חדש התכונה שולחת הודעה לכל המפתחים על כך שיש מוצר API חדש זמין. פועלת פעם אחת — ביום שבו המשימה מופעלת בשעה 21:00.

הערה: ההתראות נשלחות רק פעם אחת, לא משנה אם להגדיר cronExpression שמוביל לביצוע של המשימה פעמים.

MINT.NEW_PRODUCT_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
הודעה על תוכנית תעריפים חדשה

התכונה שולחת הודעה למפתחים המושפעים על כך שיש תוכנית תמחור ותשלומים חדשה. הכול מפתחים שנרשמו לתוכנית התמחור והתשלומים החדשה מקבלים הודעה על כך שתוכנית תמחור ותשלומים חדשה פעיל.

כמו כן:

  • אם תוכנית התמחור והתשלומים היא תוכנית רגילה, כל המפתחים יקבלו הודעה על כך.
  • אם מדובר בתוכנית תעריפים בקטגוריית מפתחים, רק המפתחים בקטגוריה הזו יקבלו נשלחה הודעה.
  • אם מדובר בתוכנית תעריפים למפתחים, רק המפתח הספציפי הזה יקבל נשלחה הודעה.
יפעל בתאריך ההתחלה של תוכנית התעריפים החדשה, בשעה 04:30 (ארה"ב). MINT.NEW_RATEPLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Tnc חדש שולחת הודעה למפתחים המושפעים על כך שתנאים והגבלות חדשים או מתוקנים פורסמו (והמפתח עדיין לא אישר אותן). פועל 30, 7 ויום אחד לפני תאריך ההתחלה של התנאים וההגבלות החדשים או המעודכנים, בשעה 21:00. MINT.TNC_ACCEPTANCE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
תוכנית תעריפים שתוקפם עומד לפוג שולחת הודעה למפתחים המושפעים כדי לספק אזהרה מראש על כך שתוכנית תמחור ותשלומים עומד לפוג. פועל ב-30, ב-7 וביום אחד לפני התפוגה של תוכנית התמחור והתשלומים, בשעה 21:00. MINT.EXPIRING_RATE_PLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT

ניהול לוח הזמנים של משימות המונטיזציה באמצעות ה-API

בקטעים הבאים מוסבר איך לנהל את לוח הזמנים של המשימה למונטיזציה באמצעות ה-API:

מידע נוסף על ממשקי ה-API שמתוארים בקטע הזה זמין במאמר משימות מתוזמנות ב-API. הפניה.

הגדרת טריגרים

המתזמן מסתמך על טריגרים כדי לבצע משימות. משימה מתוזמנת מתבצעת כשהמשימה משויכת מפעיל. המאפיינים של טריגר מגדירים את ביצוע המשימה, ועל ידי הגדרת בערך של המאפיינים האלה אפשר לשלוט במאפיינים של ביצוע המשימה, כמו למשל מתי משימה ובאיזו תדירות.

שני הסוגים הנפוצים ביותר של טריגרים הם טריגרים מסוג cron וטריגרים פשוטים טריגרים. טריגר cron כולל מאפיין cronExpression שמציין לוח זמנים לביצוע. לטריגר פשוט אין מאפיין cronExpression; עבורך ולציין את ה-startTime כדי לציין מתי הטריגר נכנס לתוקף, אופציונלי, endTime.

אלו הם מאפייני הטריגר (כל הזמנים הרשומים הם לפי שעון UTC):

נכס תיאור
cronExpression ביטוי cron כדי ליצור לוח זמנים לביצוע של הטריגר, למשל: "At 8:00 A.M. כל יום שני עד שישי" או "ב-1:30 בבוקר. בכל יום שישי האחרון של החודש". צפייה יצירת ביטויי cron לפרטים נוספים.

ציון המאפיין הזה מגדיר את הטריגר כטריגר cron.

הערה: אם גם cronExpression וגם ציינת startTime מתוך endTime, cronExpression מקבלת עדיפות.

enabled סימון שמציין אם הטריגר מופעל להפעלה. הערך יכול להיות אחד מ- הבאים:
  • true הטריגר מופעל להפעלה.
  • false. הטריגר מושבת – הוא לא יופעל.
endTime הזמן בפורמט של תקופה של זמן מערכת (epoch) שבו לוח הזמנים של הטריגר כבר לא בתוקף.
group סוג השרת שבו יופעל הטריגר. לדוגמה, אם הטריגר הוא אמור לפעול בשרת ניהול, הערך צריך להיות מוגדר management-server אם הטריגר אמור לפעול בהודעה שרת העיבוד, הערך צריך להיות message-processor.
id זיהוי הטריגר.
jobId זיהוי המשימה לביצוע.
name השם הייחודי שמשמש לזיהוי הטריגר.
priority עדיפות הביצוע היחסית של הטריגרים אם כמה טריגרים מתוזמנים להפעלה כמעט זהה. ככל שהערך נמוך יותר, כך העדיפות גבוהה יותר. לדוגמה, אם שני טריגרים תוזמנו לפעול בו-זמנית, ואם לטריגר אחד יש עדיפות של 1 אחר בעדיפות 2, הטריגר עם עדיפות 1 מופעל ראשון.

המאפיין הזה רלוונטי רק אם לכמה טריגרים יש אותה הפעלה בדיוק בזמן האימון.

startTime רלוונטי רק לטריגרים פשוטים.

הזמן בפורמט של תקופה של זמן מערכת (epoch) שבו לוח הזמנים של הטריגר נכנס לתוקף.

הערה: אם גם cronExpression וגם startTime/endTime הם שצוין, cronExpression מקבל עדיפות.

suiteId סימון שמציין אם החלק של ההתראה ברמת המערכת או ברמת ברירת המחדל של הודעות. הערכים החוקיים הם DEFAULT או SYSTEM, או אפשר לציין שם ייחודי משלכם לחבילה.
triggerDataMap המפתח לנעילת המכשיר, custom_lock_key, שמונע ממספר שרתים לפעול .

בניית ביטויי cron

ביטוי cron הוא מחרוזת שמורכבת מ-6 או 7 שדות שמופרדים באמצעות רווח לבן. מייצג קבוצה של זמנים, בדרך כלל כלוח זמנים להפעלת תרחיש. cron בביטויים המפורטים במאפיין cronExpression של טריגר נעשה שימוש כדי לתזמן את הביצוע של הטריגר הזה.

ביטוי cron מופיע בפורמט הבא: s m h dm m dw y

כאשר:

שדה תיאור חובה ערכים מותרים תווים מיוחדים מותרים
s שניות כן 0-59 , - * /
m דקות כן 0-59 , - * /
h שעות כן 0-23 , - * /
dm היום בחודש כן 0-31 , - * ? L/W
m חודש כן 1-12 או 1-12 בדצמבר , - * /
dw יום בשבוע כן 1-7 או SUN-SAT , - * ? / L #
y שנה לא ריק או 1970-2099 , - * /

התווים המיוחדים מוגדרים כך:

תו מיוחד תיאור
* משמשת לבחירת כל הערכים בשדה מסוים. לדוגמה, * בשדה הדקות הוא בכל דקה.
? משמש לציון משהו באחד משני השדות שבהם התו מותר, אבל לא לצד השני. לדוגמה, אם רוצים שהטריגר יופעל ביום מסוים בחודש (למשל, ה-10 בחודש), אבל לא חשוב לכם באיזה יום בשבוע, ציינו 10 ביום השדה month וגם ? בשדה של היום בשבוע.
- משמש לציון טווחים. לדוגמה, 10-12 בשדה השעה פירושו שהשעות 10, 11 12.
, משמש לציון ערכים נוספים. לדוגמה, א', ב', ד', ו' בשדה של היום בשבוע כלומר, הימים שני, רביעי, ושישי.
/ משמש לציון מדרגות. לדוגמה, 0/15 בשדה השניות מייצג את הערך 0 עבור השניות, 15, 30 ו-45. ו-5/15 בשדה השניות הן ה-5, 20, 35 ו-50 השניות. אפשר לציין גם / אחרי " . הפעולה הזו שוות ערך ל-0 לפני ה-/. אם מציינים 1/3 בשדה של היום בחודש, המערכת מפעילה כל 3 ימים החל מהיום הראשון. היום בחודש.
L בעל משמעות שונה בכל אחד משני השדות שבהם היא מותרת. L ביום השדה 'חודש' הוא היום האחרון בחודש, כלומר 31 בינואר או יום 28 עבור בשנים לא מעוברות. בשדה של היום בשבוע, L הוא היום האחרון בשבוע, כלומר 7 או SAT. אבל אם משתמשים בו בשדה של היום בשבוע אחרי ערך אחר, פירוש הדבר הוא ביום xxx האחרון בחודש. לדוגמה, 6L פירושו יום שישי האחרון של החודש.
W משמש לציון יום השבוע (שני-שישי) הקרוב ביותר ליום הנתון. לדוגמה, אם לציין 15W בשדה של היום בחודש, פירוש הדבר הוא שיום השבוע הקרוב ביותר עד ה-15 בחודש. כלומר, אם היום ה-15 הוא יום שבת, הטריגר יופעל ביום שישי 14 בחודש. אם 15 הוא יום ראשון, הטריגר יתבצע ביום שני 16 בחודש. אם ה-15 הוא יום שלישי, אז היא תבוצע ביום שלישי, 15 בחודש. לעומת זאת, אם מציינים 1W ליום בחודש, וה-1 הוא יום שבת, הטריגר יתבצע ביום שני ה-3 כי הוא לא 'דילוג' מעבר לגבולות הימים של החודש. ניתן לציין את התו W רק כאשר היום בחודש הוא יום אחד, ולא טווח או רשימת ימים.
# משמש לציון היום ה-n XXX בחודש. לדוגמה, הערך 6#3 ביום השדה 'שבוע' הוא יום שישי השלישי בחודש (יום 6 = שישי ו-#3 = היום השלישי ב בחודש). דוגמאות אחרות: 2#1 = יום שני הראשון של החודש, 4#5 = היום החמישי יום רביעי של החודש.

הנה כמה דוגמאות לביטויי cron (כל הזמנים מפורטים לפי שעון UTC):

ביטוי cron לוח זמנים לביצוע
0 0 12 * * ? 12:00 (בצהריים) מדי יום.
0 15 10 * * ? 2013 10:15 מדי יום במהלך שנת 2013.
0 10,44 14 ? 3 ד' 14:10. וב-14:44 בכל יום רביעי בחודש מרץ.
0 15 10 ? * 6L 2013-2015 10:15 ביום שישי האחרון של כל חודש במהלך השנים 2013, 2014, 2015.
0 15 10 ? * 6#3 10:15 ביום שישי השלישי של כל חודש.

צפייה במשימות מתוזמנות באמצעות ה-API

כדי להציג את כל המשימות המתוזמנות כרגע, צריך לשלוח בקשת GET אל /triggers?orgid={org_name}

לדוגמה:

$ curl -H "Accept:application/json" -X GET \ "http://localhost:8080/v1/mint/triggers?orgid={org_name}" \ -u email:password

הדוגמה הבאה ממחישה את התשובה:

[ {
  "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
},
...
]

אפשר גם לצפות במשימה מתוזמנת ספציפית על ידי שליחת בקשת GET /triggers/{trig_id}, כאשר {trig_id} הוא מזהה המשרה הפעלה, כמו שמתואר בסקירה כללית של משימות מתוזמנות. לדוגמה:

$ curl -X GET \ "http://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT" \ -u email:password

הדוגמה הבאה ממחישה את התשובה:

{
    "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
}

עדכון משימות מתוזמנות באמצעות ה-API

כדי לעדכן משימה מתוזמנת, אפשר לשנות את המאפיינים של הטריגר שלה. לדוגמה, אולי יצטרך לשנות את לוח הזמנים של הביצוע של הטריגר.

במשימות טריגר cron (כלומר, משימות שכוללות ערך של ביטוי cron), תוכלו רק לשנות את הערכים של cronExpression ושל המאפיינים המופעלים. שינויים אחרים הם המערכת מתעלמת ממנו. במשימות שלא מציינות ערך של ביטוי cron, אפשר לשנות מאפיינים אחרים כמו startTime או priority.

כדי לעדכן משימה מתוזמנת, צריך לשלוח בקשת PUT אל /triggers/{trig_id}, כאשר {trig_id} הוא הזיהוי של טריגר המשימה, כפי שמתואר במאמר סקירה כללית של משימות מתוזמנות. כשתבצעו את העדכון, עליכם לציין גוף הבקשה, ההגדרות המעודכנות והמזהה של הטריגר.

לדוגמה, הבקשה הבאה מעדכנת את ביטוי ה-cron של 'תוכנית תעריפים חדשה למפתחים' משימת החידוש תפעל מדי יום בשעה 5:00. זמן UTC:

$ 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

השבתה והפעלה מחדש של משימות מתוזמנות באמצעות ה-API

כדי להשבית משימה מתוזמנת, צריך להגדיר את ערך המאפיין enabled של הטריגר שלה כ- לא נכון. לדוגמה:

$ 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

כדי להפעיל מחדש משימה מושבתת, צריך להגדיר את ערך המאפיין enabled של הטריגר שלה כ- נכון.

השלבים הבאים

מומלץ לבצע מדי פעם סנכרון מחדש עם המונטיזציה בארגון שלך מפתחים, אפליקציות ומוצרים שיצרת באמצעות שירותי Edge API. איך עושים את זה? סנכרון נתוני Apigee Edge עם מונטיזציה.