2

我使用@model 注释创建了一个表和一个函数,该函数将该表中的一个条目作为 PostAuthentication 触发器添加到用户池。当我将它推送到 AWS 时它工作正常。但在本地测试时面临一些问题。

MockData 在 amplify/mock-data/dynamodb/fake_us-fake-1.db

在函数/function_name/index.js

import AWS from 'aws-sdk';
import { Logger } from '@dev.tools.thinkclear/common-util';

const options = {
  region: 'us-fake-1',
  endpoint: "<local_url>:62224/",
  accessKeyId: "fake",
  secretAccessKey: "fake"
};

AWS.config.update( {
  region: 'us-fake-1',
  endpoint: "<local_url>:62224/",
  accessKeyId: "fake",
  secretAccessKey: "fake"
});

const dynamoDBClientVar = new AWS.DynamoDB.DocumentClient(options);
// Some Data params 
const data = await dynamoDBClient.put(params).promise();

local_url 与运行放大模拟 api的 url 相同。将 dynamodb 的端口更改为 62224。

放大模拟函数function_name

它抛出错误:NetworkingError:连接 ECONNREFUSED 错误。

检查此答案以供参考: https ://stackoverflow.com/a/58925502/4578915

4

1 回答 1

1

我已经配置了它,它对我来说工作正常,

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

// Local
const dynamoDb = new AWS.DynamoDB.DocumentClient({
    region: 'us-fake-1',
    endpoint: "http://localhost:62224/",
    accessKeyId: "fake",
    secretAccessKey: "fake"
});

// Live
// const dynamoDb = new AWS.DynamoDB.DocumentClient();

请配合以上设置,如有疑问请留言。

于 2020-11-26T10:10:08.310 回答