מבוא לטריגרים זמינים להפעלת פונקציית Lambda

Mbw Ltrygrym Zmynym Lhp Lt Pwnqzyyt Lambda



AWS Lambda הוא שירות מדהים מבוסס ענן שחולל מהפכה בעולם ללא שרתים. זוהי למעשה תוכנה כשירות (SaaS) שניתן להגדיר בקלות ובמהירות והיא מועילה לצמצום התקציב הכולל של תשתית הענן שלך. מה שאתה צריך לעשות הוא פשוט לעצב את הקוד שלך ולהפעיל אותו באמצעות פונקציית lambda.

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

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







סוגי קריאות

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



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

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



דרכים שונות להפעיל את למדה

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





הפעל ישירות את פונקציות למבדה

ברוב המקרים, פונקציות lambda מתוכננות להיות מופעלות באמצעות שירותים אחרים, אך ניתן להפעיל אותן ישירות באמצעות מסוף הניהול של AWS, AWS CLI ודרך כתובת האתר של הפונקציה.

מזמין את למבדה ממסוף הניהול

כאשר אתה יוצר פונקציית למבדה כלשהי במסוף ה-AWS שלך, אתה יכול להפעיל אותה בקלות באמצעות אפשרות הפעלת המבחן במסוף. ה מִבְחָן הלחצן זמין תחת קטע הקוד של פונקציית הלמבדה.



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

בדרך זו, ניתן להפעיל את פונקציית lambda ממסוף AWS.

AWS CLI

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

[מוגן באימייל] :~$ aws lambda invoke \
--שם פונקציה < הזן את שם הפונקציה למבדה > \
-- מטען < ערך קלט ל פונקציית למדה > \
--cli-בינארי-פורמט < base64 | raw-in-base64-out > < שם קובץ פלט >

הפונקציה מופעלת בהצלחה ותוכלו לראות זאת גם בפלט.

כתובת אתר של פונקציה

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

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

במקרה שלא צירפת כתובת URL של פונקציה בזמן יצירת פונקציית lambda, תוכל לעשות זאת מאוחר יותר. לשם כך, עליך לעבור ללשונית התצורה, לבחור את כתובת האתר של הפונקציה וללחוץ על צור כתובת URL של פונקציה .

בדרך זו, כתובת ה-URL של הפונקציה נוצרת ומשמשת להפעיל את פונקציית lambda.

הפעל את פונקציות Lambda באמצעות שירותי AWS

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

שער API

זהו שירות AWS שנמצא בשימוש נרחב כדי ליצור ולנהל את ממשקי ה-API במודל היישום שלך. ממשקי API נותנים דרך גמישה מאוד ליצור בקשות או שיחות מחבילת תוכנה אחת לחבילה אחרת שאיננו יכולים לחשוף ישירות ורק רוצים לשמור מאחורי הקלעים.

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

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

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

ישנם שני סוגים של ממשקי API הנתמכים על ידי שער ה-API וניתן להשתמש בהם כדי להפעיל פונקציית למבדה.

ממשקי API של HTTP : הם משמשים ליצירת נקודות קצה HTTP אשר מנותבות לפונקציות למבדה שלך. ממשקי API של HTTP נותנים פחות פונקציונליות והם פחות יקרים לשימוש.

ממשקי API של REST : אם אתה רוצה תכונות נוספות ב-API שלך, אתה חייב ללכת על REST API. ממשקי API אלה יכולים להפעיל את פונקציית lambda ולהשתמש באותן שיטות HTTP, מה שמספק יותר גמישות ועצמאות.

S3 דלי

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

לדוגמה, אתה רוצה לאסוף את המטא נתונים של כל קובץ כאשר הוא מועלה לדלי שלך. לשם כך, אתה מפתח קוד ופורס אותו בפונקציית lambda. עבור הדק למבדה, בחר את הדלי S3. עבור סוג האירוע, בחר לשים חפץ . כך שבכל פעם שמתווסף קובץ חדש לדלי, פונקציית lambda מופעלת והמטא נתונים של האובייקט נאספים ומאוחסנים במיקום היעד כאשר אתה מציין.

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

מאזן עומסים

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

על מנת להוסיף את מאזן העומס של האפליקציה לפונקציית lambda, תחילה עליך ליצור קבוצת יעד ופונקציית lambda מתווספת לאותה קבוצת יעד. כעת, ניתן להוסיף את קבוצת היעד החדשה שנוצרה למאזינים של מאזן העומס של האפליקציה.

CloudFront

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

ניתן להפעיל את פונקציות למבדה באמצעות שירות CloudFront. לשם כך, עליך לפרוס את פונקציית הלמבדה שלך במיקומי קצה ברחבי העולם הידועים בשם [מוגן באימייל]

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

כדי להגדיר זאת, פשוט עבור אל להוסיף טריגר ובחר בשירות CloudFront. שם, תראה את לפרוס ל [מוגן באימייל] אוֹפְּצִיָה.

כעת, אתה רק צריך להשלים את שלבי התצורה ולהתחיל.

יומני CloudWatch

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

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

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

לאחר מכן, בחר את פונקציית הלמבדה הרצויה לך, וכדאי ללכת.

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

EventBridge

Amazon EventBridge (שנודע בעבר בשם CloudWatch Events) הוא שירות AWS המאפשר לך ליצור את כללי האירוע כדי להפעיל שירות AWS ספציפי באירוע ספציפי המתרחש בחשבון AWS.

יש מגוון רחב של כללים שאתה יכול להגדיר עבור שירותי AWS (כמו יצירת מופעים של EC2 או אירועי מסד נתונים של RDS) וכן לשירותי צד שלישי (כגון GitHub push event). ניתן לקשר עוד יותר את הכללים הללו עם שירותים אחרים כגון פונקציות למבדה באופן שכאשר כלל זה מתקיים, הוא מפעיל את פונקציית למבדה.

אם כבר מוגדר כלל EventBridge, אתה יכול בקלות להוסיף את הכלל הזה כטריגר לפונקציית lambda שלך. בחר את EventBridge כטריגר שלך ופשוט ספק את שם הכלל.

כלל קיים נוסף כאן כטריגר, אך תוכל גם ליצור כלל בשלב זה.

DynamoDB

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

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

קינסיס

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

בדיוק סיימת להגדיר את זרם הנתונים של Kinesis שלך כדי להפעיל את פונקציית lambda.

SNS

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

תחילה צור נושא SNS, ולאחר מכן השתמש בו כדי להפעיל את פונקציית הלמבדה שלך.

עליך לבחור את השם של נושא ה-SNS שלך. אין תצורות או הגדרות אחרות.

סיכום

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