AWS Lambda fonction écrire S3
J'ai un Nœud 4.3 fonction Lambda dans AWS. Je veux être capable d'écrire un fichier texte pour S3 et avoir lu de nombreux tutoriels sur la façon d'intégrer avec S3. Cependant, elles sont toutes sur la façon d'appeler les Lambda fonctions après l'écriture de S3.
Comment puis-je créer un fichier texte dans S3 à partir de Lambda à l'aide d'un noeud? Est-ce possible? Les amazones de la documentation ne semble pas couvrir.
Vous devez vous connecter pour publier un commentaire.
Oui, il est tout à fait possible!
Assurez-vous que vous donnez à votre fonction Lambda requis autorisations d'écriture à la cible compartiment s3 /chemin d'accès clé en sélectionnant ou de mettre à jour le Rôle IAM votre lambda s'exécute sous.
IAM Déclaration d'ajouter:
Pour en savoir plus:
bucket
vient deprocess.env.BUCKET_NAME
, mais quel est exactement lekey
chemin, etdata
? Que faire si vous êtes l'écriture du fichier dans le Lambda d'abord, puis le mettre dans un seau?key
est tout ce qui va après votre seau nom. Par exemple, pourhttps://mybucket.s3.amazonaws.com/path/to/image.jpg
, la clé estpath/to/image.jpg.
Vous pouvez télécharger le fichier sur s3 en utilisant
Si vous utilisez IAM de l'utilisateur, alors vous devez fournir une clé d'accès et la clé secrète, et assurez-vous que vous avez fourni les autorisations nécessaires à la IAM utilisateur.
Ici, j'ai temporairement codée en dur AWS d'accès et la clé secrète pour des fins de test. Pour les meilleures pratiques reportez-vous à la la documentation.
IAM Déclaration pour serverless.com - Écrire à S3 pour compartiment spécifique
Après un long moment de silence-à défaut de la Tâche a expiré au bout de X", sans aucune bonne message d'erreur, je suis retourné au début, à Amazon modèle par défaut exemple, et ça a fonctionné!
Voici ma version remaniée de amazon exemple: