Création d'un AWS Glue Crawler - Amazon AppStream 2.0

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un AWS Glue Crawler

AWS Glue est un service d'extraction, de transformation et de chargement (ETL) entièrement géré qui vous permet de créer une base de données à partir de vos données Amazon S3 et d'interroger cette base de données à l'aide d'Athena. Cette base de données est également appelée catalogue AWS Glue de données. Un AWS Glue robot d'exploration peut détecter automatiquement le schéma de vos données Amazon S3 et créer la base de données et les tables correspondantes. AppStream La version 2.0 fournit un AWS CloudFormation modèle que vous pouvez utiliser pour créer les AWS Glue ressources nécessaires.

Important

L'exécution des étapes de la procédure suivante crée un AWS Glue robot d'exploration. Toutefois, ces étapes ne démarrent pas le crawler. Pour démarrer le crawler, vous devez exécuter les étapes de la procédure suivante. Pour plus d'informations sur les AWS Glue robots d'exploration, consultez la section Définition des robots d'exploration.

Pour créer un AWS Glue crawler
  1. Ouvrez la console AppStream 2.0 à l'adresse https://console.aws.amazon.com/appstream2.

  2. Choisissez la AWS région pour laquelle vous êtes abonné aux rapports d'utilisation.

  3. Dans le volet de navigation, choisissez Usage Reports (Rapports d’utilisation) et vérifiez que la journalisation des rapports d’utilisation est activée.

  4. Dans l'onglet Détails du rapport, dans le paragraphe à côté de Analytics, choisissez le lien du CloudFormationmodèle.

    Lorsque vous cliquez sur le lien, la AWS CloudFormation console s'ouvre, dans laquelle vous pouvez consulter les paramètres de la AWS CloudFormation pile spécifiée par le modèle avant de l'exécuter. Le modèle, lorsqu'il est exécuté, crée un AWS Glue robot d'exploration et plusieurs exemples de requêtes Athena.

  5. Sur la page Spécifier les détails, à côté ScheduleExpression, conservez la valeur par défaut ou spécifiez une valeur d'expression cron différente pour la fréquence à laquelle vous souhaitez exécuter le robot d'exploration. Ne modifiez pas les autres valeurs par défaut. Lorsque vous avez terminé, sélectionnez Next.

    Par défaut, le crawler est programmé pour s’exécuter chaque jour, mais vous pouvez le configurer pour une exécution hebdomadaire, mensuelle ou toute autre fréquence. Pour plus d’informations sur la syntaxe cron, consultez Expressions Cron.

  6. Dans la page Options, conservez les valeurs par défaut, puis choisissez Next (Suivant).

  7. Sur la page de révision, cochez la case à côté de « Je reconnais que des IAM ressources AWS CloudFormation peuvent être créées avec des noms personnalisés », puis choisissez Créer.

    Vous devez disposer des autorisations AWS Glue et AWS Identity and Access Management (IAM) suffisantes pour créer et exécuter la AWS CloudFormation pile. Si vous n’avez pas les autorisations requises, demandez à votre administrateur de compte Amazon Web Services d’effectuer ces étapes dans votre compte ou de vous accorder les autorisations suivantes.

    { "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" } ] }