คุณกําลังดูเอกสารประกอบของ Apigee Edge
  ไปที่เอกสารประกอบของ Apigee X info
เวอร์ชัน: 1.0.0
เรียกใช้ฟังก์ชันที่ติดตั้งใช้งานใน AWS Lambda ใช้ส่วนขยายนี้เพื่อแสดงรายการฟังก์ชันที่มีอยู่ในบัญชี AWS แล้วเรียกใช้ฟังก์ชันที่เฉพาะเจาะจง
ข้อกำหนดเบื้องต้น
คุณต้องดำเนินการต่อไปนี้ก่อนใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย ExtensionCallout
- รับรหัสคีย์การเข้าถึงและคีย์การเข้าถึงลับของ Amazon - คุณต้องใช้ข้อมูลเหล่านี้พร้อมกับชื่อของภูมิภาคที่ติดตั้งใช้งานฟังก์ชันเพื่อconfigureส่วนขยายนี้ 
- ทำให้ฟังก์ชัน Lambda ใช้งานได้ หากต้องการให้ส่วนขยายเข้าถึงฟังก์ชัน Lambda ได้ จะต้องมีลักษณะดังนี้ - ติดตั้งใช้งานใน VPC สาธารณะ
- ติดตั้งใช้งานใน VPC ส่วนตัวที่มีเกตเวย์ NAT สาธารณะ
 - ดูข้อมูลเพิ่มเติมได้ที่การกําหนดค่าฟังก์ชัน Lambda เพื่อเข้าถึงทรัพยากรใน Amazon VPC 
เกี่ยวกับ AWS Lambda
AWS Lambda มีสภาพแวดล้อมการประมวลผลที่คุณสามารถเรียกใช้ฟังก์ชันในภาษาใดภาษาหนึ่งที่เรารองรับ
การทำงาน
เรียกใช้
เรียกใช้ฟังก์ชันใน AWS Lambda
โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์ในเอกสารประกอบเกี่ยวกับ AWS Lambda Invoke
ไวยากรณ์
<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "function-on-lambda",
  "invocationType" : "RequestResponse | Event | DryRun",
  "logType" : "None | Tail",
  "qualifier" : "Version-or-alias",
  "payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>
ตัวอย่าง
<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "helloWorld",
  "invocationType" : "RequestResponse",
  "logType" : "None",
  "qualifier" : "$LATEST",
  "payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>
