AWS למבדה עם ג'אווה

1. הקדמה

AWS למבה הוא שירות מחשוב ללא שרת המסופק על ידי אמזון כדי להפחית את תצורת השרתים, מערכת ההפעלה, מדרגיות וכו '. AWS למבה מסוגלת לבצע קוד ב- AWS ענן.

זה פועל בתגובה לאירועים על משאבי AWS שונים, מה שמפעיל פונקציות AWS Lambda. התמחור הוא תשלום לפי דרכים, מה שאומר שלא נפגיז את כספנו בפונקציות למבדה סרק.

הדרכה זו דורשת חשבון AWS תקף; אתה יכול ליצור אחד כאן.

2. תלות Maven

כדי לאפשר AWS lambda, אנו זקוקים לתלות הבאה בפרויקט שלנו:

 com.amazonaws aws-lambda-java-core 1.1.0 

תלות זו ניתן למצוא במאגר Maven.

אנו זקוקים גם לתוסף Maven Shade כדי לבנות את יישום lambda:

 org.apache.maven.plugins maven-shadow-plugin 2.4.3 חבילת שווא 

3. צור מטפל

במילים פשוטות, כדי להפעיל פונקציה למבדה, עלינו לציין מטפל; ישנן שלוש דרכים ליצור מטפל:

  1. יצירת מנהג MethodHandler
  2. יישום ה- RequestHandler מִמְשָׁק
  3. יישום ה- RequestStreamHandler מִמְשָׁק

בואו נראה כיצד לעשות זאת באמצעות דוגמאות קוד.

3.1. המותאם אישית MethodHandler

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

כמו כן, האופציונלי הֶקשֵׁר האובייקט יאפשר לנו גישה למידע שימושי הזמין בסביבת הביצוע של למבה:

class public LambdaMethodHandler {public String handleRequest (קלט מחרוזת, הקשר הקשר) {context.getLogger (). log ("קלט:" + קלט); להחזיר "שלום עולם -" + קלט; }}

3.2. RequestHandler מִמְשָׁק

אנחנו יכולים גם ליישם את RequestHandler לתוך הכיתה שלנו ולדרוס את handleRequest שיטה אשר תהיה נקודת הכניסה שלנו לבקשות:

מחלקה ציבורית LambdaRequestHandler מיישם את RequestHandler {public String handleRequest (קלט מחרוזת, הקשר הקשר) {context.getLogger (). log ("קלט:" + קלט); להחזיר "שלום עולם -" + קלט; }}

במקרה זה, הקלט יהיה זהה לזה שבדוגמה הראשונה.

3.3. RequestStreamHandler מִמְשָׁק

אנחנו יכולים גם ליישם RequestStreamHandler בכיתה שלנו ופשוט לעקוף את handleRequest שיטה.

ההבדל הוא בכך InputStream, ObjectStream ו הֶקשֵׁר אובייקטים מועברים כפרמטרים:

מחלקה ציבורית LambdaRequestStreamHandler מיישם RequestStreamHandler {public void handleRequest (InputStream inputStream, OutputStream outputStream, הקשר הקשר) {String input = IOUtils.toString (inputStream, "UTF-8"); outputStream.write (("שלום עולם -" + קלט) .getBytes ()); }}

4. בניית קובץ פריסה

עם כל מה שהוגדר, אנו יכולים ליצור את קובץ הפריסה פשוט על ידי הפעלה:

צל חבילה נקי mvn: צל

ה קַנקַן הקובץ ייווצר תחת יַעַד תיקיה.

5. צור פונקציית למבדה באמצעות קונסולת הניהול

היכנס ל- AWS Amazon ואז לחץ על Lambda תחת שירותים. דף זה יציג את רשימת פונקציות הלמבה, שכבר נוצרה.

להלן השלבים הנדרשים ליצירת הלמדה שלנו:

  1. "בחר שרטוט" ואז בחר "פונקציה ריקה ”
  2. "הגדר טריגרים" (במקרה שלנו אין לנו טריגרים או אירועים)
  3. "הגדר פונקציה":
    • שם: ספק MethodHandlerLambda,
    • תיאור: כל מה שמתאר את פונקציית הלמדה שלנו
    • זמן ריצה: בחר java8
    • סוג הזנת קוד וחבילת פונקציות: בחר “העלה קובץ .ZIP ו- Jar " ולחץ על “העלה ” לַחְצָן. בחר את הקובץ המכיל קוד למבדה.
    • תַחַת מטפל ותפקיד של פונקציות למבדה:
      • שם המטפל: ספק שם מטפל בפונקציות למבדה com.baeldung.MethodHandlerLambda :: handleRequest
      • שם תפקיד: אם משתמשים במשאבי AWS אחרים בפונקציית lambda, ספק גישה על ידי יצירת / שימוש בתפקיד קיים והגדר גם את תבנית המדיניות.
    • תַחַת הגדרות מתקדמות:
      • זיכרון: ספק זיכרון שישמש את פונקציית הלמבה שלנו.
      • פסק זמן: בחר זמן לביצוע פונקציית למבדה לכל בקשה.
  4. לאחר שתסיים עם כל הקלטים, לחץ על "הַבָּא" אשר יראה לך לבדוק את התצורה.
  5. לאחר סיום הביקורת, לחץ על “צור פונקציה ”.

6. הפעל את הפונקציה

לאחר יצירת פונקציית lambda AWS, נבדוק אותה על ידי העברת נתונים:

  • לחץ על פונקציית הלמבה שלך מרשימות ואז לחץ על “מִבְחָן" לַחְצָן
  • יופיע חלון קופץ המכיל ערך דמה לשליחת נתונים. עקוף את הנתונים באמצעות "באלדונג"
  • לחץ על "שמור ובדוק ” לַחְצָן

על המסך, אתה יכול לראות את תוצאת ביצוע קטע עם הפלט שהוחזר בהצלחה כ:

"שלום עולם - באלדונג"

7. מסקנה

במאמר מבוא מהיר זה, יצרנו אפליקציית AWS Lambda פשוטה באמצעות Java 8, פרסנו אותה ל- AWS ובדקנו אותה.

קוד המקור המלא של אפליקציית הדוגמה ניתן למצוא באתר Github.


$config[zx-auto] not found$config[zx-overlay] not found