de cette façon
s3 = boto3.client("s3")
pdf_filepath = 'tmp/' + key.split('/')[-1]
print(pdf_filepath)
# => tmp/20191016101246759.pdf
s3.download_file(bucket, key, pdf_filepath)
Si vous exécutez le code qui télécharge le fichier depuis S3
[ERROR] FileNotFoundError: [Errno 2] No such file r directory: 'tmp/20191016101246759.pdf.47cf5CFA'
Une chaîne de caractères mystérieuse est jointe comme celle-ci et je ne peux pas la télécharger en raison d'une erreur.
Chez Lambda
-Seuls les fichiers sous / tmp
peuvent être modifiés </ b>
/ tmp
(vous ne pouvez pas créer de répertoire sous / tmp
) </ b>Il y a une limitation.
Par conséquent, si vous essayez de télécharger vers un emplacement autre que / tmp
, ou si vous essayez de télécharger en le divisant en répertoires tels que / tmp / food / chocolate.jpg
, une erreur se produira.
Dans ce cas, j'essaye d'enregistrer dans tmp /
s3 = boto3.client("s3")
pdf_filepath = '/tmp/' + key.split('/')[-1]
print(pdf_filepath)
# => /tmp/20191016101246759.pdf
s3.download_file(bucket, key, pdf_filepath)
J'ai pu le télécharger en toute sécurité en le spécifiant directement sous / tmp
.
Recommended Posts