web-dev-qa-db-fra.com

Erreur de gestionnaire manquante dans AWS Lambda

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

7
chpsam

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
17
krishna_mee2004