Creación de un rastreador de AWS Glue
AWS Glue es un servicio totalmente administrado de extracción, transformación y carga (ETL) que le permite crear una base de datos a partir de los datos de Amazon S3 y consultar esa base de datos mediante Athena. Esta base de datos también se denomina catálogo de datos de AWS Glue. El rastreador de AWS Glue puede detectar automáticamente el esquema de sus datos de Amazon S3 y crear la base de datos y las tablas correspondientes. AppStream 2.0 proporciona una plantilla de AWS CloudFormation que puede utilizar para crear los recursos de AWS Glue necesarios.
importante
La creación de un rastreador de AWS Glue se realiza mediante los pasos que se describen en el siguiente procedimiento. Sin embargo, estos pasos no inician el rastreador. Para iniciar el rastreador, debe realizar los pasos que se indican en el siguiente procedimiento. Para obtener más información acerca de los rastreadores de AWS Glue, consulte Definición de rastreadores.
Para crear un rastreador de AWS Glue
Abra la consola de AppStream 2.0 en https://console.aws.amazon.com/appstream2
. Elija la región de AWS para la que se ha suscrito a informes de uso.
En el panel de navegación, seleccione Usage Reports (Informes de uso) y compruebe que el registro de informes de uso está habilitado.
En la pestaña Report Details (Detalles del informe), en el párrafo situado junto a Analytics (Análisis), elija el enlace CloudFormation template (Plantilla de CloudFormation).
Al elegir el enlace se abre la consola de AWS CloudFormation, donde puede revisar los parámetros de la pila de AWS CloudFormation especificada por la plantilla antes de ejecutarla. La plantilla, cuando se ejecuta, crea un rastreador de AWS Glue y varias consultas de Athena de ejemplo.
En la página Specify Details (Especificar detalles), junto a ScheduleExpression, deje el valor predeterminado o especifique una expresión cron diferente para la frecuencia con la que desea ejecutar el rastreador. No cambie ningún otro valor predeterminado. Cuando haya terminado, elija Siguiente.
De forma predeterminada, el rastreador está programado para ejecutarse una vez al día, pero puede configurarlo para que se ejecute cada semana, cada mes o con otra frecuencia. Para obtener información acerca de la sintaxis cron, consulte Expresiones Cron.
En la página Options (Opciones), mantenga todos los valores predeterminados y seleccione Next(Siguiente).
En la página Revisar, seleccione la casilla de verificación al lado de “Acepto que es posible que AWS CloudFormation cree recursos de IAM con nombres personalizados” y, a continuación, elija Crear.
Debe tener permisos de AWS Glue y AWS Identity and Access Management (IAM) suficientes para crear y ejecutar la pila de AWS CloudFormation. Si no tiene los permisos necesarios, pida al administrador de su cuenta de Amazon Web Services que realice estos pasos en su cuenta o que le conceda los siguientes permisos.
{ "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" } ] }