【问题标题】:How to access dynamodb generated by graphql model in lambda function and perform operations?如何在lambda函数中访问graphql模型生成的dynamodb并执行操作?
【发布时间】:2021-11-29 13:05:32
【问题描述】:

我对 aws 非常陌生,我很难理解 lambda 函数和 dynamoDB 之间的过程。我关注了这个documentation

根据文档,此触发器用于从 dynamodb 获取表的记录。

exports.handler = function (event, context) {
  console.log(JSON.stringify(event, null, 2));
  event.Records.forEach((record) => {
    console.log(record.eventID);
    console.log(record.eventName);
    console.log('DynamoDB Record: %j', record.dynamodb);
  });
  context.done(null, 'Successfully processed DynamoDB record');
};

事件来自“event.json”文件。这是什么:

{
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

我想要完成的是从这个 graphql 模型中检索和更新我的 dynamodb 'User' 表的数据。

type User @model @auth(rules: [{allow: owner, operations: [create, update]}]){
    id: ID!
    coins: Int
}

【问题讨论】:

    标签: amazon-web-services aws-lambda graphql amazon-dynamodb


    【解决方案1】:

    不确定 amplify docs 是用于学习 Lambda 的最佳文档。其次,为什么要使用 GraphQL 从 Lambda 函数中对 Amazon DynamoDB 表执行 CRUD 操作。还有其他方法,例如在 JavaScript 开发人员指南中讨论的从 Lambda 函数中使用 JavaScript SDK:

    Creating scheduled events to execute AWS Lambda functions

    【讨论】:

    • 我想使用 GraphQL 从 Lambda 函数中对 Amazon DynamoDB 表执行 CRUD 操作的原因是因为我在 android 应用程序中使用它。我这样做是为了提高安全性,以防我的应用被逆向工程。
    • 您的 Android 应用程序是否在调用 Lambda 函数?如果你打算怎么做?
    • 我打算用rest api调用lambda函数,然后在lambda函数内部执行dynamodb的操作。
    • 那么您仍然可以在 Lambda 函数(即 JS SDK)中使用服务客户端,而不必担心有人会保留您的 Android 应用程序来获取您的服务信用。也就是你可以用Restful方式调用Lambda函数(不需要Service Client),然后在Lambda内部使用一个无人能逆Eng的Service Client。
    • 你能教我怎么做吗?或者至少给我一些关于这样做的链接?我对 lambda、无服务器后端和 restful api 真的很陌生。
    猜你喜欢
    • 2019-11-11
    • 2020-12-05
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    相关资源
    最近更新 更多