Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về
Apigee X. thông tin
Phiên bản: 2.0.0
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:
Lấy mã khoá truy cập và khoá truy cập bí mật của Amazon.
Bạn sẽ cần những thông tin này cùng với tên của khu vực triển khai hàm để configure tiện ích này.
Triển khai hàm Lambda. Để có thể truy cập vào một hàm Lambda, tiện ích phải:
- Được triển khai trong VPC công khai
- Được triển khai trong VPC riêng tư có cổng NAT công khai
Hãy xem bài viết Định cấu hình hàm Lambda để truy cập vào tài nguyên trong Amazon VPC để biết thêm thông tin.
Giới thiệu về AWS Lambda
AWS Lambda cung cấp môi trường điện toán nơi bạn có thể thực thi các hàm bằng một trong các 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 liệu có gọi hàm một cách đồng bộ, không đồng bộ hay xác thực giá trị tham số hay không. | Chuỗi. | Không có. | STT |
logType | Chỉ định xem có trả về 4 KB dữ liệu nhật ký gần đây nhất hay không (không bắt buộc). | 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 hàm chứa thông tin chi tiết cụ thể về phiên bản. Sau đây là 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ỉ hiển thị nếu loại lệnh gọi là RequestResponse. Đối với lỗi hàm, thông báo 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 có sẵn.
Để biết thêm thông tin chi tiết về các tham số, hãy xem tài liệu về ListFunctions của AWS Lambda.
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ề ListFunctions của AWS Lambda.
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 để đưa các hàm từ bất kỳ khu vực nào vào. Nếu được 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 đã phát hành. Nếu không được chỉ định, hệ thống sẽ chỉ trả về ARN phiên bản chưa phát hành mới nhất. |
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. Giá trị 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 hàm chứa thông tin chi tiết về phiên bản cụ thể.
[
{
"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 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 nội dung sau đây khi bạn định cấu hình và triển khai tiện ích này để sử dụng trong proxy API. Để biết các bước định cấu hình 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.
Các thuộc tính mở rộng phổ biến
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ó | Có |
packageName |
Tên của gói tiện ích do Apigee Edge cung cấp. | Không có | 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ó | 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ó |
Thuộc tính cho gói tiện ích này
Chỉ định 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 triển khai các hàm của bạn. 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à tệp JSON chứa mã nhận dạng khoá truy cập và khoá truy cập của 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ó. |