微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以在函数 cloudformation 模板中动态获取 graphqlEndpoint?

如何解决是否可以在函数 cloudformation 模板中动态获取 graphqlEndpoint?

我正在尝试将 AWS Amplify 生成的 graphqlEndpoint 转换为 Amplify 中的 lambda 函数。目前我在函数的 cloudformation-template.json 中设置了一个环境变量。有没有更好的方法来做到这一点,我错过了?理想情况下,我希望将其动态传递到我的放大函数中,如果 graphqlEndpoint 发生变化,则不必修改每个函数

我当前在 {LAMBDA-FN-NAME}-cloudformation-template.json 中的静态环境声明如下所示:

"Environment": {
    "Variables": {
            "ENV": {
              "Ref": "env"
            },"REGION": {
              "Ref": "AWS::Region"
            },"API_{NAME}_GRAPHQLAPIENDPOINTOUTPUT": "https://{ID}.appsync-api.us-east-1.amazonaws.com/graphql"
    }
}

解决方法

我确实设法解决了这个问题。 Amplify CLI 提供了获取当前 graphql 端点作为 Lambda 内部环境变量的方法。按照这个程序解决了我的问题:

amplify update function
Which setting do you want to update? Resource access permissions
? Select the category api
Api category has a resource called X
? Select the operations you want to permit for X create,read,update,delete

You can access the following resource attributes as environment variables from your Lambda function
    API_X_GRAPHQLAPIENDPOINTOUTPUT
    API_X_GRAPHQLAPIIDOUTPUT
    API_X_GRAPHQLAPIKEYOUTPUT

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。