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: 1.1.2
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ừ proxy API bằng Chính sách chú thích tiện ích, 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 các giá trị này, cùng với tên của khu vực triển khai các chức năng của mình, để configure tiện ích này.
Triển khai hàm Lambda. Để tiện ích có thể truy cập vào hàm Lambda, tiện ích phải:
- Đã triển khai trong VPC công khai
- Được triển khai trong một VPC riêng tư với cổng NAT công khai
Hãy xem bài viết Định cấu hình hàm Lambda để truy cập 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 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 hàm lambda củaAWS.
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>
Thông 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 hàm lambda củaAWS.
Thông số | Nội dung mô tả | Loại | Mặc định | Bắt buộc |
---|---|---|---|---|
functionName | Tên hàm cần gọi. | Chuỗi. | Không nội dung nào. | Có. |
invocationType | Chỉ định xem sẽ 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ố. | Chuỗi. | Không nội dung nào. | Không. |
logType | Nếu muốn, hãy chỉ định xem có trả về 4 KB cuối cùng của dữ liệu nhật ký hay không. | Chuỗi | Không nội dung nào. | Không. |
bộ hạn định | Phiên bản bí danh của một hàm Lambda đã xuất bản. | Chuỗi | Không nội dung nào. | Không. |
payload | JSON làm dữ liệu đầu vào cho hàm Lambda. | Chuỗi | Không nội dung nào. | Không. |
Phản hồi
Một mảng hàm chứa thông tin 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
Tài sản | Nội dung mô tả | Loại | Mặc định |
---|---|---|---|
StatusCode | Mã trạng thái HTTP. | Số nguyên | Không nội dung nào. |
Dung lượng | JSON biểu thị đối tượng được 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, tệp này chứa thông báo mô tả lỗi. | Chuỗi | Không nội dung nào. |
listFunctions
Liệt kê các hàm AWS Lambda hiện có.
Để biết thêm thông tin chi tiết về 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>
Thông số yêu cầu
Để biết thêm thông tin chi tiết về tham số, hãy xem tài liệu về AWS Lambda ListFunctions.
Thông số | Nội dung mô tả | Loại | Mặc định | Bắt buộc |
---|---|---|---|---|
masterRegion | Vùng (chẳng hạn như us-east-2 ) có hàm được liệt kê; ALL để bao gồm các hàm từ vùng bất kỳ. Nếu được chỉ định, bạn cũng phải chỉ định functionVersion . |
Chuỗi | Không nội dung nào. | Không. |
functionVersion | Chỉ định ALL để liệt kê tất cả phiên bản đã xuất bản. Nếu bạn không chỉ định thì hệ thống chỉ trả về ARN của phiên bản chưa xuất bản mới nhất. |
Chuỗi | Không nội dung nào. | Không. |
maxItems | Số hàm tối đa cần trả về để phản hồi. Phải lớn hơn 0. Giá trị tối đa tuyệt đối có thể được trả về là 50. | Số nguyên | Không nội dung nào. | Không. |
Phản hồi
JSON biểu thị một loạt 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
Tài sản | Nội dung mô tả | Loại | Mặc định |
---|---|---|---|
Nội dung mô tả | Nội dung mô tả về hàm. | Chuỗi. | Không nội dung nào. |
Trình xử lý | Hàm mà Lambda gọi để bắt đầu thực thi hàm. | Chuỗi. | Không nội dung nào. |
FunctionArn | Tên tài nguyên Amazon của hàm. | Chuỗi. | Không nội dung nào. |
FunctionName | Tên hàm. | Chuỗi. | Không nội dung nào. |
Role | Vai trò thực thi của hàm. | Chuỗi. | Không nội dung nào. |
Thời gian chạy | Môi trường thời gian chạy của hàm. | Chuỗi. | Không nội dung nào. |
Phiên bản | Phiên bản của hàm. | Chuỗi. | Không nội dung nào. |
Tài liệu tham khảo về cấu hình
Sử dụng các đoạn mã 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 bài viết Thêm và định cấu hình tiện ích.
Thuộc tính tiện ích 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ó |
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 dành riêng cho tiện ích này.
Tài sản | Nội dung mô tả | Mặc định | Bắt buộc |
---|---|---|---|
Khu vực AWS Lambda | Tên của khu vực triển khai các chức năng của bạn. Ví dụ: us-east-1 . |
Không nội dung nào. | 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ã khoá truy cập và khoá truy cập Amazon của bạn theo mẫu sau:{ "accessKeyId" : "access-key-ID", "secretAccessKey" : "secret-access-key" } Khi được gửi qua API quản lý, giá trị này sẽ là giá trị được mã hoá base64 được tạo từ tệp JSON khoá đó. |
Không nội dung nào. | Có. |