如何解决无法从AWS Lambda函数获取AppConfig的配置配置文件
Lambda函数-Node.js
const AWS = require('aws-sdk')
exports.handler = async (event) => {
var appconfig = new AWS.AppConfig({ apiVersion: '2019-10-09' })
var params = {
ApplicationId: '6xeris1',ConfigurationProfileId: '0ck2ijf'
}
const data = await appconfig.getConfigurationProfile(params).promise().catch(err => {
console.log(err)
})
if (data) {
console.log(data)
const response = {
statusCode: 200,headers: {
'Access-Control-Allow-Headers': 'Content-Type','Access-Control-Allow-Origin': '*','Access-Control-Allow-Methods': 'OPTIONS,POST,GET'
},body: JSON.stringify(data)
}
return response
} else {
const response = {
statusCode: 500,body: {}
}
return response
}
}
调用getConfigurationProfile
时没有响应。没有数据,没有错误,函数超时。
我在Lambda执行IAM角色中添加了以下内联策略,但这没用。
"Action": "appconfig:*"
有人在我之前解决了这个问题吗?谢谢。
解决方法
基于评论。
该问题是由于lambda功能已配置为在VPC中 。但是,VPC中的功能没有互联网访问权限,也没有公共IP。来自docs:
将功能连接到公共子网不能访问Internet或公共IP地址。
解决方案是使用VPC endpoint。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。