

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à.

# Crea un AWS Glue crawler
<a name="configure-custom-reports-create-crawler"></a>

AWS Glue è un servizio di estrazione, trasformazione e caricamento (ETL) completamente gestito che consente di creare un database dai dati di Amazon S3 e interrogare tale database utilizzando Athena. Questo database viene anche chiamato catalogo dati. AWS Glue Un AWS Glue crawler può rilevare automaticamente lo schema dei dati di Amazon S3 e creare il database e le tabelle corrispondenti. WorkSpaces Applications fornisce un CloudFormation modello che puoi utilizzare per creare le risorse necessarie. AWS Glue 

**Importante**  
Il completamento dei passaggi descritti nella procedura seguente crea un AWS Glue crawler. Questi passaggi, però, non avviano il crawler. Per avviare il crawler, è necessario seguire la procedura successiva. [Per ulteriori informazioni sui AWS Glue crawler, consulta Definizione dei crawler.](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)

**Per creare un crawler AWS Glue**

1. [Apri la console WorkSpaces Applicazioni a casahttps://console.aws.amazon.com/appstream2/.](https://console.aws.amazon.com/appstream2/home)

1. Scegli la AWS regione per la quale hai sottoscritto i report sull'utilizzo.

1. Nel riquadro di navigazione, scegliere **Usage Reports (Report di utilizzo)** e verificare che la registrazione dei report di utilizzo sia abilitata.

1. Nella scheda **Dettagli del rapporto**, nel paragrafo accanto a **Analytics**, scegli il link del **CloudFormationmodello**.

   Scegliendo il link si apre la CloudFormation console, dove puoi esaminare i parametri dello CloudFormation stack specificato dal modello prima di eseguirlo. Il modello, una volta eseguito, crea un AWS Glue crawler e diverse query Athena di esempio.

1. Nella pagina **Specificare i dettagli**, accanto a **ScheduleExpression**, mantieni il valore predefinito o specifica un valore di espressione cron diverso per la frequenza con cui desideri eseguire il crawler. Non modificare nessun altro valore predefinito. Al termine, selezionare **Next (Successivo)**.

   Per impostazione predefinita, il crawler è programmato per l'esecuzione su base giornaliera, ma è possibile configurare il crawler per l'esecuzione settimanale, mensile o su un'altra frequenza. Per ulteriori informazioni sulla sintassi cron, consulta [Cron Expressions (Espressioni cron)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions).

1. Nella pagina **Options (Opzioni)**, lascia i valori predefiniti e scegli **Next (Avanti)**.

1. **Nella pagina di **revisione**, seleziona la casella di controllo accanto a «Riconosco che CloudFormation potrebbe creare risorse IAM con nomi personalizzati», quindi scegli Crea.**

   È necessario disporre di autorizzazioni AWS Glue e AWS Identity and Access Management (IAM) sufficienti per creare ed eseguire lo CloudFormation stack. Se non disponi delle autorizzazioni necessarie, contatta l'amministratore dell'account Amazon Web Services per eseguire queste fasi nel tuo account o per ottenere le autorizzazioni seguenti.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "athena:CreateNamedQuery",
                   "athena:BatchGetNamedQuery",
                   "athena:GetNamedQuery",
                   "athena:StartQueryExecution",
                   "athena:GetQueryResults",
                   "athena:GetQueryExecution",
                   "athena:ListNamedQueries",
                   "cloudformation:DescribeStacks",
                   "cloudformation:GetStackPolicy",
                   "cloudformation:DescribeStackEvents",
                   "cloudformation:CreateStack",
                   "cloudformation:GetTemplate",
                   "cloudformation:ListChangeSets",
                   "cloudformation:ListStackResources",
                   "iam:GetRole",
                   "iam:CreateRole",
                   "iam:GetRolePolicy",
                   "s3:GetBucketLocation",
                   "s3:ListBucketMultipartUploads",
                   "s3:ListBucket",
                   "s3:ListMultipartUploadParts",
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:AbortMultipartUpload"
               ],
               "Resource": [
                   "arn:aws:iam::*:role/AppStreamUsageReports-AppStreamUsageReportGlueRole*",
                   "arn:aws:cloudformation:*:*:stack/AppStreamUsageReports/*",
                   "arn:aws:athena:*:*:workgroup/primary",
                   "arn:aws:s3:::aws-athena-query-results-*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iam:AttachRolePolicy",
                   "iam:PutRolePolicy",
                   "s3:GetObject",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::appstream-logs-*",
                   "arn:aws:iam::*:role/AppStreamUsageReports-AppStreamUsageReportGlueRole*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": [
                   "arn:aws:iam::*:role/AppStreamUsageReports-AppStreamUsageReportGlueRole*"
               ],
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": "glue.amazonaws.com"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "cloudformation:GetTemplateSummary",
                   "glue:GetResourcePolicy",
                   "glue:GetCrawlers",
                   "glue:BatchGetCrawlers",
                   "glue:GetClassifiers",
                   "glue:CreateClassifier",
                   "glue:ListCrawlers",
                   "glue:GetTags",
                   "glue:GetCrawlerMetrics",
                   "glue:GetClassifier",
                   "tag:GetResources"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": "athena:RunQuery",
               "Resource": "arn:aws:athena:*:*:workgroup/primary"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "glue:GetTables",
                   "glue:GetPartitions",
                   "glue:GetTable"
               ],
               "Resource": [
                   "arn:aws:glue:*:*:table/appstream-usage/*",
                   "arn:aws:glue:*:*:database/appstream-usage",
                   "arn:aws:glue:*:*:catalog"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabase",
                   "glue:CreateDatabase",
                   "glue:GetDatabases"
               ],
               "Resource": [
                   "arn:aws:glue:*:*:database/appstream-usage",
                   "arn:aws:glue:*:*:catalog"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "glue:GetCrawler",
                   "glue:StartCrawler",
                   "glue:CreateCrawler"
               ],
               "Resource": "arn:aws:glue:*:*:crawler/appstream-usage*"
           },
           {
               "Effect": "Allow",
               "Action": "glue:GetCatalogImportStatus",
               "Resource": "arn:aws:glue:*:*:catalog"
           }
       ]
   }
   ```

------