【发布时间】:2020-08-18 06:28:23
【问题描述】:
所以场景是我们有 3 个不同的帐户(EDGE、PROD、DEV)。我想在 EDGE 帐户中创建一些 API,并将它们分别与 DEV 和 PROD 帐户中的 lambdas 集成。 我有 2 个不同的 API 阶段:dev/prod,并且还定义了 API 的集成:LAMBDA 与 target = ${stageVariables.LAMBDA}。 当我在阶段变量中提到 LAMBDA 的完整 ARN 时,它在 api 命中后显示以下错误:
{
"message": "1 validation error detected: Value \'arn:aws:lambda:ap-south-1:XXEDGEACCOUNTXX:function:arn:aws:lambda:ap-south-1:XXDEVACCOUNTXX:function:funcName\' at \'functionName\' failed to satisfy constraint: Member must satisfy regular expression pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_\\.]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?"
}
与
target = arn:aws:lambda:ap-south-1:${stageVariables.ACC}:function:${stageVariables.LAMBDA}/invocations
我在保存时收到无效函数 ARN 或 URI 的错误..
请帮忙。 PS。权限政策非常好。问题是 API 网关仅在自己的账户中检查 Lambda,这就是为什么只读函数名称并保持帐号固定的原因。
【问题讨论】:
-
这个
funcName\' at \'functionName\'的函数名不正确。 -
基本上它正在构建,“带有边缘帐户的 func arn + 带有开发帐户的 func arn”。实际上我的基本要求是..:我想将帐号也作为一个阶段变量..(想为两个不同的阶段调用不同帐户的两个不同的 lambdas
标签: amazon-web-services aws-lambda aws-api-gateway api-gateway