zoukankan      html  css  js  c++  java
  • lambda和DynamoDB连接

    1. 在DynamoDB当作创建一个新表,然后在项目当中创建,把string value的值填写一下。
    2. 在IAM创建角色附加 AWSLambdaDynamoDBExecutionRole权限
    3. 在lambda中创建函数,选择DynamoDB不附加其他条件的蓝图
    4. 选择第1步创建的DynamoDB表,完成lambda函数的创建。
    5. 打开lambda函数的index.js,代码进行重写,内容如下

    var AWS = require('aws-sdk');

    var dynamo = new AWS.DynamoDB({

        region: 'ap-northeast-1'

    });

    exports.handler = function(event, context) {

        var params = {

            "TableName": "sbrtest",         #表名

            "KeyConditionExpression":"this = :sbrtest",   #建表时候的关键字和函数名

            "ExpressionAttributeValues": {

                ":sbrtest" : {"S": event.sbrtest}    #函数名

            }

        };

        console.log("event:", event);

        dynamo.query(params, function(err, data) {

            console.log("dynamo_data:", data);

            console.log("dynamo_err:", err);

            context.done(null, data);

        });

    };

    1. 内容进行保存
    2. 对编辑好的表进行测试,测试代码如下

    {

      "Records": [

        {

          "eventID": "1",

          "eventVersion": "1.0",

          "dynamodb": {

            "Keys": {

              "Id": {

                "N": "101"

              }

            },

            "NewImage": {

              "Message": {

                "S": "New item!"

              },

              "Id": {

                "N": "101"

              }

            },

            "StreamViewType": "NEW_AND_OLD_IMAGES",

            "SequenceNumber": "111",

            "SizeBytes": 26

          },

          "awsRegion": "ap-northeast-1",

          "eventName": "INSERT",

          "eventSourceARN": "arn:aws:dynamodb:ap-northeast-1:382459439888:table/sbrtest0313",

          "eventSource": "aws:dynamodb"

        },

        {

          "eventID": "2",

          "eventVersion": "1.0",

          "dynamodb": {

            "OldImage": {

              "Message": {

                "S": "New item!"

              },

              "Id": {

                "N": "101"

              }

            },

            "SequenceNumber": "222",

            "Keys": {

              "Id": {

                "N": "101"

              }

            },

            "SizeBytes": 59,

            "NewImage": {

              "Message": {

                "S": "This item has changed"

              },

              "Id": {

                "N": "101"

              }

            },

            "StreamViewType": "NEW_AND_OLD_IMAGES"

          },

          "awsRegion": "ap-northeast-1",

          "eventName": "MODIFY",

          "eventSourceARN": "arn:aws:dynamodb:ap-northeast-1:382459439888:table/sbrtest0313",

          "eventSource": "aws:dynamodb"

        },

        {

          "eventID": "3",

          "eventVersion": "1.0",

          "dynamodb": {

            "Keys": {

              "Id": {

                "N": "101"

              }

            },

            "SizeBytes": 38,

            "SequenceNumber": "333",

            "OldImage": {

              "Message": {

                "S": "This item has changed"

              },

              "Id": {

                "N": "101"

              }

            },

            "StreamViewType": "NEW_AND_OLD_IMAGES"

          },

          "awsRegion": "ap-northeast-1",

          "eventName": "REMOVE",

          "eventSourceARN": "arn:aws:dynamodb:ap-northeast-1:382459439888:table/sbrtest0313",

          "eventSource": "aws:dynamodb"

        }

      ]

    }

    1. 函数页面会显示测试成功
    2. 在DynamoDB的触发选项中,也能够发现出现了新的数据。
  • 相关阅读:
    九度OJ 1010 A+B
    九度OJ 1052 找x
    oracle数据库创建备份与恢复 脚本
    在select标签中添加a标签
    如何在select标签中使用a标签跳转页面
    网站访问不了
    js实现input的赋值
    PHP如何实现百万级数据导出
    互联网产品需求管理杂思2需求收集,互联网营销 狼人:
    做网站用UTF8还是GB2312?,互联网营销 狼人:
  • 原文地址:https://www.cnblogs.com/cnqfz/p/8603139.html
Copyright © 2011-2022 走看看