ข้อมูลทั่วไป

คำถาม: AWS Lambda คืออะไร

AWS Lambda ช่วยให้คุณสามารถเรียกใช้โค้ดได้โดยไม่ต้องมีการจัดเตรียมหรือจัดการเซิร์ฟเวอร์ คุณจ่ายเฉพาะเวลาที่คำนวณได้ตามที่คุณใช้เท่านั้น โดยไม่มีค่าใช้จ่ายเมื่อโค้ดของคุณไม่ทำงาน ด้วย Lambda คุณสามารถเรียกใช้โค้ดสำหรับแอปพลิเคชันหรือบริการแบ็คเอนด์เกือบทั้งหมดได้โดยไม่ต้องมีการจัดการใดๆ เพียงอัปโหลดโค้ดของคุณ แล้ว Lambda จะดูแลทุกสิ่งทุกอย่างที่จำเป็นในการเรียกใช้และปรับขนาดโค้ดของคุณด้วยความพร้อมใช้งานขั้นสูง คุณสามารถตั้งค่าโค้ดของคุณให้ใช้งานได้โดยอัตโนมัติจากบริการอื่นๆ ของ AWS หรือเรียกใช้ได้โดยตรงจากเว็บหรือแอปพลิเคชันบนมือถือ

คำถาม: การประมวลผลแบบไร้เซิร์ฟเวอร์คืออะไร

การประมวลผลแบบไร้เซิร์ฟเวอร์ช่วยให้คุณสามารถสร้างและเรียกใช้แอปพลิเคชันและบริการได้โดยไม่ต้องมีเซิร์ฟเวอร์ ด้วยการประมวลผลแบบไร้เซิร์ฟเวอร์ แอปพลิเคชันของคุณยังคงทำงานบนเซิร์ฟเวอร์ แต่ AWS จะเป็นผู้จัดการเซิร์ฟเวอร์ทั้งหมด หัวใจของการประมวลผลแบบไร้เซิร์ฟเวอร์คือ AWS Lambda ซึ่งช่วยให้คุณเรียกใช้โค้ดได้โดยไม่ต้องจัดเตรียมหรือจัดการเซิร์ฟเวอร์ เรียนรู้เพิ่มเติมเกี่ยวกับการประมวลผลแบบไร้เซิร์ฟเวอร์โดยไปที่นี่

คำถาม: เหตุการณ์อะไรที่สามารถเรียกใช้ฟังก์ชัน AWS Lambda ได้

โปรดดูรายชื่อแหล่งเหตุการณ์ได้จากเอกสารประกอบของเรา

คำถาม: ฉันควรใช้ AWS Lambda กับ Amazon EC2 เมื่อใด

AWS Web Services เสนอบริการประมวลผลเพื่อตอบสนองความต้องการหลากหลายรูปแบบ

Amazon EC2 ให้ความยืดหยุ่นกับอินสแตนซ์หลากหลายประเภทและตัวเลือกในการปรับแต่งระบบปฏิบัติการ ระบบเครือข่ายและการตั้งค่าความปลอดภัย รวมถึงชุดซอฟต์แวร์ทั้งหมด ช่วยให้คุณสามารถย้ายแอปพลิเคชันที่มีอยู่ไปยังระบบคลาวด์ได้อย่างง่ายดาย ด้วย Amazon EC2 คุณมีหน้าที่รับผิดชอบในการจัดหากำลังการผลิต ติดตามตรวจสอบสุขภาพและประสิทธิภาพของฟลีต และออกแบบเพื่อรองรับความผิดพลาดและความสามารถในการปรับขนาด AWS Elastic Beanstalk นำเสนอบริการที่ใช้งานง่ายสำหรับการปรับใช้และปรับขนาดแอปพลิเคชันบนเว็บที่คุณรักษาความเป็นเจ้าของไว้และสามารถควบคุมอินสแตนซ์ EC2 สำคัญได้อย่างสมบูรณ์ Amazon EC2 Container Service เป็นบริการจัดการที่ปรับขนาดได้ซึ่งรองรับคอนเทนเนอร์ Docker และช่วยให้คุณสามารถเรียกใช้แอปพลิเคชันที่เผยแพร่ในคลัสเตอร์ที่มีการจัดการของอินสแตนซ์ Amazon EC2

AWS Lambda ช่วยให้สามารถเรียกใช้โค้ดได้ง่ายเพื่อตอบสนองต่อเหตุการณ์ต่างๆ เช่นการเปลี่ยนแปลงบักเก็ต Amazon S3 การอัปเดตตาราง Amazon DynamoDB หรือเหตุการณ์ที่กำหนดเองที่สร้างโดยแอปพลิเคชันหรืออุปกรณ์ของคุณ ด้วย Lambda คุณไม่ต้องจัดเตรียมอินสแตนซ์ของคุณเอง โดย Lambda จะดำเนินกิจกรรมด้านการดำเนินงานและการบริหารทั้งหมดแทนคุณ รวมถึงการจัดเตรียมกำลังการผลิต การดูแลสุขภาพของฟลีต การใช้แพทช์รักษาความปลอดภัยกับทรัพยากรการประมวลผลที่สำคัญ การปรับใช้โค้ด การเรียกใช้ส่วนหน้าของบริการเว็บ และการตรวจสอบและบันทึกโค้ดของคุณ AWS Lambda ให้การปรับขนาดและความพร้อมใช้งานสูงอย่างง่ายดายสำหรับโค้ดของคุณโดยที่คุณไม่ต้องออกแรงเพิ่ม

คำถาม: โค้ดประเภทใดที่สามารถเรียกใช้งาน AWS Lambda

AWS Lambda นำเสนอวิธีที่ง่ายในการทำกิจกรรมต่างๆ ในระบบคลาวด์ ตัวอย่างเช่น คุณสามารถใช้ AWS Lambda เพื่อสร้างแบ็คเอนด์มือถือที่สืบค้นและแปลงข้อมูลจาก Amazon DynamoDB ซึ่งเป็นตัวจัดการที่บีบอัดหรือแปลงอ็อบเจ็กต์ขณะที่อัปโหลดไปยัง Amazon S3 และตรวจสอบและรายงานการเรียก API ที่ทำกับบริการ Amazon Web Service รวมถึงประมวลผลข้อมูลสตรีมมิงแบบไร้เซิร์ฟเวอร์โดยใช้ Amazon Kinesis

คำถาม: AWS Lambda รองรับภาษาอะไรบ้าง

AWS Lambda รองรับโค้ดที่เขียนใน Node.js (JavaScript), Python, Java (รองรับ Java 8) และ C# (.NET Core) และ Go โค้ดของคุณสามารถรวมไลบรารีที่มีอยู่ รวมถึงเนทีฟไลบรารี โปรดอ่านเอกสารประกอบของเราเกี่ยวกับการใช้ Node.js, Python, Java, C# และ Go

คำถาม: ฉันสามารถเข้าถึงโครงสร้างพื้นฐานที่ AWS Lambda ทำงานได้หรือไม่

ไม่ได้ เพราะ AWS Lambda ดำเนินโครงสร้างพื้นฐานการประมวลผลแทนคุณเพื่อให้สามารถตรวจสอบสุขภาพ ใช้แพทช์รักษาความปลอดภัย และดำเนินการซ่อมบำรุงประจำอื่นๆ

คำถาม: AWS Lambda แยกโค้ดของฉันอย่างไร

ฟังก์ชัน AWS Lambda แต่ละตัวทำงานในสภาพแวดล้อมที่เป็นเอกเทศโดยใช้ทรัพยากรและมุมมองระบบไฟล์ของตัวเอง AWS Lambda ใช้เทคนิคเดียวกับ Amazon EC2 เพื่อให้การรักษาความปลอดภัยและการแยกระดับโครงสร้างพื้นฐานและการปฏิบัติงาน

คำถาม: AWS Lambda ทำให้โค้ดของฉันปลอดภัยอย่างไร

AWS Lambda จัดเก็บโค้ดใน Amazon S3 และเข้ารหัสขณะที่ไม่ได้ใช้งาน AWS Lambda ตรวจสอบความถูกต้องเพิ่มเติมในขณะที่โค้ดของคุณใช้งานอยู่

ฟังก์ชัน AWS Lambda

คำถาม: ฟังก์ชัน AWS Lambda คืออะไร

โค้ดที่คุณเรียกใช้บน AWS Lambda จะถูกอัปโหลดเป็น “ฟังก์ชัน Lambda” แต่ละฟังก์ชันมีข้อมูลการกำหนดค่าที่เกี่ยวข้อง เช่น ชื่อ คำอธิบาย จุดเข้า และความต้องการทรัพยากร โค้ดต้องเขียนในรูปแบบ "ไม่มีสถานะ"กล่าวคือ จะถือว่าไม่มีความเกี่ยวข้องกับโครงสร้างพื้นฐานการประมวลผลที่สำคัญ การเข้าถึงระบบไฟล์ในเครื่อง กระบวนการลูก และออบเจ็กต์ที่คล้ายคลึงกันอาจไม่สามารถเข้าถึงเกินอายุการใช้งานของคำขอได้ และการเขียนข้อมูลอย่างต่อเนื่องใดๆ ควรเก็บไว้ใน Amazon S3, Amazon DynamoDB หรือบริการจัดเก็บข้อมูลทางอินเทอร์เน็ตอื่น ฟังก์ชัน Lambda สามารถรวมไลบรารีที่มีอยู่ รวมถึงไลบรารีดั้งเดิม

คำถาม: AWS Lambda จะใช้อินสแตนซ์ฟังก์ชันใหม่อีกครั้งหรือไม่

เพื่อปรับปรุงประสิทธิภาพ AWS Lambda อาจเลือกที่จะเก็บอินสแตนซ์ของฟังก์ชันของคุณไว้และนำมาใช้ใหม่เพื่อรองรับคำขอในภายหลังแทนที่จะสร้างสำเนาใหม่ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่ Lambda ใช้งานอินสแตนซ์ฟังก์ชันใหม่อีกครั้ง โปรดอ่านเอกสารประกอบของเรา โค้ดของคุณไม่ควรคาดเดาว่าสิ่งนี้จะเกิดขึ้นเสมอ

คำถาม: จะทำอย่างไรถ้าฉันต้องการพื้นที่ว่างบนดิสก์สำหรับฟังก์ชัน AWS Lambda

ฟังก์ชัน Lambda แต่ละตัวจะได้รับเนื้อที่ดิสก์ไม่ถาวรไม่เกิน 500MB ในไดเรกทอรี /tmp ของตัวเอง

คำถาม: ทำไมฟังก์ชัน AWS Lambda ต้องเป็นแบบไม่มีสถานะ

การเก็บรักษาฟังก์ชันแบบไม่มีสถานะทำให้ AWS Lambda สามารถเปิดใช้งานสำเนาของฟังก์ชันได้อย่างรวดเร็วตามต้องการเพื่อปรับขนาดให้เหมาะสมกับอัตราเหตุการณ์ที่เข้ามา ขณะที่รูปแบบการเขียนโปรแกรมของ AWS Lambda เป็นแบบไม่มีสถานะ โค้ดของคุณสามารถเข้าถึงข้อมูลแบบมีสถานะได้โดยเรียกใช้บริการเว็บอื่นๆ เช่น Amazon S3 หรือ Amazon DynamoDB

คำถาม: ฉันสามารถใช้เธรดและกระบวนการในโค้ดฟังก์ชัน AWS Lambda ได้หรือไม่

ได้ AWS Lambda ช่วยให้คุณสามารถใช้ภาษาปกติและคุณสมบัติของระบบปฏิบัติการ เช่นการสร้างเธรดและกระบวนการเพิ่มเติม ทรัพยากรที่จัดสรรให้กับฟังก์ชัน Lambda รวมถึงหน่วยความจำ เวลาดำเนินการ ดิสก์ และการใช้งานเครือข่าย ต้องถูกแบ่งกันระหว่างเธรด/กระบวนการทั้งหมดที่ใช้ คุณสามารถเริ่มต้นกระบวนการโดยใช้ภาษาใดก็ได้ที่ Amazon Linux รองรับ

คำถาม: มีข้อจำกัดใดบ้างในการใช้งานโค้ดฟังก์ชัน AWS Lambda

Lambda พยายามที่จะกำหนดข้อจำกัดให้น้อยที่สุดเท่าที่จะเป็นไปได้ในภาษาปกติและกิจกรรมของระบบปฏิบัติการ แต่มีกิจกรรมบางอย่างที่ปิดใช้งานอยู่: การเชื่อมต่อเครือข่ายขาเข้าถูกบล็อกโดย AWS Lambda และสำหรับการเชื่อมต่อขาออกมีเพียงซ็อกเก็ต TCP/IP เท่านั้นที่รองรับ และการเรียกระบบ (แก้จุดบกพร่อง) ptrace จะถูกบล็อก การรับส่งข้อมูลพอร์ต TCP 25 จะถูกบล็อกเช่นกันเพื่อเป็นมาตรการต่อต้านสแปม

คำถาม: ฉันจะสร้างฟังก์ชัน AWS Lambda โดยใช้ Console ของ Lambda ได้อย่างไร

ถ้าคุณใช้ Node.js หรือ Python คุณสามารถเขียนโค้ดสำหรับฟังก์ชันของคุณโดยใช้ตัวแก้ไขโค้ดใน Console ของ AWS Lambda ซึ่งจะช่วยให้คุณสามารถเขียนและทดสอบฟังก์ชันของคุณ และดูผลลัพธ์ของการเรียกใช้ฟังก์ชันในสภาพแวดล้อมแบบ IDE ที่มีประสิทธิภาพ ไปที่ Console เพื่อเริ่มต้นใช้งาน

นอกจากนี้คุณยังสามารถบีบอัดโค้ด (และไลบรารีที่เกี่ยวข้อง) เป็นไฟล์ ZIP และอัปโหลดโดยใช้ Console ของ AWS Lambda จากสภาพแวดล้อมท้องถิ่นของคุณ หรือระบุตำแหน่ง Amazon S3 ที่มีไฟล์ ZIP อยู่ ไฟล์อัปโหลดต้องมีขนาดไม่เกิน 50MB (แบบบีบอัด) คุณสามารถใช้ปลั๊กอิน AWS Eclipse เพื่อเขียนและปรับใช้ฟังก์ชัน Lambda ใน Java ได้ คุณสามารถใช้ปลั๊กอิน Virtual Studio เพื่อเขียนและปรับใช้ฟังก์ชัน Lambda ใน C# และ Node.js ได้

คำถาม: ฉันจะสร้างฟังก์ชัน AWS Lambda โดยใช้ Lambda CLI ได้อย่างไร

คุณสามารถบีบอัดโค้ด (และไลบรารีที่เกี่ยวข้อง) เป็นไฟล์ ZIP และอัปโหลดโดยใช้ AWS CLI จากสภาพแวดล้อมท้องถิ่นของคุณ หรือระบุตำแหน่ง Amazon S3 ที่มีไฟล์ ZIP อยู่ ไฟล์อัปโหลดต้องมีขนาดไม่เกิน 50MB (แบบบีบอัด) ไปที่คู่มือเริ่มต้นใช้งาน Lambda เพื่อเริ่มต้นใช้งาน

คำถาม: AWS Lambda รองรับตัวแปรทางสภาพแวดล้อมหรือไม่

ได้ คุณสามารถสร้างและแก้ไขตัวแปรทางสภาพแวดล้อมได้จาก Console ของ AWS Lambda, CLI หรือ SDK หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับตัวแปรทางสภาพแวดล้อม โปรดดูเอกสารประกอบ

คำถาม: ฉันสามารถจัดเก็บข้อมูลที่สำคัญในตัวแปรทางสภาพแวดล้อมได้หรือไม่

สำหรับข้อมูลที่สำคัญ เช่น รหัสผ่านของฐานข้อมูล เราขอแนะนำให้ใช้การเข้ารหัสฝั่งไคลเอ็นต์โดยใช้ AWS Key Management Service และจัดเก็บค่าผลลัพธ์เป็นข้อมูลที่เข้ารหัสแล้วในตัวแปรสภาพแวดล้อมของคุณ คุณต้องใส่ลอจิกในโค้ดฟังก์ชัน AWS Lambda เพื่อถอดรหัสค่าเหล่านี้

คำถาม: ฉันสามารถจัดการฟังก์ชัน AWS Lambda ได้อย่างไร

คุณสามารถแสดงรายการ ลบ อัปเดต และตรวจสอบฟังก์ชัน Lambda โดยใช้แดชบอร์ดใน Console ของ AWS Lambda นอกจากนี้คุณยังสามารถใช้ AWS CLI และ AWS SDK เพื่อจัดการฟังก์ชัน Lambda ของคุณได้อีกด้วย โปรดไปที่คู่มือนักพัฒนา Lambda เพื่อเรียนรู้เพิ่มเติม

คำถาม: ฉันจะตรวจสอบฟังก์ชัน AWS Lambda ได้อย่างไร

AWS Lambda ตรวจสอบฟังก์ชัน Lambda แทนคุณโดยอัตโนมัติ รายงานเมตริกแบบเรียลไทม์ผ่าน Amazon CloudWatch รวมถึงคำขอทั้งหมด การใช้งานพร้อมกันระดับบัญชีและฟังก์ชัน เวลาแฝง อัตราข้อผิดพลาด และคำขอที่ถูก จำกัด คุณสามารถดูสถิติสำหรับแต่ละฟังก์ชัน Lambda ได้ผ่านทาง Console ของ Amazon CloudWatch หรือผ่าน Console ของ AWS Lambda นอกจากนี้คุณยังสามารถเรียก API ตรวจสอบบุคคลภายนอกในฟังก์ชัน Lambda ได้ด้วย

ไปที่ตัววัดการแก้ปัญหาของ CloudWatch เพื่อเรียนรู้เพิ่มเติม ค่ามาตรฐานสำหรับ AWS Lambda จะนำมาใช้กับตัววัดในตัวของ Lambda

