# AWS Lambda

มาเริ่มกันที่เจ้า Lambda คืออะไรก่อน

**AWS Lambda**

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

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

**คุณสมบัติหลักของ AWS Lambda:**

* **โครงสร้างพื้นฐานที่จัดการได้แบบอัตโนมัติ:**

  AWS Lambda จัดการ CPU, memory, และอื่นๆ ให้กับ Code Project ของคุณโดยอัตโนมัติ.
* **คิดและคำนวนเงินตามการใช้งานจริง:**

  ซึ่งมีระบบคิดเงินที่เรียกว่า "pay-as-you-go" คุณจะชำระเงินเฉพาะเวลาที่ Code Project ของคุณเรียกใช้งาน.
* **การตอบสนองต่อเหตุการณ์:**

  Lambda สามารถทำงานเป็นการตอบสนองต่อเหตุการณ์จากบริการ AWS อื่นๆ เช่น S3, DynamoDB, Kinesis, และอีกมากมาย.
* **การทำงานร่วมกับแอปพลิเคชันและบริการอื่น:**

  สามารถนำมาใช้เป็น backend สำหรับแอปพลิเคชันเว็บหรือการบริการผ่าน API Gateway.

**ตัวอย่างการใช้งาน AWS Lambda:**

* **Web Applications:**

  การใช้งาน AWS Lambda เพื่อการดำเนินโค้ดที่เกิดจาก HTTP request ผ่าน Amazon API Gateway.
* **Data Processing:**

  Lambda สามารถประมวลผลข้อมูลแบบ real-time เช่น จากรูปภาพหรือวิดีโอที่ถูกอัพโหลดและไฟล์ log จากการเรียกใช้งาน.
* **IoT Backends:**

  ใช้ Lambda ในการจัดการและตอบสนองต่อเหตุการณ์จากอุปกรณ์ IoT.

**ตัวอย่างวิธีคำนวนการใช้งาน**

ซึ่งคำนวณตามจำนวนครั้งที่ฟังก์ชันของคุณถูกเรียกและระยะเวลาที่ Code Project ของคุณกำลังทำงาน

โดยคิดเฉพาะทรัพยากรที่ใช้งานจริง

เช่นๆๆ

* สมมติฟังก์ชัน Lambda ของคุณใช้ memory 512MB
* เวลาทำงานเป็นเวลา 120ms ต่อการเรียกใช้
* ถูกเรียกใช้ 2 ล้านครั้งหลังจากที่ได้รับฟรี 1 ล้านครั้ง

จะเท่ากับว่า

* X = ราคาต่อ 1 ล้านครั้ง
* Y = ราคาต่อระยะเวลา 100ms
* จำนวนครั้งที่เรียก = 2,000,000 calls \* $X per 1M calls
* เวลาทำงาน = (120,000 seconds / 100) \* $Y per 100ms
* Free Tier ของ AWS Lambda ประกอบด้วย คำขอฟรีหนึ่งล้านคำขอต่อเดือน และเวลาประมวลผล 400,000 GB-วินาทีต่อเดือน

ท่านสามารถดูข้อมูลเพิ่มเติมได้ที่ <https://aws.amazon.com/th/lambda/>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.farzai.com/parsilver/aws/aws-lambda.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
