ส่วนขยาย AWS Lambda

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

เวอร์ชัน: 2.0.1

เรียกใช้ฟังก์ชันที่ติดตั้งใช้งานใน AWS Lambda ใช้ส่วนขยายนี้เพื่อแสดงรายการฟังก์ชันที่มีอยู่ในบัญชี AWS แล้วเรียกใช้ฟังก์ชันที่เฉพาะเจาะจง

ข้อกำหนดเบื้องต้น

ก่อนใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย ExtensionCallout คุณต้องทำดังนี้

เกี่ยวกับ 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 ของคีย์นั้น
ไม่มี ใช้ได้