Моя простая лямбда-функция возвращает ноль для s3 listbucket.Что я могу делать не так? - PullRequest
0 голосов
/ 28 января 2019

Я просто пытаюсь составить базовый список всех своих сегментов, но он не запускается, есть идеи, что я могу делать неправильно?

'use strict';
var AWS = require('aws-sdk');
var s3 = new AWS.S3();

module.exports.hello = async (event, context) => {
  // console.log("hi yall");
  // return "hello";
  var params = {};
 s3.listBuckets(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
 });

};

возвращаемое значение равно нулю, а следующий вывод моего журнала

START RequestId: 827acca9-3e91-405d-a031-7fac249284a0 Версия: $ LATEST END RequestId: 827acca9-3e91-405d-a031-7fac249284a0 ОТЧЕТ ЗАПРОС Запроса: 827acca9-3e91-405d-a031-760100 мс Объем памяти: 1024 МБ Макс. Используемая память: 31 МБ

Ответы [ 3 ]

0 голосов
/ 28 января 2019

Я понял это.Нужно удалить асинхронный и он работает, не знаю почему, но он работает сейчас.Если кто-то может опустить объяснение здесь, это было бы здорово!

0 голосов
/ 29 января 2019

если вы используете асинхронный режим, вам следует обещать функцию AWS и ждать ее следующим образом:

   'use strict';
   var AWS = require('aws-sdk');
   var s3 = new AWS.S3();

   module.exports.handler = async (event, context) => {

     var params = {};
     let data = await s3.listBuckets(params).promise();
     console.log(data); 
     }
0 голосов
/ 28 января 2019

Попробуйте:

 s3.listBuckets(function(err, data) {
   if (err) console.log(err, err.stack); 
   else     console.log(data);           
 });

Правильно ли настроены параметры AWS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...