คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ
Apigee X info
เวอร์ชัน: 2.0.1
เรียกใช้ฟังก์ชันที่ติดตั้งใช้งานใน AWS Lambda ใช้ส่วนขยายนี้เพื่อแสดงรายการฟังก์ชันที่มีอยู่ในบัญชี AWS แล้วเรียกใช้ฟังก์ชันที่เฉพาะเจาะจง
ข้อกำหนดเบื้องต้น
ก่อนใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย ExtensionCallout คุณต้องทำดังนี้
รับรหัสคีย์การเข้าถึงและคีย์การเข้าถึงลับของ Amazon
คุณจะต้องใช้ข้อมูลเหล่านี้พร้อมกับชื่อภูมิภาคที่ฟังก์ชันของคุณได้รับการติดตั้งใช้งานเพื่อกำหนดค่าส่วนขยายนี้
ทําให้ฟังก์ชัน Lambda ใช้งานได้ ส่วนขยายต้องมีลักษณะอย่างใดอย่างหนึ่งต่อไปนี้จึงจะเข้าถึงฟังก์ชัน Lambda ได้
- ติดตั้งใช้งานใน VPC สาธารณะ
- ติดตั้งใช้งานใน VPC ส่วนตัวที่มีเกตเวย์ NAT สาธารณะ
ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่าฟังก์ชัน Lambda เพื่อเข้าถึงทรัพยากรใน Amazon VPC
เกี่ยวกับ AWS Lambda
AWS Lambda มีสภาพแวดล้อมการประมวลผลที่คุณสามารถเรียกใช้ฟังก์ชันในภาษาใดก็ได้ที่รองรับ
การทำงาน
เรียกใช้
เรียกใช้ฟังก์ชันใน AWS Lambda
ดูรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์ได้ที่เอกสารประกอบการเรียกใช้ AWS Lambda
ไวยากรณ์
<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
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
functionName | ชื่อของฟังก์ชันที่จะเรียกใช้ | สตริง | ไม่มี | ใช้ได้ |
invocationType | ระบุว่าจะเรียกใช้ฟังก์ชันแบบพร้อมกัน แบบไม่พร้อมกัน หรือตรวจสอบค่าพารามิเตอร์ | สตริง | ไม่มี | ไม่ |
logType | ระบุว่าจะแสดงข้อมูลบันทึก 4 KB สุดท้ายหรือไม่ (ไม่บังคับ) | สตริง | ไม่มี | ไม่ |
ตัวระบุ | เวอร์ชันของนามแฝงของฟังก์ชัน Lambda ที่เผยแพร่ | สตริง | ไม่มี | ไม่ |
เปย์โหลด | JSON เป็นอินพุตไปยังฟังก์ชัน Lambda | สตริง | ไม่มี | ไม่ |
การตอบกลับ
อาร์เรย์ของฟังก์ชันที่มีรายละเอียดเวอร์ชันที่เฉพาะเจาะจง ตัวอย่างเช่น
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
พร็อพเพอร์ตี้การตอบกลับ
พร็อพเพอร์ตี้ | คำอธิบาย | ประเภท | ค่าเริ่มต้น |
---|---|---|---|
StatusCode | รหัสสถานะ HTTP | จำนวนเต็ม | ไม่มี |
เพย์โหลด | JSON ที่แสดงออบเจ็กต์ที่ฟังก์ชันแสดงผล แสดงเฉพาะในกรณีที่ประเภทการเรียกใช้เป็น RequestResponse สำหรับข้อผิดพลาดของฟังก์ชัน ฟิลด์นี้จะมีข้อความอธิบายข้อผิดพลาด | สตริง | ไม่มี |
listFunctions
แสดงรายการฟังก์ชัน AWS Lambda ที่พร้อมใช้งาน
ดูรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์ได้ที่เอกสารประกอบเกี่ยวกับ AWS Lambda ListFunctions
ไวยากรณ์
<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>
พารามิเตอร์คำขอ
ดูรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์ได้ที่เอกสารประกอบเกี่ยวกับ AWS Lambda ListFunctions
พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
---|---|---|---|---|
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 Resource Name ของฟังก์ชัน | สตริง | ไม่มี |
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 ของคีย์นั้น |
ไม่มี | ใช้ได้ |