0
votes

Ma fonction simple Lambda renvoie NULL pour S3 ListBucket. Que pourrais-je me tromper?

Je suis juste en train d'essayer de la liste de base tous mes godets, mais ce n'est pas tiré, aucune idée de ce que je voudrais faire de mal? XXX

Valeur de retour est NULL et que vous trouverez la sortie de mon journal < / p>

Démarrer la demande: 827acca9-3E91-405D-A031-7FAC249284A0 Version: $ Dernière Demande de fin: 827CA9-3E91-405D-A031-7FAC249284A0 Rapport requis: 827acca9-3e91-405D-A031-7FAC249284A0 Durée: 45,66 ms Durée de la facture: 100 ms Taille de la mémoire: 1024 MB Mémoire Max utilisée: 31 Mo


0 commentaires

3 Réponses :


0
votes

Essayez ceci: xxx

avez-vous défini correctement les paramètres AWS?


3 commentaires

@lwko que la pièce de code ne fonctionne pas non plus et le même résultat. Par des paramètres AWS, vous voulez dire le rôle IAM? quand j'exécute le code localy en invoquant le nœud gestionnaire.js ça marche et je reçois la liste des godets, mais à Lambda, il n'a pas


@ user2763557 Vous devez spécifier des informations d'identification et une région dans la configuration, comme ici docs.aws.amazon.com/sdk-for-javascript/v2/developer-Guide/...


J'ai mis à la fois ces deux, toute autre suggestion?



0
votes

Je l'ai compris. On devrait supprimer ASYNC et cela fonctionne, je ne sais pas pourquoi, mais cela fonctionne maintenant. Si quelqu'un peut laisser tomber l'explication ici, ce serait génial!


0 commentaires

1
votes

Si vous utilisez ASYNC, vous devez promener la fonction AWS et l'attendre comme suit:

   '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 commentaires