כיצד לפרוס ממשק API של Node.js ללא שרת עם שער API של AWS?

Kyzd Lprws Mmsq Api Sl Node Js Ll Srt M S R Api Sl Aws



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

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

קרא עוד : תחילת העבודה עם AWS Lambda







מתאר מהיר



מאמר זה ממחיש את ההיבטים הבאים:



מהי מסגרת ללא שרת?

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





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

מהו API?

ממשק API הוא ראשי תיבות של 'ממשק תכנות יישומים'. ההקדמה הרשמית של API כוללת את היותו קבוצה של הגדרות ופרוטוקולים המאפשרים לשני המרכיבים של תוכנה או אפליקציה להחליף מידע שימושי לתקשורת.



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

מהו שער API?

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

מהם הסוגים השונים של API ב-API Gateway?

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

HTTP API: ממשק API זה נמצא בשימוש נרחב בפיתוח אתרים אשר מוגבל לצד הלקוח בלבד. ממשקי API כאלה יכולים להיות מסווגים כפרטיים או ציבוריים.

Rest API: המונח REST מייצג 'ממשק API להעברת מצב ייצוג'. זוהי אחת הגישות הנפוצות ביותר המפרידות בין הקצה הקדמי והחלק האחורי של היישום. ממשקי API של REST הם חסרי מדינה באופיים וגמישים לפיתוח ויישום.

WebSocket API: ממשקי API כאלה משמשים כאשר מעורבת תקשורת שקעים. WebSocket API מאפשר למשתמשים ליצור שקעים לתקשורת דו-כיוונית מלאה בפיתוח אינטרנט. ממשקי API אלה כתובים ב-JavaScript.

כיצד לפרוס ממשק API של Node.js ללא שרת עם שער API?

לפריסה של ממשק API של Node.js ללא שרת עם שער API, נשתמש בדלי S3, פונקציית Lambda ושער API. דלי S3 יכיל את הקוד של האפליקציה. ה-URI הייחודי של הדלי יסופק לפונקציית Lambda כמטפל. שער ה-API יתווסף כטריגר לפונקציית Lambda שתעבד את הקלט של המשתמש ותספק את הפלט המתאים.

להלן השלבים לפריסת API של Node.js ללא Server עם שער ה-API:

שלב 1: צור פונקציית Lambda

כדי ליצור פונקציית Lambda, גש ל- 'למבדה' שירות מ- מסוף ניהול AWS :

למד עוד: 'כיצד ליצור פונקציית Lambda עם Python Runtime' .

בממשק Lambda Function, לחץ על 'צור פונקציה' לַחְצָן:

מממשק Create Function, בחר את ה 'מחבר מאפס' אוֹפְּצִיָה:

הבא מגיע ה 'מידע בסיסי' סָעִיף. בסעיף זה, ספק את השם לפונקציית Lambda ב- 'שם פונקציה' :

הקלק על ה 'צור פונקציה' כפתור הממוקם בתחתית הממשק:

הנה ה פוּנקצִיָה נוצר בְּהַצלָחָה :

שלב 2: צור שער API

השלב הבא הוא יצירת שער API. למטרה זו, גש ל- 'שער API' שירות מ- מסוף ניהול AWS :

גלול מטה את ממשק API Gateway ולחץ על 'לִבנוֹת' אפשרות מה REST API לַחסוֹם:

על 'צור ממשק API' מִמְשָׁק, בחר הבאים אפשרות מודגשת . בזמן שאנחנו בונים א Rest API מאפס, בחרנו באפשרויות הבאות:

בתוך ה הגדרות סעיף באותו ממשק, ספק את השם עבור ה-API ב- 'שם API' שדה טקסט:

הקלק על ה 'צור ממשק API' לַחְצָן:

לאחר יצירת ה-API בהצלחה, לחץ על 'פעולות' לחצן ובחר באפשרויות המודגשות הבאות כדי להגדיר את המשאבים והשיטות של ה-API:

לאחר מכן, ספק את שם ה-API ב- 'שם המשאב' שדה טקסט. בתוך ה נתיב משאבים, משתמשים יכולים לציין את הנתיב של המשאבים. נתיב שצוין זה ישולב לאחר מכן עם השיטות המקוריות לטיפול בבקשות. לחץ על 'צור משאב' לַחְצָן:

לאחר יצירת המשאב, לחץ על 'פעולות' שוב הכרטיסייה ובחר ב- 'צור משאב' שיטה להגדרת שיטות ומשאבים בתוך ה-API:

ספק את השם של 'שם המשאב' שדה ולחץ על 'צור משאב' לַחְצָן:

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

אנחנו רוצים לבדוק את פעולת ה-API שלנו באמצעות ה- קבל בקשה ב-Node.js. לכן, בממשק Methods, נבחר את 'לקבל' בַּקָשָׁה:

לאחר בחירת ה קבל בקשה , הקלק על ה 'חשבון' לחצן לאישור שינויים:

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

לאחר לחיצה על 'להציל' לחצן, תיבת הדו-שיח הבאה תופיע. לחץ על 'בסדר' לַחְצָן:

באופן דומה, צור שיטה אחת נוספת על ידי ביצוע שלבים דומים כפי שפעלנו עבור השיטה הראשונה. משתמשים יכולים ליצור מספר שיטות בתוך API בהתבסס על הדרישות שלהם. לאחר הגדרת כל השיטות, לחץ על 'פעולות' לשונית ובחר את 'פרוס ממשק API' אוֹפְּצִיָה:

פעולה זו תציג את תיבת הדו-שיח הבאה. בתוך ה 'שלב הפריסה' לספק את הפרטים. הבא מגיע ה 'שם במה' שדה לציון שם הבמה. הקלק על ה 'לפרוס' לַחְצָן:

ה ממשק API היה נוצר בהצלחה :

גלול מטה את הממשק ולחץ על 'שמור שינויים' לַחְצָן:

שלב 3: צור את ה-S3 Bucket

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

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

במסוף S3, לחץ על 'צור דלי' אפשרות לתחילת התהליך:

בתוך ה תצורה כללית בסעיף, ספק מזהה ייחודי גלובלי עבור ה-bucket ב- שדה טקסט מודגש :

על ידי שמירה על הגדרות כפי ש בְּרִירַת מֶחדָל , הקלק על ה 'צור דלי' כפתור בתחתית הממשק:

זה יצור את הדלי. כעת, כדי להעלות את הקוד לדלי S3, סיפקנו א קוד פשוט של Node JS ב GitHub מאגר. הורד את הקוד ב- פורמט Zip :

לאחר הורדת ה קובץ Zip , לך ל לוח מחוונים S3 ולבחור את הדלי. בממשק הבא, לחץ על 'העלה' כפתור ו להעלות ה קובץ Zip לדלי:

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

הקש על 'הוסף קבצים' לחצן הממוקם בצד ימין של הממשק, סמוך ל 'הוסף תיקיה' לַחְצָן. לאחר הוספת ה קובץ Zip אל הדלי, הכה על 'העלה' כפתור בתחתית הממשק:

ה קוֹבֶץ היה הועלה בהצלחה :

לאחר מעלה את הקובץ לדלי, לחץ על לְהִתְנַגֵד לצפייה בנכסים:

הקלק על ה 'העתק S3 URI' לַחְצָן. זה יתווסף לפונקציית Lambda:

עבור אל לוח מחוונים למבדה ובחר בפונקציית Lambda:

גלול מטה אל 'קוד' מקטע והקש על 'העלה מ' לַחְצָן. מ ה תפריט נפתח, הקלק על ה 'מיקום אמזון S3' אוֹפְּצִיָה:

הדבק את ה 'S3 URI' בתיבת הדו-שיח המוצגת ולחץ על 'להציל' לַחְצָן:

על ממשק Lambda Function , גלול מטה אל 'הגדרות זמן ריצה' ולחץ על 'לַעֲרוֹך' לַחְצָן:

בתוך ה 'מטפל' בשדה, ערוך את התצורות הבאות. ה 'nodeapi' הוא שם התיקיה שהועלה ל-S3 bucket ו-index.js הוא נקודת הכניסה. לאחר מכן לחץ על 'להציל' לַחְצָן:

שלב 4: אימות

עבור אל שער API מסוף השירות ולחץ על 'API' שֵׁם:

לאחר בחירת ה-API, לחץ על 'שלבים' לחצן בסרגל הצד ולאחר מכן לחץ על שלב הפריסה, למשל, שלב ראשון:

העתק את כתובת אתר ולהפעיל את דוור כלי במכונה המקומית:

ליצור קבל בקשה בתוך ה דוור ותדביק בו את כתובת האתר. לאחר לחיצה על 'לִשְׁלוֹחַ' כפתור, נקבל את התוצאות הבאות:

זה הכל מהמדריך הזה.

סיכום

כדי לפרוס את ה-API של Node.js עם שער ה-API, העלה קוד ל-S3, הוסף אותו כמטפל ו-API כ-trigger ל-Lambda Function. הבקשה היזומה באמצעות הדוור תימסר לפונקציית Lambda דרך ה-API. ליצירת ה-API, השתמש בשירות שער ה-API של AWS. דלי S3 שנוסף כמטפל לפונקציית Lambda יספק את הקוד לעיבוד הבקשה. הפלט יוצג בקונסולת Postman. מאמר זה הוא מדריך שלב אחר שלב להטמעת API של Node.js עם שער API של AWS.