Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso risolvere l'errore "Configuration is ambiguously defined" quando ho provato a creare una notifica di eventi in Amazon S3 per attivare la mia funzione Lambda?
Ho provato a creare una notifica di eventi nel bucket Amazon Simple Storage Service (Amazon S3) per attivare la mia funzione AWS Lambda e ho ricevuto un errore.
Breve descrizione
L'errore "Configuration is ambiguously defined error" si verifica quando le informazioni sull'evento di una notifica e il relativo prefisso o suffisso si sovrappongono alla configurazione di notifica di un bucket S3.
Per risolvere l'errore, esegui una delle seguenti azioni:
- Rimuovi l'evento sovrapposto e creane uno nuovo.
- Crea una notifica di eventi S3 per più eventi sovrapposti con prefissi o suffissi sovrapposti.
- Ridisegna la tua architettura.
Nota: le configurazioni di notifica degli eventi di Amazon S3 consentono eventi sovrapposti con prefissi o suffissi non sovrapposti. Le configurazioni consentono anche eventi non sovrapposti con prefissi o suffissi sovrapposti.
Per ulteriori informazioni ed esempi, consulta Configuring event notifications using object key name filtering.
Risoluzione
Nota: se ricevi errori durante l’esecuzione dei comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Rimuovi l'evento sovrapposto e creane uno nuovo
Per eliminare notifiche di eventi sovrapposti, utilizza la console Amazon S3 o l'interfaccia della linea di comando AWS.
Nota: quando elimini un trigger di funzione Lambda, la notifica dell'evento S3 associata non viene automaticamente eliminata. Devi inoltre eliminare la notifica in Amazon S3 prima di creare un nuovo trigger senza vincoli di suffisso.
Console Amazon S3
Completa i seguenti passaggi:
- Apri la console Amazon S3, quindi seleziona il bucket.
- Scegli la scheda Proprietà.
- In Notifiche degli eventi, scegli la notifica dell'evento che si sovrappone a quella nuova che hai cercato di creare.
- Scegli Elimina.
- Scegli Crea una notifica degli eventi.
- Nell'elenco a discesa Funzione Lambda, seleziona la funzione, quindi scegli Salva le modifiche.
AWS CLI
Utilizza l'Interfaccia della linea di comando AWS per aggiornare il file JSON di configurazione delle notifiche sul tuo bucket S3. Per ottenere un elenco di tutte le notifiche di eventi configurate nel bucket S3, esegui il comando AWS CLI get-bucket-notification-configuration. Per rimuovere tutte le notifiche di eventi S3, esegui il comando AWS CLI put-bucket-notification-configuration:
aws s3api put-bucket-notification-configuration --bucket=your-bucket-name --notification-configuration="{}"
Nota: sostituisci your-bucket-name con il nome del tuo bucket.
Dopo aver rimosso la notifica dell’evento sovrapposto, puoi eseguire il comando AWS CLI put-bucket-notification-configuration per aggiungere nuove notifiche.
Crea una notifica di eventi S3 per più eventi sovrapposti con prefissi o suffissi sovrapposti
Completa i seguenti passaggi:
- Apri la console Amazon S3, quindi seleziona il bucket.
- Scegli la scheda Proprietà.
- In Notifiche degli eventi, scegli Crea una notifica degli eventi.
- In Nome dell'evento, inserisci un nome per l'evento, ad esempio your-event-name.
- In Prefisso, inserisci un prefisso, ad esempio images/.
- In Suffisso, inserisci un suffisso, ad esempio .jpg.
- Per Tipi di eventi, scegli All objects create events (Tutti gli oggetti creano eventi).
- Nell'elenco a discesa Funzione Lambda, scegli la funzione Lambda.
- Scegli Salva le modifiche.
Ridisegna la tua architettura
Se non riesci a riconfigurare una notifica di eventi S3 per evitare la sovrapposizione, prova a riprogettare la tua architettura per aggirare il problema.
Ad esempio, configura una notifica di eventi per attivare una funzione Lambda che attivi altre funzioni Lambda in base all'evento S3. Oppure configura una notifica di eventi per pubblicare eventi su un topic di Amazon Simple Notification Service (Amazon SNS) o su una coda di Amazon Simple Queue Service (Amazon SQS).
Nota: assicurati che il topic o la coda inviino gli eventi a più funzioni Lambda sottoscritte. Progetta le funzioni sottoscritte con logica per decidere se elaborare gli eventi ricevuti dalle funzioni. Per ulteriori informazioni, consulta Fanout S3 event notifications to multiple endpoints (Fanout di notifiche di eventi S3 a più endpoint).
Puoi anche attivare la registrazione a livello di oggetto delle azioni di Amazon S3 su AWS CloudTrail. Quindi utilizza una regola Amazon EventBridge per attivare la funzione Lambda in base al modello di evento Amazon S3. Per ulteriori informazioni, consulta Tutorial: registra le operazioni a livello di oggetto di Amazon S3 utilizzando EventBridge.
Per architetture e processi più complessi, utilizza una macchina a stati AWS Step Functions per progettare e gestire il flusso di lavoro. Per ulteriori informazioni, consulta Casi d'uso di AWS Step Functions e Tutorial per imparare Step Functions.
Informazioni correlate
Elaborare le notifiche di eventi Amazon S3 con Lambda
Tutorial: Using an Amazon S3 trigger to invoke a Lambda function
- Argomenti
- ServerlessCompute
- Tag
- AWS Lambda
- Lingua
- Italiano
Video correlati