พารามิเตอร์คำขอ
โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์ในเอกสารประกอบเกี่ยวกับ AWS Lambda Invoke
| พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ | 
|---|---|---|---|---|
| functionName | ชื่อของฟังก์ชันที่จะเรียกใช้ | สตริง | ไม่มี | ได้ | 
| invocationType | ระบุว่าจะเรียกใช้ฟังก์ชันแบบซิงค์หรือไม่ซิงค์ หรือจะตรวจสอบค่าพารามิเตอร์หรือไม่ | สตริง | ไม่มี | ไม่ | 
| logType | (ไม่บังคับ) ระบุว่าจะแสดงข้อมูลบันทึก 4 KB สุดท้ายหรือไม่ | สตริง | ไม่มี | ไม่ | 
| ตัวระบุ | เวอร์ชันของนามแฝงของฟังก์ชัน Lambda ที่เผยแพร่ | สตริง | ไม่มี | ไม่ | 
| เปย์โหลด | JSON เป็นอินพุตของฟังก์ชัน Lambda | สตริง | ไม่มี | ไม่ | 
การตอบกลับ
อาร์เรย์ของฟังก์ชันที่มีรายละเอียดเวอร์ชันที่เฉพาะเจาะจง ตัวอย่างมีดังนี้
{
  "StatusCode" : 200,
  "Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
พร็อพเพอร์ตี้ของคำตอบ
| พร็อพเพอร์ตี้ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | 
|---|---|---|---|
| StatusCode | รหัสสถานะ HTTP | จำนวนเต็ม | ไม่มี | 
| เพย์โหลด | JSON ที่แสดงออบเจ็กต์ที่ฟังก์ชันแสดงผล แสดงเฉพาะในกรณีที่ประเภทการเรียกใช้คือ RequestResponse สำหรับข้อผิดพลาดของฟังก์ชัน จะมีข้อความคำอธิบายข้อผิดพลาด | สตริง | ไม่มี | 
listFunctions
แสดงรายการฟังก์ชัน AWS Lambda ที่พร้อมใช้งาน
ดูรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์ได้ในเอกสารประกอบเกี่ยวกับ ListFunctions ของ AWS Lambda
ไวยากรณ์
<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
  "functionVersion" : "ALL",
  "maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>
ตัวอย่าง
<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL",
  "functionVersion" : "ALL",
  "maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>
พารามิเตอร์คำขอ
ดูรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์ได้ในเอกสารประกอบเกี่ยวกับ ListFunctions ของ AWS Lambda
| พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ | 
|---|---|---|---|---|
| masterRegion | ภูมิภาค (เช่น us-east-2) ที่ควรแสดงฟังก์ชันALLเพื่อรวมฟังก์ชันจากทุกภูมิภาค หากระบุ คุณต้องระบุfunctionVersionด้วย | สตริง | ไม่มี | ไม่ | 
| functionVersion | ระบุ ALLเพื่อแสดงรายการเวอร์ชันที่เผยแพร่ทั้งหมด หากไม่ระบุ ระบบจะแสดงเฉพาะ ARN ของเวอร์ชันล่าสุดที่ยังไม่ได้เผยแพร่ | สตริง | ไม่มี | ไม่ | 
| maxItems | จํานวนฟังก์ชันสูงสุดที่จะแสดงในการตอบกลับ ต้องมากกว่า 0 ค่าสูงสุดที่ระบบแสดงได้คือ 50 | จำนวนเต็ม | ไม่มี | ไม่ | 
การตอบกลับ
JSON ที่แสดงอาร์เรย์ของฟังก์ชันที่มีรายละเอียดเวอร์ชันที่เฉพาะเจาะจง
[
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "$LATEST"
  },
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "1"
  }
]
พร็อพเพอร์ตี้ของคำตอบ
| พร็อพเพอร์ตี้ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | 
|---|---|---|---|
| คำอธิบาย | คำอธิบายฟังก์ชัน | สตริง | ไม่มี | 
| แฮนเดิล | ฟังก์ชันที่ Lambda เรียกให้เริ่มดำเนินการฟังก์ชัน | สตริง | ไม่มี | 
| FunctionArn | ชื่อทรัพยากร Amazon ของฟังก์ชัน | สตริง | ไม่มี | 
| FunctionName | ชื่อของฟังก์ชัน | สตริง | ไม่มี | 
| บทบาท | บทบาทการเรียกใช้ของฟังก์ชัน | สตริง | ไม่มี | 
| รันไทม์ | สภาพแวดล้อมรันไทม์ของฟังก์ชัน | สตริง | ไม่มี | 
| เวอร์ชัน | เวอร์ชันของฟังก์ชัน | สตริง | ไม่มี | 
ข้อมูลอ้างอิงการกําหนดค่า
ใช้ข้อมูลต่อไปนี้เมื่อกําหนดค่าและติดตั้งใช้งานส่วนขยายนี้เพื่อใช้ในพร็อกซี API ดูขั้นตอนการกำหนดค่าส่วนขยายโดยใช้คอนโซล Apigee ได้ที่การเพิ่มและกําหนดค่าส่วนขยาย
พร็อพเพอร์ตี้ส่วนขยายทั่วไป
พร็อพเพอร์ตี้ต่อไปนี้มีอยู่ในส่วนขยายทุกรายการ
| พร็อพเพอร์ตี้ | คำอธิบาย | ค่าเริ่มต้น | ต้องระบุ | 
|---|---|---|---|
| name | ชื่อที่คุณกําหนดให้การกําหนดค่านี้ของส่วนขยาย | ไม่มี | ได้ | 
| packageName | ชื่อแพ็กเกจส่วนขยายที่ระบุโดย Apigee Edge | ไม่มี | ได้ | 
| version | หมายเลขเวอร์ชันของแพ็กเกจส่วนขยายที่คุณกําหนดค่าส่วนขยาย | ไม่มี | ได้ | 
| configuration | ค่าการกําหนดค่าเฉพาะสําหรับส่วนขยายที่คุณกําลังเพิ่ม ดูพร็อพเพอร์ตี้สําหรับแพ็กเกจส่วนขยายนี้ | ไม่มี | ได้ | 
พร็อพเพอร์ตี้ของแพ็กเกจส่วนขยายนี้
ระบุค่าสำหรับพร็อพเพอร์ตี้การกําหนดค่าต่อไปนี้ที่เจาะจงสําหรับส่วนขยายนี้
| พร็อพเพอร์ตี้ | คำอธิบาย | ค่าเริ่มต้น | ต้องระบุ | 
|---|---|---|---|
| ภูมิภาค AWS Lambda | ชื่อของภูมิภาคที่ใช้งานฟังก์ชัน ตัวอย่างเช่น us-east-1 | ไม่มี | ได้ | 
| ข้อมูลเข้าสู่ระบบ | เมื่อป้อนในคอนโซล Apigee Edge จะเป็นไฟล์ JSON ที่มีรหัสคีย์การเข้าถึงและคีย์การเข้าถึงของ Amazon ในรูปแบบต่อไปนี้ {"accessKeyId" : "access-key-ID","secretAccessKey" : "secret-access-key"}เมื่อส่งผ่าน Management API จะเป็นค่าที่เข้ารหัส Base64 ที่สร้างขึ้นจากไฟล์ JSON ของคีย์นั้น | ไม่มี | ได้ |