

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risoluzione dei problemi relativi a AWS Glue
<a name="troubleshooting-glue"></a>

 Se riscontri problemi durante l'utilizzo AWS Glue, consulta gli argomenti di questa sezione. 


|  | 
| --- |
|  Per la risoluzione dei problemi di Apache Spark in AWS Glue, consulta Risoluzione dei problemi di [intelligenza artificiale generativa per Apache Spark, in AWS Glue cui fornisce assistenza basata sull'intelligenza artificiale per la diagnosi e la risoluzione](https://docs.aws.amazon.com/glue/latest/dg/troubleshoot-spark.html) dei problemi relativi ai job di Spark. Trasforma la risoluzione dei problemi di Apache Spark con il nostro agente di risoluzione dei problemi basato sull'intelligenza artificiale, che ora supporta tutte le principali modalità di implementazione, tra cui AWS Glue Amazon EMR-EC2, Amazon EMR-Serverless e Amazon AI Notebooks. SageMaker Questo potente agente elimina i complessi processi di debug combinando interazioni in linguaggio naturale, analisi del carico di lavoro in tempo reale e consigli sul codice intelligente in un'esperienza senza interruzioni. Per i dettagli sull'implementazione, consulta [Cos'è l'agente di risoluzione dei problemi di Apache Spark per Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/spark-troubleshoot.html).  | 

**Topics**
+ [Raccolta di informazioni AWS Glue sulla risoluzione dei problemi](troubleshooting-contact-support.md)
+ [Risoluzione degli errori di configurazione comuni di Glue](glue-troubleshooting-errors.md)
+ [Errori del crawler quando il crawler usa le autorizzazioni di Lake Formation](error-crawler-config-lf.md)
+ [Risoluzione dei problemi relativi AWS Glue agli errori di Ray nei log](troubleshooting-ray.md)
+ [Eccezioni di machine learning AWS Glue](exceptions-machine-learning.md)
+ [AWS Glue quote](troubleshooting-service-limits.md)

# Raccolta di informazioni AWS Glue sulla risoluzione dei problemi
<a name="troubleshooting-contact-support"></a>

Se si verificano errori o comportamenti imprevisti AWS Glue e si desidera contattare Supporto AWS, è innanzitutto necessario raccogliere informazioni sui nomi e i registri associati all'azione non riuscita. IDs La disponibilità di queste informazioni consente di aiutarti Supporto a risolvere i problemi che stai riscontrando. 

Oltre all'*ID account*, raccogli le seguenti informazioni per ognuno di questi tipi di errori:

**Quando un crawler ha esito negativo, raccogli le informazioni riportate di seguito.**  
+ Il nome del crawler

  I log delle esecuzioni del crawler si trovano nella CloudWatch sezione Registri sotto. `/aws-glue/crawlers`

**Quando una connessione di prova ha esito negativo, raccogli le informazioni riportate di seguito.**  
+ Nome della connessione
+ ID connessione
+ Stringa di connessione JDBC nel modulo `jdbc:protocol://host:port/database-name`.

  I log delle connessioni di test si trovano in Logs in. CloudWatch ` /aws-glue/testconnection` 

**Quando un processo ha esito negativo, raccogli le informazioni riportate di seguito.**  
+ Nome del lavoro 
+ ID di esecuzione del processo nel formato `jr_xxxxx`.

  I log delle esecuzioni dei job si trovano nella sezione CloudWatch Registri sotto. ` /aws-glue/jobs` 

# Risoluzione degli errori di configurazione comuni di Glue
<a name="glue-troubleshooting-errors"></a>

Se riscontri errori in AWS Glue, usa le seguenti informazioni per aiutarti a trovare l'origine dei problemi e risolverli.

**Nota**  
 L' AWS Glue GitHub archivio contiene ulteriori istruzioni per la risoluzione dei problemi nelle [AWS Glue Domande frequenti](https://github.com/aws-samples/aws-glue-samples/blob/master/FAQ_and_How_to.md). 

**Topics**
+ [Errore: risorsa non disponibile](#error-resource-unavailable)
+ [Errore: impossibile trovare l'endpoint S3 o il gateway NAT per il subnetId in VPC](#error-s3-subnet-vpc-NAT-configuration)
+ [Errore: regola in entrata obbligatoria nel gruppo di sicurezza](#error-inbound-self-reference-rule)
+ [Errore: regola in uscita obbligatoria nel gruppo di sicurezza](#error-outbound-self-reference-rule)
+ [Errore: esecuzione del Job non riuscita perché al ruolo passato devono essere assegnate (presupponiamo le autorizzazioni di ruolo per il AWS Glue servizio)](#error-assume-role-user-policy)
+ [Errore: DescribeVpcEndpoints azione non autorizzata. impossibile convalidare l'ID VPC vpc-id](#error-DescribeVpcEndpoints-permission)
+ [Errore: DescribeRouteTables azione non autorizzata. impossibile convalidare l'id di sottorete: Subnet-ID in VPC id: vpc-id](#error-DescribeRouteTables-permission)
+ [Errore: chiamata a ec2 non riuscita: DescribeSubnets](#error-DescribeSubnets-permission)
+ [Errore: chiamata a ec2 non riuscita: DescribeSecurityGroups](#error-DescribeSecurityGroups-permission)
+ [Errore: impossibile trovare la sottorete per la zona di disponibilità](#error-az-not-available)
+ [Errore: eccezione dell'esecuzione del processo durante la scrittura in una destinazione JDBC](#error-job-run-jdbc-target)
+ [Errore: Amazon S3: l'operazione non è valida per la classe di archiviazione dell'oggetto](#error-s3-operation-not-valid)
+ [Errore: timeout di Amazon S3](#error-s3-timeout)
+ [Errore: accesso ad Amazon S3 negato](#error-s3-access-denied)
+ [Errore: l'ID chiave di accesso Amazon S3 non esiste](#error-s3-accesskeyid-not-found)
+ [Errore: l'esecuzione del processo restituisce un errore durante l'accesso ad Amazon S3 con un URI `s3a://`](#error-s3a-uri-directory-listing)
+ [Errore: token di servizio Amazon S3 scaduto](#error-s3-service-token-expired)
+ [Errore: non è stato trovato alcun DNS privato per l'interfaccia di rete](#error-no-private-DNS)
+ [Errore: provisioning dell'endpoint di sviluppo non riuscito](#error-development-endpoint-failed)
+ [Errore: server notebook CREATE\$1FAILED](#error-notebook-server-ec2-instance-profile)
+ [Errore: impossibile avviare il notebook locale](#error-local-notebook-fails-to-start)
+ [Errore: esecuzione del crawler non riuscita](#error-running-crawler-failed)
+ [Errore: le partizioni non sono state aggiornate](#error-update-from-job-partitions)
+ [Errore: aggiornamento del segnalibro del processo non riuscito a causa della mancata corrispondenza delle versioni](#error-job-bookmarks-limitation)
+ [Errore: un processo sta rielaborando i dati mentre i segnalibri del processo sono abilitati](#error-job-bookmarks-reprocess-data)
+ [Errore: comportamento di failover tra VPCs AWS Glue](#vpc-failover-behavior-error-10)

## Errore: risorsa non disponibile
<a name="error-resource-unavailable"></a>

Se AWS Glue restituisce un messaggio relativo alla risorsa non disponibile, puoi visualizzare i messaggi di errore o i log per ottenere ulteriori informazioni sul problema. Le attività seguenti descrivono i metodi generali per la risoluzione dei problemi.
+ Per le connessioni e gli endpoint di sviluppo in uso, controlla che il cluster non abbia esaurito le interfacce di rete elastiche.

## Errore: impossibile trovare l'endpoint S3 o il gateway NAT per il subnetId in VPC
<a name="error-s3-subnet-vpc-NAT-configuration"></a>

Controlla l'ID sottorete e l'ID VPC nel messaggio per diagnosticare il problema.
+ Verifica che sia configurato un endpoint VPC Amazon S3, che è necessario con AWS Glue. Quindi, controlla se il gateway NAT fa parte della configurazione. Per ulteriori informazioni, consulta [Endpoint Amazon VPC per Amazon S3](vpc-endpoints-s3.md).

## Errore: regola in entrata obbligatoria nel gruppo di sicurezza
<a name="error-inbound-self-reference-rule"></a>

Almeno un gruppo di sicurezza deve aprire tutte le porte di ingresso. Per limitare il traffico, è possibile limitare il gruppo di sicurezza di origine in una regola in entrata allo stesso gruppo di sicurezza.
+ Per le connessioni in uso, verifica nel tuo gruppo di sicurezza la presenza di una regola in entrata autoreferenziale. Per ulteriori informazioni, consulta [Impostazione dell'accesso di rete agli archivi di dati](start-connecting.md).
+ Quando usi un endpoint di sviluppo, verifica nel gruppo di sicurezza la presenza di una regola in entrata autoreferenziale. Per ulteriori informazioni, consulta [Impostazione dell'accesso di rete agli archivi di dati](start-connecting.md).

## Errore: regola in uscita obbligatoria nel gruppo di sicurezza
<a name="error-outbound-self-reference-rule"></a>

Almeno un gruppo di sicurezza deve aprire tutte le porte di uscita. Per limitare il traffico, è possibile limitare il gruppo di sicurezza di origine in una regola in uscita allo stesso gruppo di sicurezza.
+ Per le connessioni in uso, verifica nel tuo gruppo di sicurezza la presenza di una regola in uscita autoreferenziale. Per ulteriori informazioni, consulta [Impostazione dell'accesso di rete agli archivi di dati](start-connecting.md).
+ Quando usi un endpoint di sviluppo, verifica nel gruppo di sicurezza la presenza di una regola in uscita autoreferenziale. Per ulteriori informazioni, consulta [Impostazione dell'accesso di rete agli archivi di dati](start-connecting.md).

## Errore: esecuzione del Job non riuscita perché al ruolo passato devono essere assegnate (presupponiamo le autorizzazioni di ruolo per il AWS Glue servizio)
<a name="error-assume-role-user-policy"></a>

L'utente che definisce un processo deve avere l'autorizzazione `iam:PassRole` per AWS Glue.
+ Quando un utente crea un AWS Glue lavoro, conferma che il ruolo dell'utente contenga una politica che contenga `iam:PassRole` for AWS Glue. Per ulteriori informazioni, consulta [Fase 3: Collegamento di una policy agli utenti o ai gruppi che accedono a AWS Glue](attach-policy-iam-user.md).

## Errore: DescribeVpcEndpoints azione non autorizzata. impossibile convalidare l'ID VPC vpc-id
<a name="error-DescribeVpcEndpoints-permission"></a>
+ Controlla la policy a cui è stata assegnata l'autorizzazione. AWS Glue `ec2:DescribeVpcEndpoints`

## Errore: DescribeRouteTables azione non autorizzata. impossibile convalidare l'id di sottorete: Subnet-ID in VPC id: vpc-id
<a name="error-DescribeRouteTables-permission"></a>
+ Controlla la policy AWS Glue a `ec2:DescribeRouteTables` cui è stata passata l'autorizzazione.

## Errore: chiamata a ec2 non riuscita: DescribeSubnets
<a name="error-DescribeSubnets-permission"></a>
+ Controlla la policy a cui è stata passata AWS Glue l'`ec2:DescribeSubnets`autorizzazione.

## Errore: chiamata a ec2 non riuscita: DescribeSecurityGroups
<a name="error-DescribeSecurityGroups-permission"></a>
+ Controlla la policy a cui è stata passata AWS Glue l'` ec2:DescribeSecurityGroups`autorizzazione.

## Errore: impossibile trovare la sottorete per la zona di disponibilità
<a name="error-az-not-available"></a>
+ La zona di disponibilità potrebbe non essere disponibile per AWS Glue. Crea e utilizza una nuova sottorete in una zona di disponibilità diversa da quella specificata nel messaggio.

## Errore: eccezione dell'esecuzione del processo durante la scrittura in una destinazione JDBC
<a name="error-job-run-jdbc-target"></a>

Quando esegui un processo che scrive in una destinazione JDBC, il processo potrebbe riscontrare errori nei seguenti scenari:
+ Se il processo scrive in una tabella di Microsoft SQL Server e la tabella ha colonne definite di tipo `Boolean`, la tabella deve essere predefinita nel database SQL Server. Quando si definisce il processo sulla AWS Glue console utilizzando una destinazione SQL Server con l'opzione **Crea tabelle nella destinazione dei dati**, non mappare alcuna colonna di origine su una colonna di destinazione con tipo di dati`Boolean`. Potresti riscontrare un errore durante l'esecuzione del processo.

  Puoi evitare gli errori seguendo questa procedura:
  + Scegli una tabella esistente con la colonna **Boolean** (Booleano).
  + Modifica la trasformazione `ApplyMapping` e mappa la colonna **Boolean** (Booleano) nell'origine a un numero o una stringa della destinazione.
  + Modifica la trasformazione `ApplyMapping` per rimuovere la colonna **Boolean** (Booleano) dall'origine.
+ Se il processo scrive in una tabella Oracle, potrebbe essere necessario regolare la lunghezza dei nomi degli oggetti Oracle. In alcune versioni di Oracle, la lunghezza massima degli identificatori è limitata a 30 byte o 128 byte. Questo limite riguarda i nomi di tabella e di colonna dei datastore di destinazione di Oracle.

  Puoi evitare gli errori seguendo questa procedura:
  + Denomina le tabelle di destinazione di Oracle entro il limite della tua versione.
  + I nomi di colonna predefiniti sono generati dai nomi dei campi nei dati. Per gestire il caso in cui i nomi di colonna sono più lunghi del limite, utilizza le trasformazioni `ApplyMapping` o `RenameField` per modificare il nome della colonna in modo che sia entro il limite.

## Errore: Amazon S3: l'operazione non è valida per la classe di archiviazione dell'oggetto
<a name="error-s3-operation-not-valid"></a>

Se AWS Glue restituisce questo errore, è possibile che il tuo AWS Glue lavoro stia leggendo dati da tabelle con partizioni tra livelli di classi di storage Amazon S3.
+ Utilizzando le esclusioni delle classi di storage, puoi assicurarti che i tuoi AWS Glue job funzionino su tabelle con partizioni tra questi livelli di classi di storage. Senza esclusioni, i processi che leggono i dati da questi livelli falliscono con il seguente errore: `AmazonS3Exception: The operation is not valid for the object's storage class`.

  Per ulteriori informazioni, consulta [Esclusione delle classi di storage Amazon S3](aws-glue-programming-etl-storage-classes.md).

## Errore: timeout di Amazon S3
<a name="error-s3-timeout"></a>

Se AWS Glue restituisce un errore di timeout della connessione, potrebbe essere perché sta tentando di accedere a un bucket Amazon S3 in un'altra regione. AWS 
+ Un endpoint VPC Amazon S3 può indirizzare il traffico solo verso i bucket all'interno di una regione. AWS Se hai bisogno di connetterti ai bucket di altre regioni, una possibile soluzione alternativa è quella di utilizzare un gateway NAT. Per ulteriori informazioni, consulta [Gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).

## Errore: accesso ad Amazon S3 negato
<a name="error-s3-access-denied"></a>

Se AWS Glue restituisce un errore di accesso negato a un bucket o oggetto Amazon S3, è possibile che il ruolo IAM fornito non disponga di una policy che autorizzi il tuo data store.
+ Un processo ETL deve avere accesso a un datastore Amazon S3 usato come origine o destinazione. Un crawler deve avere accesso a un datastore Amazon S3 in cui viene eseguito il crawling. Per ulteriori informazioni, consulta [Fase 2: creare un ruolo IAM per AWS Glue](create-an-iam-role.md).

## Errore: l'ID chiave di accesso Amazon S3 non esiste
<a name="error-s3-accesskeyid-not-found"></a>

Se durante l'esecuzione di un processo viene AWS Glue restituito un errore con l'ID della chiave di accesso ID not exist, potrebbe essere dovuto a uno dei seguenti motivi:
+ Un processo ETL usa un ruolo IAM per accedere ai datastore. Verifica che il ruolo IAM per il processo non sia stato eliminato prima dell'inizio del processo.
+ Un ruolo IAM contiene le autorizzazioni per accedere ai tuoi datastore. Verifica che qualsiasi policy Amazon S3 collegata contenente `s3:ListBucket` sia corretta.

## Errore: l'esecuzione del processo restituisce un errore durante l'accesso ad Amazon S3 con un URI `s3a://`
<a name="error-s3a-uri-directory-listing"></a>

Se un processo restituisce un errore, ad esempio *Failed to parse XML document with handler class (Impossibile analizzare il documento XML con classe del gestore)*, potrebbe essere a causa di un errore nel tentativo di elencare centinaia di file utilizzando un URI ` s3a://`. Accedi al datastore utilizzando un URI `s3://`. La traccia di eccezione seguente evidenzia gli errori da cercare:

```
1.	com.amazonaws.SdkClientException: Failed to parse XML document with handler class com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser$ListBucketHandler
2.	at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseXmlInputStream(XmlResponsesSaxParser.java:161)
3.	at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseListBucketObjectsResponse(XmlResponsesSaxParser.java:317)
4.	at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:70)
5.	at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:59)
6.	at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:62)
7.	at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:31)
8.	at com.amazonaws.http.response.AwsResponseHandlerAdapter.handle(AwsResponseHandlerAdapter.java:70)
9.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleResponse(AmazonHttpClient.java:1554)
10.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1272)
11.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1056)
12.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743)
13.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717)
14.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699)
15.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667)
16.	at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649)
17.	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513)
18.	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4325)
19.	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4272)
20.	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4266)
21.	at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:834)
22.	at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:971)
23.	at org.apache.hadoop.fs.s3a.S3AFileSystem.deleteUnnecessaryFakeDirectories(S3AFileSystem.java:1155)
24.	at org.apache.hadoop.fs.s3a.S3AFileSystem.finishedWrite(S3AFileSystem.java:1144)
25.	at org.apache.hadoop.fs.s3a.S3AOutputStream.close(S3AOutputStream.java:142)
26.	at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:74)
27.	at org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:108)
28.	at org.apache.parquet.hadoop.ParquetFileWriter.end(ParquetFileWriter.java:467)
29.	at org.apache.parquet.hadoop.InternalParquetRecordWriter.close(InternalParquetRecordWriter.java:117)
30.	at org.apache.parquet.hadoop.ParquetRecordWriter.close(ParquetRecordWriter.java:112)
31.	at org.apache.spark.sql.execution.datasources.parquet.ParquetOutputWriter.close(ParquetOutputWriter.scala:44)
32.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$SingleDirectoryWriteTask.releaseResources(FileFormatWriter.scala:252)
33.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:191)
34.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:188)
35.	at org.apache.spark.util.Utils$.tryWithSafeFinallyAndFailureCallbacks(Utils.scala:1341)
36.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$.org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask(FileFormatWriter.scala:193)
37.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:129)
38.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:128)
39.	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
40.	at org.apache.spark.scheduler.Task.run(Task.scala:99)
41.	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:282)
42.	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
43.	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
44.	at java.lang.Thread.run(Thread.java:748)
```

## Errore: token di servizio Amazon S3 scaduto
<a name="error-s3-service-token-expired"></a>

Durante il trasferimento di dati da e verso Amazon Redshift, vengono utilizzate le credenziali Amazon S3 temporanee che scadono dopo un'ora. Se stai eseguendo un processo lungo, potrebbe non riuscire. Per ulteriori informazioni su come configurare i processi lunghi per trasferire i dati da e verso Amazon Redshift, consulta [aws-glue-programming-etl-connect-redshift-home](aws-glue-programming-etl-connect-redshift-home).

## Errore: non è stato trovato alcun DNS privato per l'interfaccia di rete
<a name="error-no-private-DNS"></a>

Se un processo ha esito negativo o un endpoint di sviluppo non è in grado di effettuare il provisioning, potrebbe essere a causa di un problema della configurazione della rete.
+ Se utilizzi il DNS fornito da Amazon, il valore di `enableDnsHostnames` deve essere impostato su "true". Per ulteriori informazioni, consulta [DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). 

## Errore: provisioning dell'endpoint di sviluppo non riuscito
<a name="error-development-endpoint-failed"></a>

Se AWS Glue non riesce a fornire correttamente un endpoint di sviluppo, potrebbe essere a causa di un problema nella configurazione della rete.
+ Quando definisci un endpoint di sviluppo, il VPC, la sottorete e i gruppi di sicurezza vengono convalidati per confermare che soddisfano determinati requisiti.
+ Se hai fornito la chiave pubblica SSH opzionale, controlla che si tratti di una chiave pubblica SSH valida.
+ Controlla nella console VPC che il tuo VPC utilizzi un **set di opzioni DHCP** valido. Per maggiori informazioni, consulta [Set di opzioni DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html). 
+ Se il cluster rimane nello stato PROVISIONING, contatta Supporto AWS.

## Errore: server notebook CREATE\$1FAILED
<a name="error-notebook-server-ec2-instance-profile"></a>

Se AWS Glue non riesce a creare il server notebook per un endpoint di sviluppo, potrebbe essere dovuto a uno dei seguenti problemi: 
+ AWS Glue passa un ruolo IAM ad Amazon EC2 durante la configurazione del server notebook. Il ruolo IAM deve avere una relazione di trust per Amazon EC2.
+ Il ruolo IAM deve disporre di un profilo dell'istanza con lo stesso nome. Quando crei il ruolo per Amazon EC2 con la console IAM, il profilo dell'istanza con lo stesso nome viene creato automaticamente. Verifica nel log la presenza di un errore relativo al nome del profilo dell'istanza ` iamInstanceProfile.name` che non è valido. Per ulteriori informazioni, consulta [ Utilizzo dei profili dell'istanza ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html). 
+ Verifica che il tuo ruolo sia autorizzato ad accedere ai bucket `aws-glue*` nella policy che passi per creare il server notebook. 

## Errore: impossibile avviare il notebook locale
<a name="error-local-notebook-fails-to-start"></a>

Se il notebook locale non si avvia e segnala errori indicanti che una directory o una cartella non viene trovata, potrebbe essere a causa di uno dei seguenti problemi: 
+ Se utilizzi Microsoft Windows, accertati che la variabile di ambiente `JAVA_HOME` punti alla directory di Java corretta. È possibile aggiornare Java senza aggiornare questa variabile; se fanno riferimento a una cartella che non esiste più, i notebook Jupyter non riescono ad avviarsi.

## Errore: esecuzione del crawler non riuscita
<a name="error-running-crawler-failed"></a>

Se AWS Glue non riesce a eseguire correttamente un crawler per catalogare i dati, potrebbe essere per uno dei seguenti motivi. Per prima cosa controlla se è presente un errore nell'elenco dei crawler della console AWS Glue . Controlla se è presente un'icona con il punto esclamativo accanto al nome del crawler e passa il puntatore sopra l'icona per visualizzare i messaggi associati. 
+ Controlla i log del crawler eseguito nella sezione Logs in. CloudWatch `/aws-glue/crawlers`

## Errore: le partizioni non sono state aggiornate
<a name="error-update-from-job-partitions"></a>

Nel caso in cui le partizioni non siano state aggiornate nel Data Catalog durante l'esecuzione di un job ETL, queste istruzioni di registro della `DataSink` classe nei log possono essere utili: CloudWatch 
+ "`Attempting to fast-forward updates to the Catalog - nameSpace:`"  —  Mostra quale database, tabella e catalogId il processo sta tentando di modificare. Se questa istruzione non è presente qui, verifica se `enableUpdateCatalog` è impostato su true e se è stato correttamente passato come parametro `getSink()` o in ` additional_options`.
+ "`Schema change policy behavior:`" — Mostra il valore ` updateBehavior` dello schema passato.
+ “`Schemas qualify (schema compare):`" — Sarà vero o falso.
+ “`Schemas qualify (case-insensitive compare):`" — Sarà vero o falso.
+ Se entrambi sono falsi e il tuo non `updateBehavior` è impostato su` UPDATE_IN_DATABASE`, lo DynamicFrame schema deve essere identico o contenere un sottoinsieme delle colonne visualizzate nello schema della tabella Data Catalog. 

Per ulteriori informazioni sull'aggiornamento delle partizioni, consulta la pagina [Aggiornamento dello schema e aggiunta di nuove partizioni nel catalogo dati usando processi ETL AWS Glue](update-from-job.md).

## Errore: aggiornamento del segnalibro del processo non riuscito a causa della mancata corrispondenza delle versioni
<a name="error-job-bookmarks-limitation"></a>

È possibile che tu stia tentando di parametrizzare i AWS Glue job per applicarli a transformation/logic set di dati diversi in Amazon S3. Desideri tenere traccia dei file elaborati nelle posizioni fornite. Quando esegui lo stesso processo sullo stesso bucket di origine e scrivi contemporaneamente sulla same/different destinazione (concorrenza >1), il processo fallisce con questo errore:

```
py4j.protocol.Py4JJavaError: An error occurred while callingz:com.amazonaws.services.glue.util.Job.commit.:com.amazonaws.services.gluejobexecutor.model.VersionMismatchException: Continuation update failed due to version mismatch. Expected version 2 but found version 3
```

Soluzione: imposta la simultaneità su 1 o non eseguire il processo contemporaneamente.

Attualmente AWS Glue i segnalibri non supportano le esecuzioni di job simultanee e i commit avranno esito negativo.

## Errore: un processo sta rielaborando i dati mentre i segnalibri del processo sono abilitati
<a name="error-job-bookmarks-reprocess-data"></a>

In alcuni casi, è possibile che abbiate abilitato i segnalibri dei AWS Glue job, ma il job ETL stia rielaborando dati che erano già stati elaborati in un'esecuzione precedente. Controlla queste cause comuni di questo errore: 

**Max concorrenza**  
L'impostazione del numero massimo di esecuzioni simultanee per il processo maggiore del valore predefinito di 1 può interferire con i segnalibri dei lavori. Ciò può accadere quando i segnalibri del processo verificano l'ora dell'ultima modifica degli oggetti per individuare gli oggetti da rielaborare. Per ulteriori informazioni, consulta la discussione sulla concorrenza massima in [Configurazione delle proprietà dei job per i job Spark in AWS Glue](add-job.md).

**Oggetto del processo mancante**  
Assicurati che lo script di esecuzione del lavoro termini con il seguente commit:

```
job.commit()
```

Quando si include questo oggetto, AWS Glue registra il timestamp e il percorso dell'esecuzione del processo. Se si esegue nuovamente il processo con lo stesso percorso, AWS Glue elabora solo i nuovi file. Se non includi questo oggetto e i segnalibri del processo sono abilitati, il processo rielabora i file già elaborati con i nuovi file e crea la ridondanza nel datastore di destinazione del processo.

**Parametro del contesto di trasformazione mancante**  
Il contesto di trasformazione è un parametro facoltativo nella classe `GlueContext`, ma i segnalibri non funzionano se non lo includi. Per risolvere questo errore, aggiungete il parametro del contesto di trasformazione quando [create il DynamicFrame](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-glue-context.html#aws-glue-api-crawler-pyspark-extensions-glue-context-create_dynamic_frame_from_catalog), come illustrato di seguito:

```
sample_dynF=create_dynamic_frame_from_catalog(database, table_name,transformation_ctx="sample_dynF") 
```

**Origine input**  
Se si sta usando un database relazionale (una connessione JDBC) per l'origine input, i segnalibri del processo funzionano solo se le chiavi primarie della tabella sono in ordine sequenziale. I segnalibri del processo funzionano per le nuove righe, ma non per le righe aggiornate. Questo perché i segnalibri processo cercano le chiavi primarie, già esistenti. Questo non si applica se l'origine di input è Amazon Simple Storage Service (Amazon S3).

**Ora ultima modifica**  
Per origini di input Amazon S3, i segnalibri del processo controllano l'ora dell'ultima modifica piuttosto che i nomi dei file, per verificare gli oggetti da rielaborare. Se i dati dell'origine di input sono stati modificati dall'ultima esecuzione del processo, i file vengono rielaborati alla nuova esecuzione del processo. 

## Errore: comportamento di failover tra VPCs AWS Glue
<a name="vpc-failover-behavior-error-10"></a>

Il seguente processo viene utilizzato per il failover dei lavori nella AWS Glue versione 5.1 e nelle versioni precedenti.

Riepilogo: viene selezionata una AWS Glue connessione al momento dell'invio di un processo. Se l'esecuzione del processo riscontra dei problemi (mancanza di indirizzi IP, connettività all'origine, problema di instradamento), essa avrà esito negativo. Se sono configurati nuovi tentativi, AWS Glue riproverà con la stessa connessione.

1. Per ogni tentativo di esecuzione, AWS Glue controllerà lo stato delle connessioni nell'ordine indicato nella configurazione del processo, finché non ne troverà una da utilizzare. In caso di errore nella zona di disponibilità (AZ), le connessioni da quella zona non supereranno il controllo e verranno ignorate.

1. AWS Glue convalida la connessione con quanto segue:
   + Verifica la presenza di ID e sottorete Amazon VPC validi.
   + Verifica l'esistenza di un gateway NAT o di un endpoint Amazon VPC.
   + Verifica che la sottorete abbia più di 0 indirizzi IP allocati.
   + Verifica che l'AZ sia integra.

   AWS Glue non è in grado di verificare la connettività al momento dell'invio dell'esecuzione del processo.

1. Per i processi che utilizzano Amazon VPC, tutti i driver e gli esecutori verranno creati nella stessa AZ con la connessione selezionata al momento dell'invio dell'esecuzione del processo.

1. Se sono configurati nuovi tentativi, AWS Glue riproverà con la stessa connessione. Questo perché non è detto che i problemi con questa connessione durino a lungo. Se un'AZ riscontra un errore, le esecuzioni di processo esistenti (a seconda della fase in cui si trovano) in tale AZ possono riscontrare a loro volta un errore. Un nuovo tentativo dovrebbe rilevare un errore di AZ e scegliere un'altra AZ per la nuova esecuzione.

# Errori del crawler quando il crawler usa le autorizzazioni di Lake Formation
<a name="error-crawler-config-lf"></a>

Utilizza le informazioni seguenti per diagnosticare e risolvere vari problemi durante la configurazione del crawler che utilizza le credenziali di Lake Formation.

## Errore: la posizione S3: s3://examplepath non è registrata
<a name="error-s3-location"></a>

Affinché un crawler possa funzionare utilizzando le credenziali di Lake Formation, devi prima configurare le autorizzazioni di Lake Formation. Per risolvere questo errore, registra la posizione Amazon S3 di destinazione con Lake Formation. Per ulteriori informazioni, consulta la pagina [Registrazione di una posizione Amazon S3](https://docs.aws.amazon.com/lake-formation/latest/dg/register-location.html).

## Errore: non User/Role è autorizzato a eseguire: lakeformation: on resource GetDataAccess
<a name="error-role-authorization"></a>

Aggiungi l’autorizzazione `lakeformation:GetDataAccess` al ruolo del crawler utilizzando la console IAM o AWS CLI. Con questa autorizzazione, Lake Formation concede la richiesta di credenziali temporanee per accedere ai dati. Vedi la politicy di seguito:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "lakeformation:GetDataAccess"
    ],
    "Resource": "*"
  }
}
```

------

## Errore: autorizzazioni Lake Formation insufficienti su (nome del database: exampleDatabase, nome tabella: exampleTable)
<a name="error-permissions"></a>

Nella console Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)), concedi al ruolo crawler i permessi di accesso (` Create`,`Describe`,`Alter`) sul database, che è specificato come database di output. Puoi concedere le autorizzazioni anche sulla tabella. Per ulteriori informazioni, consulta [Concessione delle autorizzazioni al database tramite il metodo delle risorse denominate](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-cat-perms-named-resource.html).

## Errore: autorizzazioni di Lake Formation insufficienti su s3://examplepath
<a name="error-location-permissions"></a>

1.  **Crawling tra più account** 

   1. Accedi alla console Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)) utilizzando l'account in cui è registrato il bucket Amazon S3 (account B). Concedi le autorizzazioni per la posizione dei dati all'account in cui verrà eseguito il crawler. Ciò consentirà al crawler di leggere i dati dalla posizione Amazon S3 di destinazione. 

   1.  Nell'account in cui viene creato il crawler (account A), concedi le autorizzazioni relative alla posizione dei dati nella posizione Amazon S3 di destinazione al ruolo IAM utilizzato per l'esecuzione del crawler, in modo che quest'ultimo possa leggere i dati dalla destinazione in Lake Formation. Per ulteriori informazioni, consulta [Concessione delle autorizzazioni per la posizione dei dati (account esterno)](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-location-permissions-external.html).

1. **Nel crawling dell'account (il crawler e la posizione Amazon S3 sono nello stesso account)**: Concedi le autorizzazioni relative alla posizione dei dati al ruolo IAM utilizzato per l'esecuzione del crawler sulla posizione Amazon S3, in modo che il crawler possa leggere i dati dalla destinazione in Lake Formation. Per ulteriori informazioni, consulta la pagina [Concessione delle autorizzazioni per la posizione dei dati (stesso account)](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-location-permissions-local.html).

## Domande frequenti sulla configurazione del crawler utilizzando le credenziali di Lake Formation
<a name="faq-crawler-config-lf"></a>

1.  **Come posso configurare un crawler per l'esecuzione utilizzando le credenziali di Lake Formation tramite la console AWS ?** 

   Nella AWS Glue console ([https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)), durante la configurazione del crawler, seleziona l'opzione Usa le **credenziali di Lake Formation per la scansione dell'origine dati Amazon S3**. Per la scansione tra più account, specifica l' Account AWS ID in cui è registrata la sede Amazon S3 di destinazione con Lake Formation. Per effettuare il crawling all'interno dell'account, il campo **accountId** è facoltativo.

1.  **Come posso configurare un crawler per l'esecuzione utilizzando le credenziali di Lake Formation tramite AWS CLI?** 

   Durante la chiamata API `CreateCrawler`, aggiungi `LakeFormationConfiguration`:

   ```
   "LakeFormationConfiguration": {
       "UseLakeFormationCredentials": true,
       "AccountId": "111111111111" (AWS account ID where the target Amazon S3 location is registered with Lake Formation)
     }
   ```

1.  **Quali sono le destinazioni supportate per un crawler che utilizza le credenziali di Lake Formation?** 

   Un crawler che utilizza le credenziali Lake Formation è supportato solo per Amazon S3 (crawling in un account e tra più account), per le destinazioni Catalogo dati in un account (dove la posizione sottostante è Amazon S3) e per le destinazioni Apache Iceberg.

1.  **Posso eseguire il crawling di più bucket Amazon S3 come parte di un singolo crawler utilizzando le credenziali di Lake Formation?** 

   No, per le destinazioni del crawling che utilizzano la distribuzione delle credenziali Lake Formation, le posizioni Amazon S3 sottostanti devono appartenere allo stesso bucket. Ad esempio, i clienti possono utilizzare più posizioni di destinazione `(s3://bucket1/folder1, s3://bucket1/folder2)` se sono sotto lo stesso bucket (bucket1). Specificare bucket diversi (s3://bucket1/folder1, s3://bucket2/folder2) non è supportato.

# Risoluzione dei problemi relativi AWS Glue agli errori di Ray nei log
<a name="troubleshooting-ray"></a>

**Importante**  
AWS Glue for Ray non sarà più aperto a nuovi clienti a partire dal 30 aprile 2026. Se desideri utilizzarlo AWS Glue per Ray, registrati prima di tale data. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per funzionalità simili a for AWS Glue for Ray, esplora Amazon EKS. Per ulteriori informazioni, consulta [AWS Glue la pagina dedicata alla fine del supporto di Ray](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html).

AWS Glue fornisce l'accesso ai log emessi dai processi Ray durante l'esecuzione del lavoro. Se si riscontrano errori o comportamenti imprevisti nei processi Ray, raccogliere innanzitutto le informazioni dai log per determinare la causa dell'errore. Forniamo log simili anche per le sessioni interattive. I log delle sessioni sono forniti con il prefisso `/aws-glue/ray/sessions`.

Le righe di registro vengono inviate CloudWatch in tempo reale, durante l'esecuzione del lavoro. Le istruzioni di stampa vengono aggiunte ai CloudWatch log dopo il completamento dell'esecuzione. I log vengono conservati per due settimane dopo l'esecuzione di un processo. 

## Ispezione dei log dei processi Ray
<a name="troubleshooting-ray-log-locations"></a>

Quando un processo non riesce, raccogli il nome e l'ID di esecuzione del processo. Puoi trovarle nella console. AWS Glue Accedi alla pagina del processo, quindi passa alla scheda **Runs** (Esecuzioni). I log di Ray Job sono archiviati nei seguenti gruppi di CloudWatch log dedicati.
+ `/aws-glue/ray/jobs/script-log/`: archivia i log emessi dallo script principale di Ray.
+ `/aws-glue/ray/jobs/ray-monitor-log/`: archivia i log emessi dal processo autoscaler di Ray. Questi log vengono generati per il nodo principale e non per altri nodi worker.
+ `/aws-glue/ray/jobs/ray-gcs-logs/`: archivia i log emessi dal processo GCS (global control store). Questi log vengono generati per il nodo principale e non per altri nodi worker.
+ `/aws-glue/ray/jobs/ray-process-logs/`: archivia i log emessi da altri processi Ray (principalmente l'agente del pannello di controllo) in esecuzione sul nodo principale. Questi log vengono generati per il nodo principale e non per altri nodi worker.
+ ` /aws-glue/ray/jobs/ray-raylet-logs/`: archivia i log emessi da ciascun processo raylet. Questi log vengono raccolti in un unico flusso per ogni nodo worker, incluso il nodo principale.
+ `/aws-glue/ray/jobs/ray-worker-out-logs/`: archivia i log `stdout` per ogni worker nel cluster. Questi log vengono generati per ogni nodo worker, incluso il nodo principale.
+ `/aws-glue/ray/jobs/ray-worker-err-logs/`: archivia i log `stderr` per ogni worker nel cluster. Questi log vengono generati per ogni nodo worker, incluso il nodo principale.
+ `/aws-glue/ray/jobs/ray-runtime-env-log/`: archivia i log relativi al processo di configurazione di Ray. Questi log vengono generati per ogni nodo worker, incluso il nodo principale.

## Risoluzione degli errori relativi ai processi Ray
<a name="troubleshooting-ray-errors"></a>

Per comprendere l'organizzazione dei gruppi di log di Ray e per individuare i gruppi di log che consentiranno di risolvere gli errori, è utile disporre di informazioni di base sull'architettura Ray.

In AWS Glue ETL, un worker corrisponde a un'istanza. Quando configuri i lavoratori per un AWS Glue lavoro, imposti il tipo e la quantità di istanze dedicate al lavoro. Ray usa il termine *worker* in diversi modi. 

Ray utilizza i termini *nodo principale* e *nodo worker* per distinguere le responsabilità di un'istanza all'interno di un cluster Ray. Un nodo worker Ray può ospitare processi con più *attori* che eseguono calcoli per ottenere il risultato del calcolo distribuito. Gli attori che eseguono una replica di una funzione sono chiamati *repliche*. Gli attori di replica possono anche essere chiamati processi worker. Le repliche possono essere eseguite anche sul nodo principale, così chiamato perché esegue processi aggiuntivi per coordinare il cluster. 

Ogni attore che contribuisce al calcolo genera il proprio flusso di log. Questo ci fornisce alcune informazioni dettagliate: 
+ Il numero minimo di processi che emettono i log potrebbe essere maggiore del numero di worker assegnati al processo. Spesso, ogni core di ogni istanza ha un attore.
+  I nodi Ray principali emettono log di avvio e di gestione dei cluster. Al contrario, i nodi worker Ray emettono solo i log relativi al lavoro svolto su di essi.

Per ulteriori informazioni sull'architettura di Ray, consulta [Whitepaper sull'architettura]( https://docs.ray.io/en/latest/ray-contribute/whitepaper.html) nella documentazione di Ray.

### Area problematica: accesso ad Amazon S3
<a name="troubleshooting-ray-errors-s3"></a>

Controlla il messaggio di errore dell'esecuzione del processo. Se ciò non fornisce informazioni sufficienti, controlla `/aws-glue/ray/jobs/script-log/`.

### Area problematica: gestione delle dipendenze PIP
<a name="troubleshooting-ray-errors-dependencies"></a>

Controlla `/aws-glue/ray/jobs/ray-runtime-env-log/`.

### Area problematica: ispezione dei valori intermedi nel processo principale
<a name="troubleshooting-ray-errors-main-process"></a>

Scrivi su `stderr` o `stdout` dal tuo script principale e recupera i log da `/aws-glue/ray/jobs/script-log/`.

### Area problematica: ispezione dei valori intermedi in un processo secondario
<a name="troubleshooting-ray-errors-worker-process"></a>

Scrivi su `stderr` o `stdout` dalla funzione `remote`. Quindi, recupera i log da `/aws-glue/ray/jobs/ray-worker-out-logs/` o `/aws-glue/ray/jobs/ray-worker-err-logs/`. La funzione potrebbe essere stata eseguita su qualsiasi replica, quindi potrebbe essere necessario esaminare più log per trovare l'output previsto.

### Area problematica: interpretazione degli indirizzi IP nei messaggi di errore
<a name="troubleshooting-ray-errors-ips"></a>

In alcune situazioni di errore, il processo potrebbe emettere un messaggio di errore contenente un indirizzo IP. Questi indirizzi IP sono temporanei e vengono utilizzati dal cluster per identificare i nodi e per la comunicazione tra essi. I log di un nodo vengono pubblicati in un flusso di log con un suffisso univoco basato sull'indirizzo IP. 

Inoltre CloudWatch, puoi filtrare i log per controllare quelli specifici di questo indirizzo IP identificando questo suffisso. Ad esempio, given *FAILED\$1IP* and*JOB\$1RUN\$1ID*, puoi identificare il suffisso con: 

```
filter @logStream like /JOB_RUN_ID/
| filter @message like /IP-/
| parse @message "IP-[*]" as ip
| filter ip like /FAILED_IP/
| fields replace(ip, ":", "_") as uIP
| stats count_distinct by uIP as logStreamSuffix
| display logStreamSuffix
```

# Eccezioni di machine learning AWS Glue
<a name="exceptions-machine-learning"></a>

In questo argomento vengono descritti i codici di errore HTTP e le stringhe per le eccezioni AWS Glue correlate al machine learning. I codici di errore e le stringhe di errore vengono forniti per ogni attività di machine learning che può verificarsi quando si esegue un'operazione. Inoltre, è possibile verificare se è possibile riprovare l'operazione che ha provocato l'errore.

## Annulla MLTask RunActivity
<a name="exceptions-machine-learning-CancelMLTaskRunActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»
  + «Nessuna esecuzione ML Task Run trovata per [taskRunId]: nell'account [AccountId] per transform [transformName]».

  OK per riprovare: No.

## Crea MLTask RunActivity
<a name="exceptions-machine-learning-CreateMLTransformActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ InvalidInputException (400)
  + “Errore del servizio interno a causa di un input imprevisto.”
  + “Una sorgente di input della tabella AWS Glue deve essere specificata nella trasformazione.”
  + “La colonna di origine di input [columnName] ha un tipo di dati non valido definito nel catalogo.”
  + “Deve essere fornita esattamente una tabella di record di input.”
  + “Dovrebbe specificare il nome del database.”
  + “Dovrebbe specificare il nome della tabella.”
  + “Lo schema non è definito nella trasformazione.”
  + “Lo schema dovrebbe contenere una chiave primaria data: [primaryKey].”
  + “Problema durante il recupero dello schema del catalogo dati: [message].”
  + «Impossibile impostare la capacità massima e il lavoratore Num/Type contemporaneamente».
  + «Entrambi WorkerType NumberOfWorkers devono essere impostati».
  + «MaxCapacity dovrebbe essere >= [maxCapacity].»
  + «NumberOfWorkers dovrebbe essere >= [maxCapacity].»
  + “I tentativi massimi dovrebbero essere non negativi.”
  +  “I parametri della ricerca di corrispondenze non sono stati impostati.”
  + “È necessario specificare una chiave primaria nei parametri della ricerca di corrispondenze.”

  OK per riprovare: No.
+ AlreadyExistsException (400)
  + “La trasformazione con nome [transformName] esiste già.”

  OK per riprovare: No.
+ IdempotentParameterMismatchException (400)
  + “La richiesta di creazione idempotent per la trasformazione [transformName] aveva parametri non corrispondenti.”

  OK per riprovare: No.
+ InternalServiceException (500)
  + “Fallimento delle dipendenze.”

  OK per riprovare: Sì.
+ ResourceNumberLimitExceededException (400)
  + “Il numero di trasformazioni ML ([count]) ha superato il limite di [limit] trasformazioni.”

  OK per riprovare: Sì, una volta eliminata una trasformazione per fare spazio a questa nuova.

## Elimina MLTransform attività
<a name="exceptions-machine-learning-DeleteMLTransformActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountId] con handle [transformName]»

  OK per riprovare: No.

## Ottieni MLTask RunActivity
<a name="exceptions-machine-learning-GetMLTaskRunActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»
  + «Nessuna esecuzione ML Task Run trovata per [taskRunId]: nell'account [AccountId] per transform [transformName]».

  OK per riprovare: No.

## Ottieni MLTask RunsActivity
<a name="exceptions-machine-learning-GetMLTaskRunsActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»
  + «Nessuna esecuzione ML Task Run trovata per [taskRunId]: nell'account [AccountId] per transform [transformName]».

  OK per riprovare: No.

## Ottieni attività MLTransform
<a name="exceptions-machine-learning-GetMLTransformActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»

  OK per riprovare: No.

## Ottieni attività MLTransforms
<a name="exceptions-machine-learning-GetMLTransformsActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»

  OK per riprovare: No.
+ InvalidInputException (400)
  + “L'ID dell'account non può essere vuoto.”
  + “Ordinamento non supportato per la colonna [column].”
  + “[column] non può essere vuota.”
  + “Errore del servizio interno a causa di un input imprevisto.”

  OK per riprovare: No.

## GetSaveLocationForTransformArtifactActivity
<a name="exceptions-machine-learning-GetSaveLocationForTransformArtifactActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»

  OK per riprovare: No.
+ InvalidInputException (400)
  + “Tipo di artefatto non supportato [ArtifactType].”
  + “Errore del servizio interno a causa di un input imprevisto.”

  OK per riprovare: No.

## GetTaskRunArtifactActivity
<a name="exceptions-machine-learning-GetTaskRunArtifactActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»
  + «Nessuna esecuzione ML Task Run trovata per [taskRunId]: nell'account [AccountId] per transform [transformName]».

  OK per riprovare: No.
+ InvalidInputException (400)
  + “Nome file '[fileName]' non valido per la pubblicazione.”
  + “Impossibile recuperare artefatto per il tipo di attività [taskType].”
  + “Impossibile recuperare artefatto per [artifactType].”
  + “Errore del servizio interno a causa di un input imprevisto.”

  OK per riprovare: No.

## Pubblica MLTransform ModelActivity
<a name="exceptions-machine-learning-PublishMLTransformModelActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»
  + “Un modello esistente con versione - [version] non può essere trovato per ID account - [accountId] - e id di trasformazione - [transformId].”

  OK per riprovare: No.
+ InvalidInputException (400)
  + “Nome file '[fileName]' non valido per la pubblicazione.”
  + “Segno meno iniziale non valido sulla stringa non firmata [string].”
  + “Cifra non valida alla fine di [string].”
  +  “Il valore della stringa [string] supera l'intervallo di unsigned long.”
  + “Errore del servizio interno a causa di un input imprevisto.”

  OK per riprovare: No.

## PullLatestMLTransformModelActivity
<a name="exceptions-machine-learning-PullLatestMLTransformModelActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»

  OK per riprovare: No.
+ InvalidInputException (400)
  + “Errore del servizio interno a causa di un input imprevisto.”

  OK per riprovare: No.
+ ConcurrentModificationException (400)
  + “Impossibile creare la versione del modello da addestrare a causa di inserti racing con parametri non corrispondenti.”
  + “Il modello di trasformazione ML per id di trasformazione [transformId] è obsoleto o aggiornato da un altro processo; Riprovare.”

  OK per riprovare: Sì.

## PutJobMetadataForMLTransformAttività
<a name="exceptions-machine-learning-PutJobMetadataForMLTransformActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»
  + «Nessuna esecuzione ML Task Run trovata per [taskRunId]: nell'account [AccountId] per transform [transformName]».

  OK per riprovare: No.
+ InvalidInputException (400)
  + “Errore del servizio interno a causa di un input imprevisto.”
  + “Tipo di metadati processo sconosciuto [jobType].”
  +  “È necessario fornire un ID di esecuzione attività per aggiornare.”

  OK per riprovare: No.

## StartExportLabelsTaskRunActivity
<a name="exceptions-machine-learning-StartExportLabelsTaskRunActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»
  + “Nessun set di etichette esiste per transformId [transformId] nell'ID account [accountId].”

  OK per riprovare: No.
+ InvalidInputException (400)
  + “[message].”
  + “Il percorso S3 fornito non si trova nella stessa regione della trasformazione. Regione prevista - [region], ma ottenuta - [region].”

  OK per riprovare: No.

## StartImportLabelsTaskRunActivity
<a name="exceptions-machine-learning-StartExportLabelsTaskRunActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»

  OK per riprovare: No.
+ InvalidInputException (400)
  + “[message].”
  + “Percorso del file di etichetta non valido.”
  + “Impossibile accedere al file di etichetta in [labelPath]. [message].”
  + “Impossibile utilizzare il ruolo IAM fornito nella trasformazione. Ruolo: [role].”
  + “File etichetta di dimensione 0 non valido.”
  + “Il percorso S3 fornito non si trova nella stessa regione della trasformazione. Regione prevista - [region], ma ottenuta - [region].”

  OK per riprovare: No.
+ ResourceNumberLimitExceededException (400)
  + “Il file di etichetta ha superato il limite di [limit] MB.”

  OK per riprovare: No. Considerare la possibilità di suddividere il file di etichetta in diversi file più piccoli.

## Inizio MLEvaluation TaskRunActivity
<a name="exceptions-machine-learning-StartMLEvaluationTaskRunActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»

  OK per riprovare: No.
+ InvalidInputException (400)
  + “Deve essere fornita esattamente una tabella di record di input.”
  + “Dovrebbe specificare il nome del database.”
  + “Dovrebbe specificare il nome della tabella.”
  + “I parametri della ricerca di corrispondenze non sono stati impostati.”
  + “È necessario specificare una chiave primaria nei parametri della ricerca di corrispondenze.”

  OK per riprovare: No.
+ MLTransformNotReadyException (400)
  + “Questa operazione può essere applicata solo a una trasformazione che si trova in uno stato READY.”

  OK per riprovare: No.
+ InternalServiceException (500)
  + “Fallimento delle dipendenze.”

  OK per riprovare: Sì.
+ ConcurrentRunsExceededException (400)
  + “Il numero di esecuzioni attività ML [count] ha superato il limite di trasformazione delle esecuzioni di attività [limit].”
  + “Il numero di esecuzioni attività ML [count] ha superato il limite di [limit] esecuzioni di attività.”

  OK per riprovare: Sì, dopo aver atteso il completamento dell'esecuzione dell'attività.

## Inizio MLLabeling SetGenerationTaskRunActivity
<a name="exceptions-machine-learning-StartMLLabelingSetGenerationTaskRunActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountID] con handle [transformName].»

  OK per riprovare: No.
+ InvalidInputException (400)
  + “Deve essere fornita esattamente una tabella di record di input.”
  + “Dovrebbe specificare il nome del database.”
  + “Dovrebbe specificare il nome della tabella.”
  + “I parametri della ricerca di corrispondenze non sono stati impostati.”
  + “È necessario specificare una chiave primaria nei parametri della ricerca di corrispondenze.”

  OK per riprovare: No.
+ InternalServiceException (500)
  + “Fallimento delle dipendenze.”

  OK per riprovare: Sì.
+ ConcurrentRunsExceededException (400)
  + “Il numero di esecuzioni attività ML [count] ha superato il limite di trasformazione delle esecuzioni di attività [limit].”

  OK per riprovare: Sì, una volta completata l'esecuzione dell'attività.

## MLTransformAttività di aggiornamento
<a name="exceptions-machine-learning-UpdateMLTransformActivity"></a>

Questa attività presenta le seguenti eccezioni:
+ EntityNotFoundException (400)
  + «Impossibile trovare MLTransform nell'account [AccountId] con handle [transformName].»

  OK per riprovare: No.
+ InvalidInputException (400)
  + «Esiste già un'altra trasformazione con nome [TransformName].”
  + “[message].”
  + “Il nome della trasformazione non può essere vuoto.”
  + «Impossibile impostare la capacità massima e il lavoratore Num/Type contemporaneamente».
  + «Entrambi WorkerType NumberOfWorkers devono essere impostati».
  + «MaxCapacity dovrebbe essere >= [minMaxCapacity].»
  + «NumberOfWorkers dovrebbe essere >= [minNumWorkers].»
  + “I tentativi massimi dovrebbero essere non negativi.”
  + “Errore del servizio interno a causa di un input imprevisto.”
  + “I parametri della ricerca di corrispondenze non sono stati impostati.”
  + “È necessario specificare una chiave primaria nei parametri della ricerca di corrispondenze.”

  OK per riprovare: No.
+ AlreadyExistsException (400)
  + “La trasformazione con nome [transformName] esiste già.”

  OK per riprovare: No.
+ IdempotentParameterMismatchException (400)
  + “La richiesta di creazione idempotent per la trasformazione [transformName] aveva parametri non corrispondenti.”

  OK per riprovare: No.

# AWS Glue quote
<a name="troubleshooting-service-limits"></a>

È possibile contattare Supporto AWS per [richiedere un aumento della quota](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) per le quote di servizio elencate in. *Riferimenti generali di AWS* Salvo diversa indicazione, ogni quota si applica a una Regione specifica. Per ulteriori informazioni, consulta [Endpoint e quote per AWS Glue](https://docs.aws.amazon.com/general/latest/gr/glue.html). 