คำถาม: ฉันจะแก้ไขปัญหาข้อผิดพลาดในฟังก์ชัน AWS Lambda ได้อย่างไร

AWS Lambda ทำงานร่วมกับ Amazon CloudWatch Logs โดยอัตโนมัติ โดยจะสร้างกลุ่มบันทึกสำหรับแต่ละฟังก์ชัน Lambda และจัดเตรียมรายการบันทึกเหตุการณ์วงจรชีวิตของแอปพลิเคชันพื้นฐาน รวมถึงการบันทึกทรัพยากรที่ใช้สำหรับการใช้ฟังก์ชันนั้นในแต่ละครั้ง คุณสามารถแทรกบันทึกการเข้าสู่ระบบเพิ่มเติมลงในโค้ดของคุณได้อย่างง่ายดาย นอกจากนี้คุณยังสามารถเรียก API บันทึกการเข้าสู่ระบบของบุคคลภายนอกในฟังก์ชัน Lambda ได้อีกด้วย ไปที่การแก้ไขปัญหาฟังก์ชัน Lambda เพื่อเรียนรู้เพิ่มเติม อัตรา Amazon CloudWatch logs จะได้รับการนำมาใช้

คำถาม: ฉันจะปรับฟังก์ชัน AWS Lambda ได้อย่างไร

คุณไม่จำเป็นต้องปรับขนาดฟังก์ชัน Lambda ของคุณ ซึ่ง AWS Lambda จะปรับขนาดแทนคุณให้เองโดยอัตโนมัติ ทุกครั้งที่ได้รับการแจ้งเตือนเหตุการณ์สำหรับฟังก์ชันของคุณ AWS Lambda จะหาความจุที่ว่างในฟลีตการประมวลผลอย่างรวดเร็วและเรียกใช้โค้ดของคุณ เนื่องจากโค้ดของคุณไม่มีสถานะ AWS Lambda จึงสามารถทำสำเนาฟังก์ชันของคุณได้มากตามต้องการโดยไม่ต้องปรับใช้งานเป็นเวลานานและกำหนดค่าจนล่าช้า ไม่มีข้อจำกัดพื้นฐานในการปรับฟังก์ชัน AWS Lambda จะจัดสรรความจุแบบไดนามิกเพื่อให้ตรงกับอัตราของเหตุการณ์ที่เข้ามา

คำถาม: ทรัพยากรการประมวลผลจะถูกกำหนดให้กับฟังก์ชัน Lambda อย่างไร

ในรูปแบบทรัพยากร AWS Lambda คุณจะเลือกจำนวนหน่วยความจำที่คุณต้องการสำหรับฟังก์ชันของคุณและได้รับการจัดสรรพลังงาน CPU และทรัพยากรอื่นๆ ตามสัดส่วน ตัวอย่างเช่น การเลือกหน่วยความจำ 256 MB จะจัดสรรพลังงาน CPU ให้กับฟังก์ชัน Lambda ของคุณมากกว่าสองเท่าหากเทียบกับการขอหน่วยความจำ 128MB และใช้พลังงาน CPU เพียงครึ่งเดียวหากเทียบกับการเลือกหน่วยความจำ 512MB คุณสามารถตั้งค่าหน่วยความจำของคุณได้เพิ่มขึ้นทีละ 64MB เริ่มต้นจาก 128MB ไปจนถึง 3GB

คำถาม: ฟังก์ชัน AWS Lambda ใช้เวลาดำเนินการเท่าไร

ฟังก์ชัน AWS Lambda สามารถกำหนดค่าให้ทำงานได้สูงสุดถึง 15 นาทีต่อการดำเนินการ คุณสามารถตั้งค่าการหมดเวลาเป็นค่าใดก็ได้ระหว่าง 1 วินาทีและ 15 นาที

คำถาม: ฉันจะถูกเรียกเก็บเงินสำหรับการใช้งานฟังก์ชัน AWS Lambda อย่างไร

AWS Lambda มีค่าใช้จ่ายตามจำนวนครั้งที่ใช้งาน โปรดดูรายละเอียดในหน้าราคา AWS Lambda

คำถาม: AWS Lambda รองรับการสร้างเวอร์ชันใหม่หรือไม่

ได้ โดยค่าเริ่มต้นแล้ว ฟังก์ชัน AWS Lambda แต่ละอันจะมีโค้ดเวอร์ชันปัจจุบันอยู่แล้ว ไคลเอ็นต์ของฟังก์ชัน Lambda ของคุณสามารถเรียกใช้เวอร์ชันเฉพาะหรือรับการติดตั้งล่าสุดได้ โปรดอ่านเอกสารเกี่ยวกับการสร้างเวอร์ชันใหม่ของฟังก์ชัน Lambda

คำถาม: ฟังก์ชัน AWS Lambda ของฉันจะพร้อมเรียกใช้งานได้เมื่อไหร่หลังจากอัปโหลดโค้ดแล้ว

เวลาในการปรับใช้อาจแตกต่างกันไปตามขนาดโค้ดของคุณ แต่ฟังก์ชัน AWS Lambda โดยทั่วไปจะพร้อมใช้งานภายในไม่กี่วินาทีหลังจากอัปโหลด

คำถาม: ฉันสามารถใช้เวอร์ชันไลบรารีของตัวเองที่รองรับได้หรือไม่

ได้ คุณสามารถรวมไลบรารีของคุณเอง (รวมถึง AWS SDK) เพื่อใช้เวอร์ชันอื่นนอกเหนือจากค่าเริ่มต้นของ AWS Lambda

ใช้ AWS Lambda เพื่อประมวลผลเหตุการณ์ AWS

คำถาม: แหล่งเหตุการณ์คืออะไร

แหล่งเหตุการณ์คือบริการของ AWS หรือแอปพลิเคชันที่นักพัฒนาสร้างขึ้นซึ่งสร้างเหตุการณ์ที่เรียกใช้ฟังก์ชัน AWS Lambda เพื่อใช้งาน บริการบางอย่างเผยแพร่เหตุการณ์เหล่านี้ไปยัง Lambda ด้วยการเรียกใช้ฟังก์ชันระบบคลาวด์โดยตรง (ยกตัวอย่างเช่น Amazon S3) Lambda ยังสามารถสำรวจทรัพยากรในบริการอื่นๆ ที่ไม่ได้เผยแพร่เหตุการณ์ไปยัง Lambda ยกตัวอย่างเช่น Lambda สามารถดึงบันทึกจากสตรีม Amazon Kinesis หรือคิว Amazon SQS และเรียกใช้ฟังก์ชัน Lambda สำหรับแต่ละข้อความที่ได้รับมา

บริการอื่นๆ อีกมากมายเช่น AWS CloudTrail สามารถทำหน้าที่เป็นแหล่งข้อมูลเหตุการณ์ได้โดยเข้าสู่ระบบ Amazon S3 และใช้การแจ้งเตือนบัคเก็ต S3 เพื่อเรียกใช้ฟังก์ชัน AWS Lambda

คำถาม: แหล่งเหตุการณ์ใดที่สามารถใช้กับ AWS Lambda ได้

โปรดดูรายชื่อแหล่งเหตุการณ์ได้จากเอกสารประกอบของเรา

คำถาม: เหตุการณ์จะแสดงผลใน AWS Lambda อย่างไร

เหตุการณ์ถูกส่งผ่านไปยังฟังก์ชัน Lambda เป็นพารามิเตอร์อินพุตเหตุการณ์ สำหรับแหล่งเหตุการณ์ที่เหตุการณ์มาถึงเป็นชุดเช่น Amazon SQS, Amazon Kinesis และสตรีม Amazon DynamoDB พารามิเตอร์เหตุการณ์อาจมีเหตุการณ์หลายเหตุการณ์ในการเรียกหนึ่งครั้งซึ่งขึ้นอยู่กับขนาดแบทช์ที่คุณร้องขอ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแจ้งเตือนเหตุการณ์ Amazon S3 โปรดไปที่การกำหนดค่าการแจ้งเตือนเหตุการณ์ Amazon S3 หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสตรีม Amazon DynamoDB โปรดไปที่คู่มือนักพัฒนา DynamoDB Stream หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเรียกใช้ฟังก์ชัน Lambda โดยใช้ Amazon SNS โปรดไปที่คู่มือนักพัฒนา Amazon SNS สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเหตุการณ์ Amazon Cognito โปรดไปที่ Amazon Cognito สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบันทึก AWS CloudTrail และการตรวจสอบการเรียกใช้งาน API ในบริการของ AWS โปรดดูที่ AWS CloudTrail

คำถาม: ฉันจะทำให้ฟังก์ชัน AWS Lambda ตอบสนองต่อการเปลี่ยนแปลงในบัคเก็ต Amazon S3 ได้อย่างไร

จาก Console ของ AWS Lambda คุณสามารถเลือกฟังก์ชันและเชื่อมโยงกับการแจ้งเตือนจากบัคเก็ต Amazon S3 หรือคุณสามารถใช้ Console ของ Amazon S3 และกำหนดค่าการแจ้งเตือนของบัคเก็ตเพื่อส่งไปยังฟังก์ชัน AWS Lambda ของคุณ ฟังก์ชันการทำงานแบบเดียวกันนี้ยังสามารถใช้ได้ผ่าน AWS SDK และ CLI

คำถาม: ฉันจะทำให้ฟังก์ชัน AWS Lambda ตอบสนองต่อการอัปเดตในตาราง Amazon DynamoDB ได้อย่างไร

คุณสามารถทริกเกอร์ฟังก์ชัน Lambda เมื่อมีการอัปเดตตาราง DynamoDB โดยการสมัครฟังก์ชัน Lambda กับสตรีม DynamoDB ที่เกี่ยวข้องกับตาราง คุณสามารถเชื่อมโยงสตรีม DynamoDB กับฟังก์ชัน Lambda โดยใช้ Console ของ Amazon DynamoDB, Console ของ AWS Lambda หรือ registerEventSource API ของ Lambda

คำถาม: ฉันจะใช้ฟังก์ชัน AWS Lambda เพื่อประมวลผลบันทึกในสตรีม Amazon Kinesis ได้อย่างไร

จาก Console ของ AWS Lambda คุณสามารถเลือกฟังก์ชัน Lambda และเชื่อมโยงกับสตรีม Amazon Kinesis ที่เป็นของบัญชีเดียวกันได้ ฟังก์ชันการทำงานแบบเดียวกันนี้ยังสามารถใช้ได้ผ่าน AWS SDK และ CLI

คำถาม: AWS Lambda ประมวลผลข้อมูลจาก Amazon Kinesis Streams และสตรีม Amazon DynamoDB ได้อย่างไร

บันทึก Amazon Kinesis และ DynamoDB ที่ถูกส่งไปยังฟังก์ชัน AWS Lambda ของคุณจะได้รับการจัดลำดับอย่างเคร่งครัดต่อส่วน นั่นหมายความว่าถ้าคุณใส่บันทึกสองชิ้นลงในส่วนเดียวกัน Lambda จะรับประกันว่าฟังก์ชัน Lambda ของคุณจะถูกเรียกใช้งานสำเร็จด้วยบันทึกแรกก่อนที่จะถูกเรียกใช้กับบันทึกที่สอง หากการเรียกบันทึกหนึ่งครั้งหมดเวลา ถูกจำกัด หรือพบข้อผิดพลาดอื่นๆ Lambda จะลองอีกครั้งจนกว่าจะสำเร็จ (หรือบันทึกครบกำหนดหมดอายุใน 24 ชั่วโมง) ก่อนที่จะย้ายไปยังบันทึกถัดไป ไม่มีการรับประกันการจัดลำดับบันทึกในส่วนต่างๆ และการประมวลผลแต่ละส่วนจะเกิดขึ้นแบบคู่ขนาน

คำถาม: ฉันจะใช้ฟังก์ชัน AWS Lambda เพื่อตอบสนองต่อการแจ้งเตือนที่ส่งโดย Amazon Simple Email Service (SES) ได้อย่างไร

จาก Console ของ AWS Lambda คุณสามารถเลือกฟังก์ชัน Lambda และเชื่อมโยงกับหัวข้อ Amazon SNS ฟังก์ชันการทำงานแบบเดียวกันนี้ยังสามารถใช้ได้ผ่าน AWS SDK และ CLI

คำถาม: ฉันจะใช้ฟังก์ชัน AWS Lambda เพื่อตอบสนองต่ออีเมลที่ส่งโดย Amazon Simple Email Service (SES) ได้อย่างไร

จาก Console ของ Amazon SES คุณสามารถตั้งค่ากฎการรับเพื่อให้ Amazon SES ส่งข้อความของคุณไปยังฟังก์ชัน AWS Lambda ได้ ฟังก์ชันการทำงานเดียวกันนี้สามารถใช้งานได้ผ่าน AWS SDK และ CLI

คำถาม: ฉันจะใช้ฟังก์ชัน AWS Lambda เพื่อตอบสนองต่อการแจ้งเตือน Amazon CloudWatch ได้อย่างไร

อันดับแรก ให้กำหนดค่าการแจ้งเตือนเพื่อส่งการแจ้งเตือน Amazon SNS จากนั้นจาก Console ของ AWS Lambda เลือกฟังก์ชัน Lambda และเชื่อมโยงกับหัวข้อ Amazon SNS นั้น ดูคู่มือนักพัฒนา Amazon CloudWatch สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าการแจ้งเตือน Amazon CloudWatch

คำถาม: ฉันจะใช้ฟังก์ชัน AWS Lambda เพื่อตอบสนองต่อการเปลี่ยนแปลงข้อมูลผู้ใช้หรืออุปกรณ์ที่ Amazon Cognito จัดการได้อย่างไร

จาก Console ของ AWS Lambda คุณสามารถเลือกฟังก์ชันที่จะเรียกใช้เมื่อชุดข้อมูลที่เกี่ยวข้องกับพูลข้อมูลประจำตัว Amazon Cognito ได้รับการซิงโครไนซ์ ฟังก์ชันการทำงานแบบเดียวกันนี้ยังสามารถใช้ได้ผ่าน AWS SDK และ CLI ไปที่ Amazon Cognito เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Amazon Cognito เพื่อแชร์และซิงค์ข้อมูลผ่านอุปกรณ์ของผู้ใช้

คำถาม: แอปพลิเคชันของฉันสามารถเรียกใช้ฟังก์ชัน AWS Lambda โดยตรงได้อย่างไร

คุณสามารถเรียกใช้ฟังก์ชัน Lambda โดยใช้เหตุการณ์ที่กำหนดเองผ่านทาง API เรียกใช้ AWS Lambda เฉพาะเจ้าของฟังก์ชันหรือบัญชี AWS อื่นที่เจ้าของอนุญาตได้เท่านั้นที่จะสามารถเรียกใช้ฟังก์ชันได้ โปรดไปที่คู่มือนักพัฒนา Lambda เพื่อเรียนรู้เพิ่มเติม

คำถาม: การเรียกใช้ฟังก์ชัน AWS Lambda เพื่อตอบสนองต่อเหตุการณ์มีเวลาแฝงเท่าใด

AWS Lambda ออกแบบมาเพื่อประมวลผลเหตุการณ์ภายในมิลลิวินาที เวลาแฝงจะสูงขึ้นทันทีหลังจากที่ฟังก์ชัน Lambda ได้รับการสร้าง อัปเดต หรือหากไม่ได้ใช้งานเมื่อเร็วๆ นี้

คำถาม: ฉันจะสร้างแบ็คเอนด์มือถือโดยใช้ AWS Lambda ได้อย่างไร

คุณอัปโหลดโค้ดที่ต้องการให้ AWS Lambda ดำเนินการ จากนั้นเรียกใช้งานจากแอปมือถือโดยใช้ AWS Lambda SDK ที่รวมอยู่ใน AWS Mobile SDK คุณสามารถเรียกใช้ทั้งแบบทางตรง (ซิงโครนัส) เพื่อดึงหรือตรวจสอบข้อมูลแบบเรียลไทม์เช่นเดียวกับแบบอะซิงโครนัส นอกจากนี้คุณยังสามารถกำหนด API เองโดยใช้ Amazon API Gateway และเรียกใช้ฟังก์ชัน Lambda ผ่านทางไคลเอ็นต์ที่รองรับ REST หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ AWS Mobile SDK โปรดไปที่หน้า AWS Mobile SDK หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Amazon API Gateway โปรดไปที่หน้า Amazon API Gateway

คำถาม: ฉันจะเรียกฟังก์ชัน AWS Lambda ผ่าน HTTPS ได้อย่างไร

คุณสามารถเรียกใช้ฟังก์ชัน Lambda ผ่าน HTTPS ได้โดยการกำหนด RESTful API เองโดยใช้ Amazon API Gateway ซึ่งจะช่วยมอบตำแหน่งข้อมูลสำหรับฟังก์ชันของคุณเพื่อตอบสนองต่อการเรียกใช้งาน REST เช่น GET, PUT และ POST อ่านเพิ่มเติมเกี่ยวกับการใช้ AWS Lambda กับ Amazon API Gateway

คำถาม: ฟังก์ชัน AWS Lambda ของฉันสามารถกำหนดลักษณะการทำงานให้กับอุปกรณ์และแอปสร้างคำขอได้อย่างไร

เมื่อเรียกผ่าน AWS Mobile SDK ฟังก์ชัน AWS Lambda จะได้รับข้อมูลเชิงลึกเกี่ยวกับอุปกรณ์และแอปพลิเคชันโดยอัตโนมัติซึ่งจะเรียกผ่านออบเจ็กต์ 'context'

คำถาม: ฟังก์ชัน AWS Lambda ของฉันสามารถปรับเปลี่ยนพฤติกรรมตามข้อมูลประจำตัวผู้ใช้ปลายทางของแอปพลิเคชันได้อย่างไร

เมื่อแอปใช้ข้อมูลประจำตัว Amazon Cognito ผู้ใช้ปลายทางสามารถรับรองความถูกต้องของตัวเองโดยใช้ผู้ให้บริการเข้าสู่ระบบแบบสาธารณะที่หลากหลายเช่น Amazon, Facebook, Google และบริการอื่นๆ ที่รองรับ OpenID Connect ข้อมูลประจำตัวผู้ใช้จะถูกส่งต่อโดยอัตโนมัติและปลอดภัยไปยังฟังก์ชัน Lambda ของคุณในรูปแบบของรหัส Amazon Cognito เพื่อให้สามารถเข้าถึงข้อมูลผู้ใช้จาก Amazon Cognito หรือเป็นกุญแจสำคัญในการจัดเก็บและดึงข้อมูลใน Amazon DynamoDB หรือบริการเว็บอื่นๆ

คำถาม: ฉันจะสร้างทักษะ Alexa โดยใช้ AWS Lambda ได้อย่างไร

AWS Lambda ได้รับการรวมเข้ากับ Alexa Skills Kit ซึ่งเป็นคอลเลกชันของ API แบบบริการตนเอง เครื่องมือ เอกสารประกอบ และตัวอย่างโค้ดที่ช่วยให้คุณสามารถสร้างความสามารถ (หรือ "ทักษะ") ที่ขับเคลื่อนด้วยเสียงสำหรับ Alexa ได้ คุณเพียงอัปโหลดโค้ดฟังก์ชัน Lambda สำหรับทักษะใหม่ของ Alexa ที่คุณสร้างขึ้น และ AWS Lambda จะจัดการในส่วนที่เหลือ ซึ่งก็คือการเรียกใช้โค้ดเพื่อตอบสนองต่อการโต้ตอบด้วยเสียงของ Alexa และจัดการทรัพยากรการประมวลผลโดยอัตโนมัติแทนคุณ อ่านข้อมูลเพิ่มเติมได้จากเอกสารประกอบ Amazon Skills Kit

คำถาม: จะเกิดอะไรขึ้นถ้าฟังก์ชันของฉันผิดพลาดขณะประมวลผลเหตุการณ์

สำหรับการแจ้งเตือนบัคเก็ต Amazon S3 และเหตุการณ์ที่กำหนดเอง AWS Lambda จะพยายามเรียกใช้ฟังก์ชันของคุณสามครั้งในกรณีที่มีข้อผิดพลาดในโค้ดของคุณหรือถ้าคุณใช้เกินขีดจำกัดของบริการหรือทรัพยากร

สำหรับแหล่งเหตุการณ์ตามคำสั่งที่ AWS Lambda ทำงานแทนคุณเช่นสตรีม Amazon DynamoDB และ Amazon Kinesis Streams นั้น Lambda จะพยายามดำเนินการในกรณีที่เกิดข้อผิดพลาดของโค้ดนักพัฒนาต่อไปจนกว่าข้อมูลจะหมดอายุ คุณสามารถติดตามความคืบหน้าผ่าน Console ของ Amazon Kinesis และ Amazon DynamoDB และผ่านทางตัววัด Amazon CloudWatch ที่ AWS Lambda สร้างขึ้นสำหรับฟังก์ชันของคุณ นอกจากนี้คุณยังสามารถตั้งค่าการแจ้งเตือน Amazon CloudWatch ตามข้อผิดพลาดหรืออัตราการควบคุมการทำงาน

ใช้ AWS Lambda เพื่อสร้างแอปพลิเคชัน

คำถาม: แอปพลิเคชันแบบไร้เซิร์ฟเวอร์คืออะไร

แอปพลิเคชันที่ใช้ Lambda (เรียกอีกอย่างว่าแอปพลิเคชันไร้เซิร์ฟเวอร์) ประกอบด้วยฟังก์ชันที่เรียกใช้โดยเหตุการณ์ แอปพลิเคชันไร้เซิร์ฟเวอร์โดยทั่วไปประกอบด้วยหนึ่งหรือหลายฟังก์ชันที่เรียกใช้โดยเหตุการณ์ต่างๆ เช่นการอัปโหลดออบเจ็กต์ไปยัง Amazon S3, การแจ้งเตือน Amazon SNS หรือการดำเนินการ API ฟังก์ชันเหล่านี้สามารถทำงานได้เองหรือใช้ประโยชน์จากทรัพยากรอื่นๆ เช่นตาราง DynamoDB หรือบัคเก็ต Amazon S3 แอปพลิเคชันไร้เซิร์ฟเวอร์แบบพื้นฐานที่สุดคือฟังก์ชัน

คำถาม: ฉันจะปรับใช้และจัดการแอปพลิเคชันไร้เซิร์ฟเวอร์ได้อย่างไร

คุณสามารถปรับใช้และจัดการแอปพลิเคชันไร้เซิร์ฟเวอร์โดยใช้ AWS Serverless Application Model (AWS SAM) AWS SAM เป็นข้อกำหนดที่กำหนดกฎสำหรับการแสดงแอปพลิเคชันไร้เซิร์ฟเวอร์บน AWS ข้อกำหนดนี้สอดคล้องกับรูปแบบที่ใช้โดย AWS CloudFormation ในปัจจุบนและได้รับการรองรับแบบเนทีฟภายใน AWS CloudFormation ในฐานะชุดของประเภททรัพยากร (เรียกว่า "ทรัพยากรไร้เซิร์ฟเวอร์") ทรัพยากรเหล่านี้ทำให้ลูกค้า AWS สามารถใช้งาน CloudFormation ได้ง่ายขึ้นเพื่อกำหนดค่าและปรับใช้แอปพลิเคชันไร้เซิร์ฟเวอร์โดยใช้ CloudFormation API ที่มีอยู่

คำถาม: ฉันจะค้นพบแอปพลิเคชันไร้เซิร์ฟเวอร์ที่พัฒนาขึ้นโดยชุมชน AWS ได้อย่างไร

คุณสามารถเลือกจากคอลเลกชันของแอปพลิเคชันไร้เซิร์ฟเวอร์ซึ่งเผยแพร่โดยนักพัฒนา บริษัท และคู่ค้าในชุมชน AWS ด้วย AWS Serverless Application Repository หลังจากค้นหาแอปพลิเคชันแล้ว คุณสามารถกำหนดค่าและใช้งานได้โดยตรงจาก Console ของ Lambda

คำถาม: ฉันจะติดตั้งแอปพลิเคชันไร้เซิร์ฟเวอร์โดยอัตโนมัติได้อย่างไร

คุณสามารถดำเนินการเผยแพร่แอปพลิเคชันไร้เซิร์ฟเวอร์ของคุณโดยอัตโนมัติโดยใช้ AWS CodePipeline และ AWS CodeDeploy CodePipeline เป็นบริการจัดส่งแบบต่อเนื่องที่ช่วยให้คุณสามารถจำลอง แสดงภาพ และดำเนินการขั้นตอนต่างๆ ที่จำเป็นสำหรับการเผยแพร่แอปพลิเคชันไร้เซิร์ฟเวอร์ของคุณโดยอัตโนมัติ CodeDeploy มีกลไกการปรับใช้ระบบอัตโนมัติสำหรับแอปพลิเคชันที่ใช้ Lambda CodeDeploy ช่วยให้คุณสามารถปรับแต่งการใช้งานได้ตามวิธีปฏิบัติที่ดีที่สุดที่ได้รับการยอมรับเช่นการใช้ Canary และการปรับใช้โดยตรง และช่วยให้คุณสร้างกรอบที่จำเป็นเพื่อตรวจสอบว่าโค้ดใหม่ที่มีการใช้งานนั้นปลอดภัย มั่นคง และพร้อมที่จะปล่อยสู่กระบวนการผลิตอย่างเต็มที่

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ CI / CD ไร้เซิร์ฟเวอร์ โปรดไปที่เอกสารประกอบของเรา

คำถาม: ฉันจะเริ่มต้นสร้างแอปพลิเคชันไร้เซิร์ฟเวอร์ได้อย่างไร

ไปที่ Console ของ AWS Lambda และดาวน์โหลดพิมพ์เขียวของเราแบบใดแบบหนึ่งเพื่อเริ่มต้น ไฟล์ที่คุณดาวน์โหลดจะมีไฟล์ AWS SAM (ซึ่งกำหนดทรัพยากร AWS ในแอปพลิเคชันของคุณ) และไฟล์ .ZIP (ซึ่งรวมถึงโค้ดฟังก์ชันของคุณ) จากนั้นคุณสามารถใช้คำสั่ง AWS CloudFormation เพื่อจัดแพคเกจและปรับใช้แอปพลิเคชันไร้เซิร์ฟเวอร์ที่คุณเพิ่งดาวน์โหลดมา สำหรับรายละเอียดเพิ่มเติม โปรดไปที่เอกสารประกอบของเรา

คำถาม: ฉันจะประสานงานการเรียกใช้ระหว่างหลายฟังก์ชัน AWS Lambda ได้อย่างไร

คุณสามารถใช้ AWS Step Functions เพื่อประสานงานฟังก์ชัน AWS Lambda ชุดต่างๆ ตามลำดับที่กำหนด คุณสามารถเรียกใช้ฟังก์ชัน Lambda หลายๆ แบบตามลำดับ ส่งผ่านข้อมูลจากที่หนึ่งไปยังอีกที่ และ/หรือแบบขนาน และ Step Functions จะรักษาสถานะไว้ในระหว่างการดำเนินการสำหรับคุณ

คำถาม: ฉันจะแก้ไขปัญหาแอปพลิเคชันไร้เซิร์ฟเวอร์ได้อย่างไร

คุณสามารถเปิดใช้งานฟังก์ชัน Lambda ของคุณสำหรับการติดตามด้วย AWS X-Ray โดยเพิ่มสิทธิ์ X-Ray ในบทบาทการปฏิบัติงานของ Lambda และเปลี่ยน "โหมดการสืบค้นกลับ" ของฟังก์ชันเป็น "ใช้งานได้" เมื่อ X-Ray เปิดใช้งานสำหรับฟังก์ชัน Lambda ของคุณ AWS Lambda จะส่งข้อมูลการสืบค้นกลับไปยัง X-Ray เกี่ยวกับค่าใช้จ่ายบริการของ Lambda ที่เกิดขึ้นเมื่อเรียกใช้ฟังก์ชันของคุณ ซึ่งจะช่วยให้ข้อมูลเชิงลึกแก่คุณเช่นค่าใช้จ่ายบริการ Lambda เวลาเริ่มทำงาน และเวลาการทำงานของฟังก์ชัน นอกจากนี้คุณยังสามารถใช้ X-Ray SDK ในแพคเกจการติดตั้ง Lambda ของคุณเพื่อสร้างกลุ่มการติดตาม อธิบายร่องรอย หรือดูส่วนการติดตามสำหรับการเรียกดาวน์สตรีมจากฟังก์ชัน Lambda ของคุณ X-Ray SDK มีให้บริการแล้วสำหรับ Node.js และ Java ไปที่การแก้ไขปัญหาแอปพลิเคชันใช้งาน Lambda เพื่อเรียนรู้เพิ่มเติม จะใช้อัตรา AWS X-Ray

คำถาม: AWS SAM ได้รับสิทธิ์อย่างไร

ข้อกำหนดนี้เป็นโอเพนซอร์สภายใต้ Apache 2.0 ซึ่งช่วยให้คุณและผู้อื่นสามารถนำ AWS SAM มาใช้ในการสร้างบิลด์ การปรับใช้ เครื่องมือการตรวจสอบและการจัดการที่มีสิทธิ์ใช้งานเชิงพาณิชย์ คุณสามารถเข้าถึงพื้นที่เก็บข้อมูล AWS SAM ได้ที่ GitHub ที่นี่

Lambda@Edge

คำถาม: Lambda@Edge คืออะไร

Lambda@Edge ให้คุณเรียกใช้โค้ดได้ที่สถานที่ตั้ง Edge ของ AWS ทั่วโลกโดยไม่ต้องจัดสรรหรือจัดการเซิร์ฟเวอร์ ทำให้ตอบสนองต่อผู้ใช้ปลายทางได้ด้วยเครือข่ายที่มีเวลาแฝงต่ำ เพียงคุณอัปโหลดโค้ด Node.js ไปยัง AWS Lambda และกำหนดค่าฟังก์ชันของคุณให้สามารถเรียกใช้เพื่อตอบสนองต่อคำขอ Amazon CloudFront (เช่น เมื่อได้รับคำขอจากผู้ชม เมื่อส่งต่อหรือรับคำขอกลับมาจากต้นทาง และก่อนที่จะตอบสนองกลับไปยังผู้ใช้ปลายทาง) จากนั้นโค้ดจะพร้อมใช้งานใน AWS ทุกจุดเมื่อได้รับคำขอเนื้อหาและปรับตามปริมาณคำขอ CloudFront ทั่วโลก เรียนรู้เพิ่มเติมได้ในเอกสารประกอบของเรา

คำถาม: ฉันจะใช้ Lambda@Edge ได้อย่างไร

เมื่อต้องการใช้ Lambda@Edge คุณเพียงอัปโหลดโค้ดของคุณไปที่ AWS Lambda และเชื่อมโยงเวอร์ชันฟังก์ชันที่จะเรียกใช้เพื่อตอบสนองคำขอ Amazon CloudFront โค้ดของคุณต้องเป็นไปตาม Service Limits Lambda@Edge Lambda@Edge รองรับเฉพาะ Node.js สำหรับคำขอร้องทั่วโลกโดยเหตุการณ์ CloudFront ในขณะนี้ เรียนรู้เพิ่มเติมได้ในเอกสารประกอบของเรา

คำถาม: ฉันควรใช้ Lambda@Edge เมื่อใด

Lambda@Edge เหมาะสำหรับกรณีใช้งานที่มีความละเอียดอ่อนเวลาแฝงที่ผู้ชมปลายทางของคุณได้รับการเผยแพร่ไปทั่วโลก ข้อมูลทั้งหมดที่คุณต้องการในการตัดสินใจมีอยู่ใน CloudFront Edge ภายในฟังก์ชันและคำขอ ซึ่งหมายความว่ากรณีใช้งานที่คุณตัดสินใจวิธีการให้บริการเนื้อหาตามลักษณะของผู้ใช้ (เช่น ตำแหน่ง อุปกรณ์ไคลเอ็นต์ ฯลฯ) จะสามารถดำเนินการและให้บริการใกล้กับผู้ใช้ของคุณโดยไม่ต้องถูกส่งกลับไปที่เซิร์ฟเวอร์ส่วนกลาง

คำถาม: ฉันสามารถปรับใช้ฟังก์ชัน Lambda ที่มีอยู่สำหรับคำขอร้องทั่วโลกได้หรือไม่

คุณสามารถเชื่อมโยงฟังก์ชัน Lambda ที่มีอยู่กับเหตุการณ์ CloudFront สำหรับคำขอร้องทั่วโลกหากฟังก์ชันตอบสนองข้อกำหนดและข้อจำกัดด้านบริการ Lambda@Edge อ่านเพิ่มเติมเกี่ยวกับการอัปเดตคุณสมบัติการทำงานของคุณได้ที่นี่

คำถาม: เหตุการณ์ Amazon CloudFront ใดบ้างที่สามารถเรียกใช้ฟังก์ชันของฉันได้

ฟังก์ชันของคุณจะเรียกใช้งานโดยอัตโนมัติเพื่อตอบสนองเหตุการณ์ของ Amazon CloudFront ต่อไปนี้:

  • คำขอจากผู้ชม – เหตุการณ์นี้เกิดขึ้นเมื่อผู้ใช้ปลายทางหรืออุปกรณ์บนอินเทอร์เน็ตส่งคำขอ HTTP(S) ไปยัง CloudFront และคำขอดังกล่าวไปถึงสถานที่ตั้ง Edge ที่อยู่ใกล้ผู้ใช้รายนั้นมากที่สุด
  • การตอบสนองจากผู้ชม – เหตุการณ์นี้เกิดขึ้นเมื่อเซิร์ฟเวอร์ CloudFront ที่ Edge พร้อมที่จะตอบสนองต่อผู้ใช้ปลายทางหรืออุปกรณ์ที่ส่งคำขอ
  • คำขอจากต้นทาง – เหตุการณ์นี้เกิดขึ้นเมื่อเซิร์ฟเวอร์ CloudFront ที่ Edge ไม่มีออบเจ็กต์ที่ร้องขออยู่ในแคช และคำขอจากผู้ชมก็พร้อมที่จะถูกส่งไปยังเว็บเซิร์ฟเวอร์แบ็คเอนด์ต้นทางของคุณ (เช่น Amazon EC2 หรือ Application Load Balancer หรือ Amazon S3)
  • การตอบสนองจากต้นทาง – เหตุการณ์นี้เกิดขึ้นเมื่อเซิร์ฟเวอร์ CloudFront ที่ Edge ได้รับการตอบสนองจากเว็บเซิร์ฟเวอร์แบ็กเอนด์ต้นทางของคุณ

คำถาม: AWS Lambda@Edge แตกต่างจากการใช้ AWS Lambda เบื้องหลัง Amazon API Gateway อย่างไร

ความแตกต่างคือ API Gateway และ Lambda เป็นบริการระดับภูมิภาค การใช้ Lambda@Edge และ Amazon CloudFront ช่วยให้คุณสามารถประมวลผลลอจิกได้ใน AWS หลายตำแหน่งตามจุดที่ผู้ชมปลายทางของคุณอยู่

ความสามารถในการปรับขนาดและความพร้อมใช้งาน

คำถาม: ฟังก์ชัน AWS Lambda พร้อมใช้งานอย่างไร

AWS Lambda ได้รับการออกแบบมาเพื่อใช้การจำลองแบบและความซ้ำซ้อนเพื่อให้มีความพร้อมใช้งานสูงสำหรับทั้งบริการและฟังก์ชัน Lambda ที่ดำเนินการ ไม่มีกรอบการบำรุงรักษาหรือการหยุดทำงานที่กำหนดไว้สำหรับทั้งสองระบบ

