Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Come posso risolvere i problemi relativi a Operazioni in batch Amazon S3?
Quando creo un processo di Operazioni in batch Amazon Simple Storage Service (Amazon S3) per oggetti presenti nel mio bucket, Amazon S3 restituisce un errore. Oppure il processo Operazioni in batch Amazon S3 ha esito negativo.
Risoluzione
Per tenere traccia degli errori di un processo, richiedi i dettagli del processo o un report di completamento. Dopo aver determinato la causa e risolto il problema, invia nuovamente processo di Operazioni in batch S3.
Nota: se ricevi errori quando esegui i 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.
Il formato del file manifesto .csv o .json non è corretto
Amazon S3 Batch Operations supporta i file manifesto di inventario .csv e .json. Se non formatti correttamente il file manifesto, devi creare un nuovo processo batch in Amazon S3 e specificare il formato corretto.
Quando specifichi il manifesto, intraprendi le seguenti azioni:
- Per il report di inventario Amazon S3, utilizza un report in formato .csv e specifica il file manifest.json associato al report.
- Per i file .csv, includi il nome del bucket e la chiave dell'oggetto in ogni riga del file manifesto. Puoi anche includere la versione dell'oggetto. Se includi gli ID di versione nel manifesto, devi comunque specificare gli ID per tutti gli oggetti.
Nota: devi codificare le chiavi degli oggetti tramite URL. - Se gli oggetti si trovano in un bucket con versione, è necessario specificare gli ID di versione per gli oggetti. In caso contrario, il processo batch avrà esito negativo. Oppure Amazon S3 potrebbe applicare il processo batch alla versione errata dell'oggetto.
Il file manifesto specifica più nomi di bucket o contiene più righe di intestazione
Se tutti gli oggetti elencati nel file manifesto non esistono nello stesso bucket, viene visualizzato il seguente messaggio di errore:
"Reasons for failure: Impossibile avere più di 1 bucket per processo. JOB_ID"
Assicurati che il tuo file manifesto specifichi un solo nome di bucket e non contenga righe di intestazione.
Esempio di file manifesto contenente più righe di intestazione:
bucket,keymy-batch-bucket,object001.txt my-batch-bucket,object002.txt my-batch-bucket,object003.txt my-batch-bucket,object004.txt
Il ruolo IAM non dispone dell'autorizzazione per leggere il file manifesto
Se il ruolo AWS Identity and Access Management (IAM) non dispone dell'autorizzazione per leggere il manifesto, viene visualizzato uno dei seguenti errori:
"Reason for failure Reading the manifest is forbidden: AccessDenied" da AWS CLI.
-oppure-
"Warning: Unable to get the manifest object's ETag. Specify a different object to continue" dalla console Amazon S3.
Il ruolo IAM che crea il processo di Operazioni in batch S3 deve disporre dell'autorizzazione di lettura GetObject per il file manifesto. Controlla i metadati dell'oggetto per eventuali discrepanze di accesso con Proprietà dell'oggetto S3. Inoltre, cerca eventuali chiavi non supportate del Sistema AWS di gestione delle chiavi (AWS KMS) che crittografano il file manifesto.
**Nota:**Operazioni in batch S3 supporta i report di inventario in formato .csv con crittografia AWS KMS. Operazioni in batch S3 non supporta i file manifesto .csv con crittografia AWS KMS. Per ulteriori informazioni, consulta la sezione Configurazione dell'inventario utilizzando la console S3.
Il processo batch si trova in una Regione diversa
I processi di copia di Operazioni in batch S3 devono trovarsi nella stessa regione AWS del bucket di destinazione. Ad esempio, se il bucket di destinazione si trova nella regione us-west-2, seleziona us-west-2 come Regione quando crei il processo batch.
Manca il bucket di destinazione per il report di inventario S3
Deve essere presente un bucket di destinazione per il manifesto generato da Operazioni in batch S3. La policy del bucket di Amazon S3 deve consentire anche l'operazione S3:PutObject. Se il processo invia il report a un altro account AWS, verifica che il bucket di destinazione consenta al ruolo IAM di eseguire l'operazione s3:PutObject.
Manca la policy di attendibilità del ruolo IAM
La policy di attendibilità di un ruolo IAM definisce le condizioni richieste affinché altri principali assumano il ruolo. Per consentire ai principali di Operazioni in batch S3 di assumere il ruolo IAM, collega una policy di attendibilità al ruolo.
Esempio di policy:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "batchoperations.s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Nota: assicurati di specificare un ruolo IAM e non un utente IAM.
Al ruolo IAM mancano le autorizzazioni per creare un processo batch
Per creare un processo di Operazioni in batch S3, concedi al ruolo IAM l'autorizzazione s3:CreateJob. L'entità che crea il processo deve inoltre disporre dell'autorizzazione iam:PassRole per passare il ruolo IAM specificato per il processo batch. Per ulteriori informazioni, consulta la sezione Elementi delle policy IAM JSON: Resource.
Al ruolo IAM mancano le autorizzazioni per eseguire operazioni del processo batch
Assicurati di concedere al ruolo IAM le autorizzazioni corrette per eseguire operazioni specifiche in un processo batch.
Esempio di policy IAM con le autorizzazioni richieste per l'operazione di copia:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::{{DestinationBucket}}/*" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::{{SourceBucket}}", "arn:aws:s3:::{{SourceBucket}}/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::{{ManifestBucket}}/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::{{ReportBucket}}/*" ] } ] }
La SCP di Organizations nega l'accesso
Se utilizzi AWS Organizations, conferma che nella policy di controllo dei servizi (SCP) non siano presenti istruzioni Deny che negano l'accesso ad Amazon S3. In caso contrario, potresti ricevere un errore Access Denies quando crei un processo batch.
Esempio di SCP che nega esplicitamente tutte le azioni S3:
{ "Version": "2012-10-17", "Statement": [ { "Principal": "*", "Effect": "Deny", "Action": "s3:*", "Resource": "*" } ] }
Per applicare una policy restrittiva, aggiungi il ruolo IAM assunto da Operazioni batch S3 all'elenco delle autorizzazioni.
Esempio di policy restrittiva:
{ "Version": "2012-10-17", "Statement": [ { "Principal": "*", "Effect": "Deny", "Action": "s3:*", "Resource": "*", "Condition": { "StringNotLike": { "aws:userId": [ "AROAEXAMPLEID:*", "AIDAEXAMPLEID", "111111111111" ] } } } ] }
L'ID versione per un oggetto non è presente nel manifesto
Se un processo di Operazioni batch trova un oggetto nel manifesto con un campo ID di versione vuoto, viene visualizzato il seguente errore:
"Error: BUCKET_NAME,prefix/file_name,failed,400,InvalidRequest,Attività non riuscita per mancanza dell'ID versione"
Se il formato manifesto utilizza gli ID di versione durante l'operazione, il campo ID versione non può essere una stringa vuota. Il campo ID versione deve essere invece una stringa nulla. Per risolvere il problema, converti gli ID di versione vuoti in stringhe nulle.
**Nota:**Operazioni batch ha esito negativo solo per l'oggetto specificato, non per l'intero processo.
Amazon S3 non fornisce il report del processo perché utilizzi la conservazione Object Lock
Quando configuri la conservazione Object Lock S3 per un bucket di destinazione in modalità di governance o di conformità, ricevi il seguente errore:
"Error: Motivi dell'errore. The job report could not be written to your bucket. Check your permissions."
Amazon S3 non supporta Object Lock per i bucket di destinazione con configurazioni eseguite in modalità di conservazione. Quando configuri la modalità di conservazione, il bucket è protetto da WORM (write-once-read-many). Per risolvere il problema, scegli un bucket di destinazione che non preveda la conservazione Object Lock.
Nota: solo il report di completamento ha esito negativo, non il processo. Il processo viene completato correttamente e tutti gli oggetti vengono elaborati.
Le versioni ETag non corrispondono
Se il valore ETag sulla console Amazon S3 o su AWS CLI non corrisponde all'Etag nel bucket, ricevi il seguente errore:
"Error reading the manifest. Causato da: mancata corrispondenza tra ETag. ETag atteso: 69f52a4e9f797e987155d9c8f5880897"
Quando crei il manifesto nel processo di Operazioni batch, puoi specificare la chiave dell'oggetto manifesto, l'ETag e l'ID di versione opzionale. Assicurati che il valore ETag corrisponda all'ETag dell'ultima versione dell'oggetto manifesto nel bucket S3. Nella scheda Operazioni in batch della console Amazon S3, controlla l'ETag dell'oggetto manifesto nelle proprietà del file manifesto. In AWS CLI, controlla il valore dell'Etag trasmesso dalla specifica del manifesto.
Errori HTTP 500 e 503
Quando ricevi un codice di stato 500 Internal Error, Amazon S3 non è in grado di elaborare la richiesta. Riceverai il codice di stato 503 Slow Down quando il numero di richieste al bucket S3 è elevato. È consigliabile integrare una logica di ripetizione dei tentativi nelle applicazioni che inviano richieste ad Amazon S3. Per risolvere il problema, consulta Come faccio a risolvere un errore HTTP 500 o 503 di Amazon S3?

Contenuto pertinente
- AWS UFFICIALEAggiornata un anno fa