

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

AWS Glue adalah layanan ekstrak, transformasi, dan muat (ETL) yang dikelola sepenuhnya yang memungkinkan Anda membuat database dari data Amazon S3 dan kueri database tersebut dengan menggunakan Athena. Database ini juga disebut sebagai Katalog AWS Glue Data. AWS Glue Crawler dapat secara otomatis mendeteksi skema data Amazon S3 Anda dan membuat database dan tabel yang sesuai. WorkSpaces Aplikasi menyediakan CloudFormation template yang dapat Anda gunakan untuk membuat AWS Glue sumber daya yang diperlukan. 

**penting**  
Menyelesaikan langkah-langkah dalam prosedur berikut akan membuat AWS Glue crawler. Namun, langkah-langkah ini tidak memulai crawler. Untuk memulai crawler, Anda harus melakukan langkah-langkah dalam prosedur selanjutnya. Untuk informasi selengkapnya tentang AWS Glue crawler, lihat [Mendefinisikan](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) Crawler.

**Untuk membuat AWS Glue crawler**

1. Buka konsol WorkSpaces Aplikasi di [https://console.aws.amazon.com/appstream2/rumah](https://console.aws.amazon.com/appstream2/home).

1. Pilih AWS Wilayah tempat Anda berlangganan laporan penggunaan.

1. Di panel navigasi, pilih **Laporan Penggunaan**, dan verifikasi bahwa pencatatan laporan penggunaan diaktifkan.

1. Pada tab **Laporan Detail**, di paragraf di sebelah **Analytics**, pilih tautan **CloudFormationtemplat**.

   Memilih tautan membuka CloudFormation konsol, tempat Anda dapat meninjau parameter CloudFormation tumpukan yang ditentukan oleh templat sebelum menjalankannya. Template, saat dijalankan, membuat AWS Glue crawler dan beberapa contoh kueri Athena.

1. Pada halaman **Tentukan Detail**, di samping **ScheduleExpression**, simpan nilai default atau tentukan nilai ekspresi cron yang berbeda untuk frekuensi yang Anda inginkan untuk menjalankan crawler. Jangan mengubah nilai default lainnya. Setelah selesai, pilih **Berikutnya**.

   Secara default, crawler dijadwalkan untuk berjalan setiap hari, tetapi Anda dapat mengonfigurasi crawler untuk menjalankan mingguan, bulanan, atau pada frekuensi lain. Untuk informasi tentang sintaks cron, lihat Ekspresi [Cron](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions).

1. Pada halaman **Opsi**, pertahankan nilai default, dan pilih **Berikutnya**.

1. **Pada halaman **Tinjauan**, pilih kotak centang di samping “Saya mengakui bahwa CloudFormation mungkin membuat sumber daya IAM dengan nama khusus,” lalu pilih Buat.**

   Anda harus memiliki izin AWS Glue dan AWS Identity and Access Management (IAM) yang cukup untuk membuat dan menjalankan tumpukan. CloudFormation Jika Anda tidak memiliki izin yang diperlukan, minta administrator akun Amazon Web Services Anda untuk melakukan langkah-langkah ini di akun Anda atau memberi Anda izin berikut.

------
#### [ 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"
           }
       ]
   }
   ```

------