Mes excuses pour la question de base. Je suis complètement nouveau sur AWS ainsi que sur Python. J'essaie de faire un exemple de code donné dans https://boto3.readthedocs.io/en/latest/guide/migrations3.html#accessing-a-bucket mais face à une erreur.
import botocore
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('bucketname')
exists = True
try:
s3.meta.client.head_bucket(Bucket='bucketname')
except botocore.exceptions.ClientError as e:
# If a client error is thrown, then check that it was a 404 error.
# If it was a 404 error, then the bucket does not exist.
error_code = int(e.response['Error']['Code'])
if error_code == 404:
exists = False
L'erreur dans les journaux est
"errorMessage": "Le gestionnaire 'lambda_handler' est manquant sur le module 'lambda_function'"
Vous devez définir une fonction dans votre code. Le code ne contient pas la fonction nommée lambda_handler
. Votre code devrait ressembler à:
import botocore
import boto3
def lambda_handler(event, context):
s3 = boto3.resource('s3')
bucket = s3.Bucket('bucketname')
exists = True
try:
s3.meta.client.head_bucket(Bucket='bucketname')
except botocore.exceptions.ClientError as e:
# If a client error is thrown, then check that it was a 404 error.
# If it was a 404 error, then the bucket does not exist.
error_code = int(e.response['Error']['Code'])
if error_code == 404:
exists = False