คำถาม: ฟังก์ชัน AWS Lambda ยังสามารถใช้ได้เมื่อฉันเปลี่ยนโค้ดหรือการกำหนดค่าหรือไม่

ได้ เมื่อคุณอัปเดตฟังก์ชัน Lambda จะมีช่วงเวลาสั้นๆ ซึ่งโดยทั่วไปจะน้อยกว่าหนึ่งนาทีเมื่อคำขอสามารถทำงานได้โดยใช้ทั้งฟังก์ชันเวอร์ชันเก่าหรือใหม่

คำถาม: มีขีดจำกัดของจำนวนฟังก์ชัน AWS Lambda ที่ฉันสามารถใช้งานได้พร้อมกันหรือไม่

ไม่ AWS Lambda ได้รับการออกแบบมาเพื่อให้อินสแตนซ์ฟังก์ชันของคุณทำงานหลายอย่างพร้อมกัน อย่างไรก็ตาม AWS Lambda มีขีดจำกัดความปลอดภัยเริ่มต้นสำหรับจำนวนการดำเนินการที่เกิดขึ้นพร้อมกันต่อบัญชีต่อภูมิภาค (โปรดไปที่นี่เพื่อดูข้อมูลเกี่ยวกับขีดจำกัดความปลอดภัยเริ่มต้น) นอกจากนี้คุณยังสามารถควบคุมการดำเนินการที่เกิดขึ้นพร้อมกันสูงสุดสำหรับแต่ละฟังก์ชัน AWS Lambda ซึ่งคุณสามารถใช้เพื่อสงวนส่วนย่อยของขีดจำกัด การทำงานร่วมกันของบัญชีสำหรับฟังก์ชันที่สำคัญ หรือกำหนดอัตราการเข้าชมให้กับทรัพยากรดาวน์สตรีม

หากคุณต้องการส่งคำขอเพื่อเพิ่มขีดจำกัด คุณสามารถไปที่ศูนย์การสนับสนุนของเราโดยคลิก "เปิดเป็นกรณีใหม่" และยื่นคำร้องขอเพิ่มขีดจำกัด ของบริการ

คำถาม: จะเกิดอะไรขึ้นหากบัญชีของฉันเกินขีดจำกัดเริ่มต้นสำหรับการดำเนินการที่เกิดขึ้นพร้อมกัน

เมื่อเกินขีดจำกัด ฟังก์ชัน AWS Lambda ที่ถูกเรียกใช้แบบซิงโครนัสจะส่งคืนข้อผิดพลาดเกี่ยวกับขีดจำกัด (รหัสข้อผิดพลาด 429) ฟังก์ชัน Lambda ที่ถูกเรียกใช้แบบอะซิงโครนัสสามารถดูดซับการรับส่งข้อมูลที่เหมาะสมได้ประมาณ 15-30 นาทีหลังจากที่เหตุการณ์ขาเข้าจะถูกปฏิเสธเนื่องจากมีการควบคุม ในกรณีที่ฟังก์ชัน Lambda ถูกเรียกใช้เพื่อตอบสนองต่อเหตุการณ์ Amazon S3 กิจกรรมที่ AWS Lambda ปฏิเสธอาจถูกเก็บรักษาและเรียกซ้ำโดย S3 เป็นเวลา 24 ชั่วโมง เหตุการณ์จาก Amazon Kinesis Streams และสตรีม Amazon DynamoDB จะถูกเรียกซ้ำจนกว่าฟังก์ชัน Lambda จะสำเร็จหรือข้อมูลหมดอายุ Amazon Kinesis Streams และสตรีม Amazon DynamoDB จะเก็บข้อมูลเป็นเวลา 24 ชั่วโมง

คำถาม: ขีดจำกัดเริ่มต้นจะนำไปใช้ในแต่ละระดับฟังก์ชันหรือไม่

ไม่ ขีดจำกัดเริ่มต้นจะนำไปใช้ในระดับบัญชีเท่านั้น

คำถาม: จะเกิดอะไรขึ้นหากฟังก์ชัน Lambda ของฉันล้มเหลวในระหว่างประมวลผลเหตุการณ์

เมื่อเกิดข้อผิดพลาด ฟังก์ชัน Lambda ที่ถูกเรียกใช้พร้อมกันจะตอบสนองด้วยข้อยกเว้น ฟังก์ชัน Lambda ที่ถูกเรียกใช้แบบอะซิงโครนัสจะถูกเรียกใหม่อย่างน้อย 3 ครั้ง เหตุการณ์จาก Amazon Kinesis Streams และสตรีม Amazon DynamoDB จะถูกเรียกซ้ำจนกว่าฟังก์ชัน Lambda จะสำเร็จหรือข้อมูลหมดอายุ สตรีม Kinesis และ DynamoDB จะเก็บข้อมูลไว้อย่างน้อย 24 ชั่วโมง

คำถาม: จะเกิดอะไรขึ้นหากการเรียกใช้ฟังก์ชัน Lambda ของฉันทำให้นโยบายที่มีอยู่หมดไป

เมื่อเกินนโยบายการลองใหม่สำหรับการเรียกแบบอะซิงโครนัส คุณสามารถกำหนดค่า "คิวที่ทำไม่สำเร็จ" (DLQ) ที่จะวางเหตุการณ์ ในกรณีที่ไม่มี DLQ ที่กำหนดเหตุการณ์อาจถูกปฏิเสธ เมื่อเกินนโยบายการลองใหม่สำหรับการเรียกตามสตรีม ข้อมูลจะหมดอายุและถูกปฏิเสธในที่สุด

คำถาม: ฉันสามารถกำหนดค่าทรัพยากรอะไรเป็นคิวที่ทำไม่สำเร็จสำหรับฟังก์ชัน Lambda ได้บ้าง

คุณสามารถกำหนดค่าคิว Amazon SQS หรือหัวข้อ Amazon SNS เป็นคิวที่ทำไม่สำเร็จได้

การควบคุมความปลอดภัยและการเข้าถึง

คำถาม: ฉันจะอนุญาตให้ฟังก์ชัน AWS Lambda เข้าถึงทรัพยากร AWS อื่นๆ ได้อย่างไร

คุณให้สิทธิ์แก่ฟังก์ชัน Lambda ของคุณเพื่อเข้าถึงทรัพยากรอื่นๆ โดยใช้บทบาท IAM AWS Lambda รับบทบาทในขณะที่ดำเนินการฟังก์ชัน Lambda ของคุณ เพื่อให้คุณสามารถควบคุมทรัพยากร AWS ที่จะใช้งานได้อย่างเต็มที่และปลอดภัย โปรดไปที่การตั้งค่า AWS Lambda เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับบทบาท

คำถาม: ฉันจะควบคุมว่าบัคเก็ตใดของ Amazon S3 จะเรียกใช้ฟังก์ชัน AWS Lambda ใดได้อย่างไร

เมื่อคุณกำหนดค่าบัคเก็ต Amazon S3 เพื่อส่งข้อความไปยังฟังก์ชัน AWS Lambda กฎนโยบายทรัพยากรจะถูกสร้างขึ้นเพื่อให้สิทธิ์การเข้าถึง โปรดไปที่คู่มือนักพัฒนา Lambda เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับนโยบายทรัพยากรและการควบคุมการเข้าถึงสำหรับฟังก์ชัน Lambda

คำถาม: ฉันจะควบคุมตาราง Amazon DynamoDB หรือสตรีม Amazon Kinesis ที่ฟังก์ชัน AWS Lambda สามารถสำรวจได้อย่างไร

การควบคุมการเข้าถึงได้รับการจัดการผ่านบทบาทของ Lambda บทบาทที่คุณกำหนดให้กับฟังก์ชัน Lambda ของคุณจะกำหนดว่า AWS Lambda สามารถสำรวจทรัพยากรใดได้เองบ้าง โปรดไปที่คู่มือนักพัฒนา Lambda เพื่อเรียนรู้เพิ่มเติม

คำถาม: ฉันจะควบคุมคิว Amazon SQS ที่ฟังก์ชัน AWS Lambda สามารถสำรวจได้อย่างไร

การควบคุมการเข้าถึงสามารถจัดการได้โดยบทบาทฟังก์ชัน Lambda หรือการตั้งค่านโยบายทรัพยากรในคิวเอง หากยังมีทั้งสองนโยบาย สิทธิ์ที่มีข้อจำกัดเข้มงวดที่สุดในทั้งสองจะถูกนำไปใช้

คำถาม: ฉันสามารถเข้าถึงทรัพยากรที่อยู่เบื้องหลัง Amazon VPC ด้วยฟังก์ชัน AWS Lambda ของฉันได้หรือไม่

ได้ คุณสามารถเข้าถึงทรัพยากรที่อยู่เบื้องหลัง Amazon VPC ได้

คำถาม: ฉันจะเปิดและปิดใช้งานการสนับสนุน VPC สำหรับฟังก์ชัน Lambda ของฉันได้อย่างไร

