ส่วนขยาย AWS Lambda

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

เวอร์ชัน: 1.1.2

เรียกใช้ฟังก์ชันที่ทำให้ใช้งานได้ใน 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 สุดท้ายหรือไม่ (ไม่บังคับ) สตริง ไม่มี ไม่
qualifier เวอร์ชันหรือนามแฝงของฟังก์ชัน Lambda ที่เผยแพร่ สตริง ไม่มี ไม่
payload JSON เป็นอินพุตสำหรับฟังก์ชัน Lambda สตริง ไม่มี ไม่

การตอบกลับ

อาร์เรย์ของฟังก์ชันที่มีรายละเอียดเวอร์ชันที่เฉพาะเจาะจง ตัวอย่างมีดังนี้

{
  "StatusCode" : 200,
  "Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}

พร็อพเพอร์ตี้การตอบกลับ

พร็อพเพอร์ตี้ คำอธิบาย ประเภท ค่าเริ่มต้น
StatusCode รหัสสถานะ HTTP จำนวนเต็ม ไม่มี
Payload 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"
  }
]

พร็อพเพอร์ตี้การตอบกลับ

พร็อพเพอร์ตี้ คำอธิบาย ประเภท ค่าเริ่มต้น
Description คำอธิบายของฟังก์ชัน สตริง ไม่มี
Handler ฟังก์ชันที่ Lambda เรียกใช้เพื่อเริ่มเรียกใช้ฟังก์ชัน สตริง ไม่มี
FunctionArn ชื่อทรัพยากรของ Amazon สำหรับฟังก์ชัน สตริง ไม่มี
FunctionName ชื่อของฟังก์ชัน สตริง ไม่มี
Role บทบาทการเรียกใช้ของฟังก์ชัน สตริง ไม่มี
Runtime สภาพแวดล้อมรันไทม์ของฟังก์ชัน สตริง ไม่มี
Version เวอร์ชันของฟังก์ชัน สตริง ไม่มี

ข้อมูลอ้างอิงการกำหนดค่า

ใช้ข้อมูลต่อไปนี้เมื่อกำหนดค่าและทำให้ส่วนขยายนี้ใช้งานได้เพื่อใช้ในพร็อกซี 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 ของคีย์ดังกล่าว
ไม่มี ได้