【发布时间】:2019-04-16 20:51:31
【问题描述】:
我在使用 Amplify 构建的 React 应用程序中使用适用于 Javascript 的 AWS 开发工具包时遇到问题。在成功将图像上传到 S3 后,我正在尝试写入 DynamoDB 表。图片上传当前有效,但写入测试 DynamoDB 表的 SDK 方法无效。
import React, { Component } from 'react';
import { Auth } from 'aws-amplify'
import { withAuthenticator } from 'aws-amplify-react'
import { Storage } from 'aws-amplify';
const aws = require('aws-sdk'); //"^2.2.41"
handleSubmit = (event) => {
event.preventDefault();
if (this.state.file == null) {
alert("File Not Chosen")
}
else {
const file = this.state.file;
Storage.put(this.state.name, file, {
contentType: 'image',
bucket:'myapp-20181030214040-deployment'
})
.then (result => console.log(result))
.catch(err => console.log(err));
}
Auth.currentCredentials()
.then(credentials => {
const dynamodb = new aws.DynamoDB({
apiVersion: '2012-08-10',
credentials: Auth.essentialCredentials(credentials)
});
let params = {
Item: {
"testKey": {
S: "test1"
}
},
ReturnConsumedCapacity: "TOTAL",
TableName: "test"
};
dynamodb.putItem(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
/*
data = {
ConsumedCapacity: {
CapacityUnits: 1,
TableName: "Music"
}
}
*/
});
})
}
句柄提交的第一部分有效,直到 Storage.put,但尽管编译,DynamoDB putItem 方法似乎没有做任何事情。谁能指出我将它们一起使用的正确方向?
【问题讨论】:
标签: javascript reactjs amazon-web-services aws-sdk aws-amplify