Lambda调用AWS Service Catalog产品报错No launch paths found问题求助
Lambda调用AWS Service Catalog报错No launch paths found的解决方法
该报错本质是Lambda运行时使用的身份没有对应产品的启动权限,和本地运行使用的个人身份权限不一致导致,可按以下步骤排查:
- 检查Lambda执行角色的IAM权限,需要添加以下最小权限策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "servicecatalog:ProvisionProduct", "servicecatalog:DescribeProduct", "servicecatalog:ListLaunchPaths" ], "Resource": "arn:aws:servicecatalog:us-west-2:*:product/prod-hyaxfulvfdtm2" }, { "Effect": "Allow", "Action": "servicecatalog:ListProvisioningArtifacts", "Resource": "*" } ] }
- 检查Service Catalog对应产品所属Portfolio的权限配置:进入对应Portfolio的「权限」标签,将Lambda执行角色的ARN添加为授权主体,勾选启动产品的权限。
- 验证Lambda触发时传入的参数正确性:在Lambda代码中新增日志打印
event.ProductId、event.ProvisioningArtifactId的值,确认和本地测试使用的参数一致,避免参数传错导致找不到对应产品。 - 显式指定启动PathId:先在本地使用有权限的身份执行CLI命令
aws servicecatalog list-launch-paths --product-id prod-hyaxfulvfdtm2获取对应产品的PathId,将PathId: "你查到的路径ID"添加到ProvisionProductCommand的入参中,避免多路径场景下自动匹配失败。 - 确认区域一致性:验证Lambda部署区域和代码中硬编码的
us-west-2一致,对应Service Catalog产品也部署在us-west-2区域,跨区域调用会导致找不到资源。
内容的提问来源于stack exchange,提问作者aphexlog
相关产品推荐
相关产品推荐

