คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
เวอร์ชัน: 2.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 ของคีย์นั้น |
ไม่มี | ได้ |