เพื่อเปิดใช้งานการสนับสนุน VPC คุณต้องระบุเครือข่ายย่อยอย่างน้อยหนึ่งรายการใน VPC เดียวและกลุ่มรักษาความปลอดภัยซึ่งเป็นส่วนหนึ่งของการกำหนดค่าฟังก์ชันของคุณ เพื่อปิดใช้งานการสนับสนุน VPC คุณจำเป็นต้องอัปเดตการกำหนดค่าฟังก์ชันและระบุรายการที่ว่างสำหรับเครือข่ายย่อยและกลุ่มรักษาความปลอดภัย คุณสามารถเปลี่ยนการตั้งค่าเหล่านี้ได้โดยใช้ AWS API, CLI หรือ AWS Lambda Management Console

คำถาม: ฟังก์ชัน Lambda เดียวสามารถเข้าถึง VPC หลายตัวได้หรือไม่

ไม่ได้ ฟังก์ชัน Lambda จะให้สิทธิ์การเข้าถึงเฉพาะกับ VPC เดียว ถ้ามีการระบุหลายเครือข่ายย่อยจะต้องอยู่ใน VPC เดียวกัน คุณสามารถเชื่อมต่อกับ VPC อื่นๆ ได้โดยตรวจสอบ VPC ของคุณ

คำถาม: ฟังก์ชัน Lambda ใน VPC สามารถเข้าถึงอินเทอร์เน็ตและตำแหน่งข้อมูลบริการของ AWS ได้หรือไม่

ฟังก์ชัน Lambda ที่กำหนดค่าให้เข้าถึงทรัพยากรใน VPC โดยเฉพาะจะไม่สามารถเข้าถึงอินเทอร์เน็ตได้เป็นค่าเริ่มต้น หากคุณต้องการเข้าถึงตำแหน่งข้อมูลภายนอก คุณจะต้องสร้าง NAT ใน VPC เพื่อส่งต่อการเข้าชมนี้และกำหนดค่ากลุ่มรักษาความปลอดภัยของคุณเพื่ออนุญาตการรับส่งข้อมูลขาออกนี้

ฟังก์ชัน AWS Lambda ใน Java

คำถาม: ฉันจะคอมไพล์โค้ด Java ของฟังก์ชัน AWS Lambda ได้อย่างไร

คุณสามารถใช้เครื่องมือมาตรฐานเช่น Maven หรือ Gradle เพื่อคอมไพล์ฟังก์ชัน Lambda ของคุณ กระบวนการสร้างของคุณควรเลียนแบบกระบวนการสร้างเดียวกันที่คุณจะใช้เพื่อคอมไพล์โค้ด Java ที่ขึ้นอยู่กับ AWS SDK เรียกใช้เครื่องมือคอมไพล์ Java ในไฟล์ต้นฉบับของคุณและรวม AWS SDK 1.9 หรือเวอร์ชันที่ใหม่กว่าด้วยการอ้างอิงแบบขนานในเส้นทางเดินระบบของคุณ สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสารประกอบของเรา

คำถาม: สภาพแวดล้อม JVM แบบใดที่ Lambda ใช้สำหรับการทำงานของฟังก์ชันของฉัน

Lambda มาพร้อมบิลด์ Amazon Linux ของ openjdk 1.8

ฟังก์ชัน AWS Lambda ใน Node.js

คำถาม: ฉันสามารถใช้แพคเกจกับ AWS Lambda ได้หรือไม่

ได้ คุณสามารถใช้แพคเกจ NPM และแพคเกจที่กำหนดเองได้ เรียนรู้เพิ่มเติมที่นี่

คำถาม: ฉันสามารถดำเนินการโปรแกรมอื่นจากภายในฟังก์ชัน AWS Lambda ที่เขียนใน Node.js ได้หรือไม่

ได้ โปรแกรมทดสอบใน Lambda ช่วยให้คุณสามารถเรียกใช้ชุด ("เชลล์") สคริปต์ รันไทม์ภาษาอื่นๆ ชุดคำสั่งยูทิลิตี และไฟล์ปฏิบัติการ เรียนรู้เพิ่มเติมที่นี่

คำถาม: สามารถใช้โมดูลดั้งเดิมกับฟังก์ชัน AWS Lambda ที่เขียนใน Node.js ได้หรือไม่

ได้ โมดูลเนทีฟที่เชื่อมโยงแบบคงที่สามารถรวมอยู่ในไฟล์ ZIP ที่คุณอัปโหลด รวมทั้งโมดูลที่เชื่อมโยงแบบไดนามิกที่คอมไพล์ด้วย rpath ที่ชี้ไปยังไดเรกทอรีรากของ Lambda เรียนรู้เพิ่มเติมที่นี่

คำถาม: ฉันสามารถดำเนินการไบนารีที่มี AWS Lambda เขียนใน Node.js ได้หรือไม่

ได้ คุณสามารถใช้คำสั่ง child_process ของ Node.js เพื่อดำเนินการไบนารีที่คุณได้รวมไว้ในฟังก์ชันหรือไฟล์ปฏิบัติการใดๆ จาก Amazon Linux ที่สามารถมองเห็นได้จากฟังก์ชันของคุณ หรืออีกหลายแพคเกจ NPM ที่มีอยู่ที่ตัดไบนารีบรรทัดคำสั่งเช่น node-ffmpeg เรียนรู้เพิ่มเติมที่นี่

คำถาม: ฉันจะปรับใช้โค้ดฟังก์ชัน AWS Lambda ที่เขียนใน Node.js ได้อย่างไร

หากต้องการใช้ฟังก์ชัน Lambda ที่เขียนขึ้นใน Node.js เพียงแค่คุณใส่โค้ด Javascript และไลบรารีที่อ้างอิงเป็นไฟล์ ZIP คุณสามารถอัปโหลดไฟล์ ZIP จากสภาพแวดล้อมท้องถิ่นของคุณหรือระบุตำแหน่งที่ตั้ง Amazon S3 ที่มีไฟล์ ZIP อยู่ สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสารประกอบของเรา

ฟังก์ชัน AWS Lambda ใน Python

คำถาม: ฉันสามารถใช้แพคเกจ Python กับ AWS Lambda ได้หรือไม่

ได้ คุณสามารถใช้ pip เพื่อติดตั้งแพคเกจ Python ที่จำเป็นได้

ฟังก์ชัน AWS Lambda ใน C#

คำถาม: ฉันจะจัดแพคเกจและปรับใช้ฟังก์ชัน AWS Lambda ใน C # ได้อย่างไร

คุณสามารถสร้างฟังก์ชัน C# Lambda โดยใช้ Visual Studio IDE โดยเลือก "เผยแพร่ไปที่ AWS Lambda" ใน Solution Explorer หรือคุณสามารถเรียกใช้คำสั่ง "dotnet lambda publish" โดยตรงจาก dotnet CLI ที่มีการติดตั้ง [แพทช์เครื่องมือ # Lambda CLI] ซึ่งจะสร้างไฟล์ ZIP ของซอร์สโค้ด C# ของคุณพร้อมกับการอ้างอิงทั้งหมดของ NuGet และการรวบรวม DLL ที่เผยแพร่ของคุณเอง และจะอัปโหลดไฟล์ไปที่ AWS Lambda โดยใช้พารามิเตอร์รันไทม์ "dotnetcore1.0"

หัวข้ออื่นๆ

คำถาม: AWS Lambda สนับสนุน Amazon Linux, Node.js, Python, JDK, .NET Core, SDK และไลบรารีเพิ่มเติมเวอร์ชันใด

คุณสามารถดูรายการเวอร์ชันที่สนับสนุนได้ที่นี่

คำถาม: ฉันสามารถเปลี่ยนเวอร์ชันของ Amazon Linux หรือรันไทม์ภาษาได้หรือไม่

ไม่ AWS Lambda มีระบบปฏิบัติการและรันไทม์ภาษาเวอร์ชันเดียวสำหรับผู้ใช้บริการทั้งหมด

คำถาม: ฉันจะบันทึกและตรวจสอบการเรียกใช้ที่ทำกับ AWS Lambda API ได้อย่างไร

AWS Lambda ถูกผสานรวมกับ AWS CloudTrail AWS CloudTrail สามารถบันทึกและส่งไฟล์บันทึกไปยังบัคเก็ต Amazon S3 ของคุณซึ่งอธิบายถึงการใช้ API ของบัญชีของคุณ

คำถาม: ฉันจะประสานงานการเรียกใช้ระหว่างหลายฟังก์ชัน Lambda ได้อย่างไร

คุณสามารถใช้ฟังก์ชัน Amazon Step เพื่อประสานงานฟังก์ชัน Lambda หลายฟังก์ชัน คุณสามารถเรียกใช้ฟังก์ชัน Lambda หลายๆ แบบโดยส่งผ่านเอาต์พุตของหนึ่งฟังก์ชันไปยังอีกอันหรือแบบคู่ขนาน โปรดดูรายละเอียดเพิ่มเติมที่เอกสารประกอบ

เรียนรู้เพิ่มเติมเกี่ยวกับราคา AWS Lambda

ไปที่หน้าราคา
พร้อมเริ่มต้นใช้งานหรือยัง
ลงชื่อสมัครใช้งาน
มีคำถามเพิ่มเติมหรือไม่
ติดต่อเรา