Je hebt een Amazon S3-gebeurtenisbron geconfigureerd om een AWS Lambda-functie te triggeren wanneer objecten worden aangemaakt of bijgewerkt in een specifieke S3-bucket. De Lambda gebruikt de bucketnaam en object key van de gebeurtenis om het object te lezen en de inhoud ervan te parsen, waarna de geparste gegevens naar een DynamoDB-tabel worden geschreven. De uitvoeringsrol van de Lambda heeft machtigingen om de S3-bucket te lezen en naar DynamoDB te schrijven, maar de functie wordt niet aangeroepen wanneer objecten worden toegevoegd of gewijzigd. Wat lost het probleem op?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Voeg een resource-based beleid toe aan de Lambda-functie dat Amazon S3 toestemming geeft om de functie voor die bucket aan te roepen..
Waarom dit het antwoord is
De correcte oplossing is het toevoegen van een resource-based beleid aan de Lambda-functie. Dit beleid verleent Amazon S3 expliciet de benodigde toestemming om de Lambda-functie aan te roepen wanneer een objectgebeurtenis plaatsvindt in de geconfigureerde S3-bucket. Zonder deze toestemming kan S3 de Lambda niet triggeren, zelfs als de uitvoeringsrol van de Lambda de juiste machtigingen heeft om S3 en DynamoDB te benaderen. Een S3-bucketbeleid is niet voldoende, omdat dit alleen de toegang tot de S3-bucket zelf regelt, niet de mogelijkheid van S3 om andere services aan te roepen. Het configureren van SQS-wachtrijen als bestemmingen of on-failure bestemmingen lost het initiële probleem van het niet aanroepen van de Lambda door S3 niet op; dit zijn oplossingen voor het routeren van gebeurtenissen of het afhandelen van fouten, niet voor het verlenen van aanroepmachtigingen.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig