在 Amplify API 的 function 指令中调用 Lambda
首先
当需要在AWS上进行带有认证的函数执行时,Amplify API的function指令非常方便。
本次我想总结一下通过前端调用特定Lambda函数的流程。
https://docs.amplify.aws/cli/graphql-transformer/function/
实施
引入API
amplify add api
以function指令为例,请将GraphQL作为API添加进去。
Schema.graphql
我们已经生成了amplify/backend/api/gqllambda/schema.graphql文件,现在我们要编辑并进行定义。
type Query {
signup(
email: String!
password: String!
): String
@function(name: "signup-${env}")
}
这次我们的想法是调用Lambda上的signup-${env}函数。
您可以传递参数,如email/password,并通过添加${env}来根据环境区分调用Lambda函数。
此外,还有许多方便的指令,例如通过添加@aws_cognito_user_pools,可以使调用函数的用户必须经过用户池认证才能成功。
https://docs.amplify.aws/cli/graphql-transformer/directives/
推动 (tuī
amplify push
使用amplify push进行的设置内容将被推送。
召唤
这是从前台发出的调用。
在Push时,会使用设置的文件中实现的schema.graphql内容。
import { API, graphqlOperation } from 'aws-amplify'
import { signup } from '../graphql/queries'
await API.graphql(graphqlOperation(signup, { email: '', password: '' }))
如果你想在TypeScript中明确类型,可以通过导入在推送时生成的API定义文件来实现。
最后
这是我个人第一次使用无服务器技术开发前端应用程序,像这次这样的情况下,“我想要为Lambda提供一个调用入口,供前端调用。” 这样的用例经常出现。
如果能对某人有所帮助,我将感到幸运。
如果有任何改进或问题,请留下评论,我将不胜感激!
广告
在start-up studio有限公司,我们致力于推动企业治理领域的DX发展。作为首个项目,我们发布了能够剧烈提高财务报表披露业务流程的”Uniforce-财务报表披露业务导航”,解决了复杂、庞大和专业性三重困境。如果您有兴趣,请联系我们!
https://startup-studio.co.jp/news/e4spzygrs/