Aws lambda Kong lambda插件-正在删除相关id
所以我使用kong作为API网关。我在aws上有一个简单的lambda函数。我能够看到来自aws lambda函数的响应,但是没有相关id。我已经将相关id插件设置为全局。我想澄清一下为什么lambda插件没有在原始响应的头中添加相关idAws lambda Kong lambda插件-正在删除相关id,aws-lambda,kong,Aws Lambda,Kong,所以我使用kong作为API网关。我在aws上有一个简单的lambda函数。我能够看到来自aws lambda函数的响应,但是没有相关id。我已经将相关id插件设置为全局。我想澄清一下为什么lambda插件没有在原始响应的头中添加相关id exports.handler = async (event) => { // TODO implement const response = { statusCode: 200, body: JSON.s
exports.handler = async (event) => {
// TODO implement
const response = {
statusCode: 200,
body: JSON.stringify(event.request_headers),
};
return response;
};
My kong.yaml
_format_version: "1.1"
routes:
- name: lambda1
paths:
- /lambda1
path_handling: v0
preserve_host: false
protocols:
- http
- https
regex_priority: 0
strip_path: true
https_redirect_status_code: 426
plugins:
- name: aws-lambda
config:
aws_key: XXXXXXXXXXXXXXXXXXXXXXX
aws_region: us-east-1
aws_secret: XXXXXXXXXXXXXXXXXXXXXXXXx
awsgateway_compatible: false
forward_request_body: true
forward_request_headers: true
forward_request_method: false
forward_request_uri: false
function_name: kong-lambda-plugin
host: null
invocation_type: RequestResponse
is_proxy_integration: false
keepalive: 60000
log_type: Tail
port: 443
proxy_scheme: null
proxy_url: null
qualifier: null
skip_large_bodies: true
timeout: 60000
unhandled_status: null
enabled: true
protocols:
- grpc
- grpcs
- http
- https
plugins:
- name: correlation-id
config:
echo_downstream: false
generator: uuid#counter
header_name: correlation-id
enabled: true
protocols:
- grpc
- grpcs
- http
- https
你是对的问题来自于插件的优先级
CorrelationIdHandler.PRIORITY=1
AWSLambdaHandler.PRIORITY=750
Aws Lambda插件正在打破插件链,就像在处理程序阶段一样
return kong.response.exit(状态、内容、标题)
因此其他插件无法使用
您可以创建一个自定义correlationId插件并更改优先级。有一个工具可以为您处理此问题
您还可以创建一个路由来添加调用另一个路由的相关id,执行lambda调用
你能分享一个最小的配置来检查你做了什么吗?我添加了我的kong.yaml,我的假设是aws lambda插件的优先级在correlation id pluginDon之前“不要和别人分享你的秘书啊,谢谢,这很有道理。我来试一试,告诉你怎么回事!成功了!所以我使用优先级更新程序来更新相关id插件。它执行得很漂亮。谢谢