Tiện ích AWS Lambda

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
info

Phiên bản: 2.0.1

Thực thi các hàm được triển khai trên AWS Lambda. Sử dụng tiện ích này để liệt kê các hàm có trong tài khoản AWS của bạn, sau đó gọi các hàm cụ thể.

Điều kiện tiên quyết

Trước khi sử dụng tiện ích từ một proxy API bằng chính sách ExtensionCallout, bạn phải:

Giới thiệu về AWS Lambda

AWS Lambda cung cấp các môi trường điện toán để bạn có thể thực thi các hàm bằng một trong những ngôn ngữ được hỗ trợ.

Thao tác

gọi

Gọi một hàm trên AWS Lambda.

Để biết thêm thông tin chi tiết về các tham số, hãy xem Tài liệu về lệnh gọi AWS Lambda.

Cú pháp

<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>

Ví dụ:

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "helloWorld",
  "invocationType" : "RequestResponse",
  "logType" : "None",
  "qualifier" : "$LATEST",
  "payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>

Tham số yêu cầu

Để biết thêm thông tin chi tiết về các tham số, hãy xem Tài liệu về lệnh gọi AWS Lambda.

Thông số Mô tả Loại Mặc định Bắt buộc
functionName Tên của hàm cần gọi. Chuỗi. Không có. Có.
invocationType Chỉ định có gọi hàm một cách đồng bộ, không đồng bộ hay xác thực các giá trị tham số hay không. Chuỗi. Không có. STT
logType (Không bắt buộc) Chỉ định xem có trả về 4 KB dữ liệu nhật ký cuối cùng hay không. Chuỗi Không có. STT
bộ hạn định Phiên bản của bí danh của một hàm Lambda đã xuất bản. Chuỗi Không có. STT
tải trọng JSON làm dữ liệu đầu vào cho hàm Lambda. Chuỗi Không có. STT

Phản hồi

Một mảng các hàm chứa thông tin chi tiết cụ thể về phiên bản. Sau đây là một ví dụ:

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

Thuộc tính phản hồi

Thuộc tính Mô tả Loại Mặc định
StatusCode Mã trạng thái HTTP. Số nguyên Không có.
Phần tải JSON đại diện cho đối tượng do hàm trả về. Chỉ trình bày nếu loại lệnh gọi là RequestResponse. Đối với lỗi hàm, thông số này chứa thông báo mô tả lỗi. Chuỗi Không có.

listFunctions

Liệt kê các hàm AWS Lambda hiện có.

Để biết thêm thông tin chi tiết về các tham số, hãy xem Tài liệu về AWS Lambda ListFunctions.

Cú pháp

<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>

Ví dụ:

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL",
  "functionVersion" : "ALL",
  "maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>

Tham số yêu cầu

Để biết thêm thông tin chi tiết về các tham số, hãy xem Tài liệu về AWS Lambda ListFunctions.

Thông số Mô tả Loại Mặc định Bắt buộc
masterRegion Khu vực (chẳng hạn như us-east-2) có các hàm cần được liệt kê; ALL để thêm các hàm từ bất kỳ khu vực nào. Nếu chỉ định, bạn cũng phải chỉ định functionVersion. Chuỗi Không có. STT
functionVersion Chỉ định ALL để liệt kê tất cả các phiên bản đã xuất bản. Nếu không được chỉ định, chỉ ARN của phiên bản mới nhất chưa được xuất bản sẽ được trả về. Chuỗi Không có. STT
maxItems Số lượng hàm tối đa cần trả về trong phản hồi. Phải lớn hơn 0. Số lượng tối đa tuyệt đối có thể trả về là 50. Số nguyên Không có. STT

Phản hồi

JSON đại diện cho một mảng các hàm chứa thông tin chi tiết cụ thể về phiên bản.

[
  {
    "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"
  }
]

Thuộc tính phản hồi

Thuộc tính Mô tả Loại Mặc định
Mô tả Nội dung mô tả về hàm. Chuỗi. Không có.
Trình xử lý Hàm mà Lambda gọi để bắt đầu thực thi hàm. Chuỗi. Không có.
FunctionArn Tên tài nguyên Amazon của hàm. Chuỗi. Không có.
FunctionName Tên của hàm. Chuỗi. Không có.
Vai trò Vai trò thực thi của hàm. Chuỗi. Không có.
Thời gian chạy Môi trường thời gian chạy của hàm. Chuỗi. Không có.
Phiên bản Phiên bản của hàm. Chuỗi. Không có.

Tài liệu tham khảo về cấu hình

Hãy sử dụng những thông tin sau khi bạn định cấu hình và triển khai tiện ích này để sử dụng trong các proxy API. Để biết các bước định cấu hình một tiện ích bằng bảng điều khiển Apigee, hãy xem phần Thêm và định cấu hình tiện ích.

Thuộc tính mở rộng chung

Các thuộc tính sau có sẵn cho mỗi tiện ích.

Tài sản Mô tả Mặc định Bắt buộc
name Tên mà bạn đang đặt cho cấu hình của tiện ích này. Không có
packageName Tên của gói tiện ích do Apigee Edge cung cấp. Không có
version Số phiên bản của gói tiện ích mà bạn đang định cấu hình tiện ích. Không có
configuration Giá trị cấu hình cụ thể cho tiện ích bạn đang thêm. Xem Thuộc tính cho gói tiện ích này Không có

Các thuộc tính cho gói tiện ích này

Chỉ định các giá trị cho các thuộc tính cấu hình sau đây dành riêng cho tiện ích này.

Thuộc tính Mô tả Mặc định Bắt buộc
Khu vực AWS Lambda Tên của khu vực nơi các hàm của bạn được triển khai. Ví dụ: us-east-1. Không có. Có.
Thông tin xác thực Khi được nhập vào bảng điều khiển Apigee Edge, đây là một tệp JSON chứa mã nhận dạng khoá truy cập và khoá truy cập Amazon ở dạng sau:

{
"accessKeyId" : "access-key-ID",
"secretAccessKey" : "secret-access-key"
}

Khi được gửi qua API quản lý, đây là một giá trị được mã hoá base64 được tạo từ tệp JSON khoá đó.
Không có. Có.