AWS S3 から JSON ファイルを呼び出す Amazon Echo のスキルを作成しようとしています。s3 basic get 関数からコードを呼び出すと、機能します。また、Amazon Alexa コードは単独で動作します。
しかし、それらを一緒に呼び出すと、関数はスキップされます。したがって、次のコードでは、コンソールは の前後に呼び出されs3.getObject()
ます。しかし、真ん中のものはスキップされます。私はなぜなのか理解していない。
s3が呼び出されているかどうかも確認しましたが、そうです。
let aws = require('aws-sdk');
let s3 = new aws.S3({ apiVersion: '2006-03-01'});
function callS3() {
console.log('loading S3 function');
var myData = [];
const params = {
Bucket: 'cvo-echo',
Key: 'data.json'
};
console.log("trying to get s3");
s3.getObject(params, (err, data) => {
if (err) {
console.log('error in s3 get: \n' + err);
//const message = `Error getting object ${key} from bucket ${bucket}.
// Make sure they exist and your bucket is in same region as this function.
//console.log(message);
} else {
console.log('CONTENT TYPE: ', data.ContentType);
console.log('Data body: \n' + data.Body.toString());
myData = JSON.parse(data.Body.toString());
console.log('myData.length = ' + myData.length);
}
console.log('myData >> ' + myData);
});
console.log('finished callS3() func');
return myData;
}