Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Streaming data ke tabel dengan Amazon Data Firehose
Amazon Data Firehose adalah layanan yang dikelola sepenuhnya untuk mengirimkan data streaming
Selesaikan langkah-langkah ini untuk mengatur streaming Firehose ke tabel di bucket tabel S3:
-
Konfigurasikan Firehose untuk mengirimkan data ke tabel S3 Anda. Untuk melakukannya, Anda membuat peran layanan AWS Identity and Access Management (IAM) yang memungkinkan Firehose mengakses tabel Anda.
-
Berikan izin eksplisit peran layanan Firehose ke namespace tabel atau tabel Anda. Untuk informasi selengkapnya, lihat Berikan izin Lake Formation pada sumber daya tabel Anda.
Membuat peran Firehose untuk menggunakan tabel S3 sebagai tujuan
Firehose memerlukan peran layanan IAM dengan izin khusus untuk mengakses AWS Glue tabel dan menulis data ke tabel S3. Anda membutuhkan ini untuk menyediakan peran IAM ini saat membuat aliran Firehose.
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Di panel navigasi kiri, pilih Kebijakan
-
Pilih Buat kebijakan, lalu pilih JSON di editor kebijakan.
-
Tambahkan kebijakan inline berikut yang memberikan izin ke semua database dan tabel di katalog data Anda. Jika mau, Anda dapat memberikan izin hanya untuk tabel dan database tertentu. Untuk menggunakan kebijakan ini, ganti
dengan informasi Anda sendiri.user input placeholders
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3TableAccessViaGlueFederation", "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetDatabase", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:
region
:account-id
:catalog/s3tablescatalog/*", "arn:aws:glue:region
:account-id
:catalog/s3tablescatalog", "arn:aws:glue:region
:account-id
:catalog", "arn:aws:glue:region
:account-id
:database/*", "arn:aws:glue:region
:account-id
:table/*/*" ] }, { "Sid": "S3DeliveryErrorBucketPermission", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::error delivery bucket
", "arn:aws:s3:::error delivery bucket
/*" ] }, { "Sid": "RequiredWhenUsingKinesisDataStreamsAsSource", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:region
:account-id
:stream/stream-name
" }, { "Sid": "RequiredWhenDoingMetadataReadsANDDataAndMetadataWriteViaLakeformation", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" }, { "Sid": "RequiredWhenUsingKMSEncryptionForS3ErrorBucketDelivery", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:region
:account-id
:key/KMS-key-id
" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.region
.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::error delivery bucket
/prefix*" } } }, { "Sid": "LoggingInCloudWatch", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region
:account-id
:log-group:log-group-name
:log-stream:log-stream-name
" ] }, { "Sid": "RequiredWhenAttachingLambdaToFirehose", "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:region
:account-id
:function:function-name
:function-version
" ] } ] }Kebijakan ini memiliki pernyataan yang memungkinkan akses ke Kinesis Data Streams, menjalankan fungsi Lambda dan akses ke kunci. AWS KMS Jika Anda tidak menggunakan salah satu sumber daya ini, Anda dapat menghapus pernyataan masing-masing.
Jika pencatatan kesalahan diaktifkan, Firehose juga mengirimkan kesalahan pengiriman data ke grup CloudWatch log dan aliran Anda. Untuk ini, Anda harus mengonfigurasi grup log dan nama aliran log. Untuk nama grup log dan aliran log, lihat Memantau Amazon Data Firehose Menggunakan CloudWatch Log.
-
Setelah Anda membuat kebijakan, buat peran IAM dengan AWS layanan sebagai jenis entitas Tepercaya.
-
Untuk Service atau use case, pilih Kinesis. Untuk kasus Penggunaan pilih Kinesis Firehose.
-
Pilih Berikutnya, lalu pilih kebijakan yang Anda buat sebelumnya.
-
Beri nama peran Anda. Tinjau detail peran Anda, dan pilih Buat peran. Peran tersebut akan memiliki kebijakan kepercayaan berikut.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "firehose.amazonaws.com" ] } } ] }
Membuat aliran Firehose ke tabel S3
Prosedur berikut menunjukkan cara membuat aliran Firehose untuk mengirimkan data ke tabel S3 menggunakan konsol. Prasyarat berikut diperlukan untuk menyiapkan aliran Firehose ke tabel S3.
Prasyarat
Berikan izin Lake Formation ke peran layanan Firehose yang Anda buat untuk mengakses tabel.
Untuk memberikan informasi perutean ke Firehose saat mengonfigurasi aliran, Anda menggunakan namespace sebagai nama database dan nama tabel di namespace tersebut. Anda dapat menggunakan nilai-nilai ini di bagian kunci Unik dari konfigurasi aliran Firehose untuk merutekan data ke satu tabel. Anda juga dapat menggunakan nilai-nilai ini untuk rute ke tabel menggunakan ekspresi JSON Query. Untuk informasi selengkapnya, lihat Merutekan catatan masuk ke satu tabel Gunung Es.
Untuk mengatur aliran Firehose ke tabel S3 (Konsol)
Buka konsol Firehose di. https://console.aws.amazon.com/firehose/
-
Pilih Buat aliran Firehose.
-
Untuk Sumber, pilih salah satu sumber berikut:
-
Amazon Kinesis Data Streams
-
Amazon MSK
-
Langsung PUT
-
-
Untuk Tujuan, pilih Apache IcebergTabel.
-
Masukkan nama aliran Firehose.
-
Konfigurasikan pengaturan Sumber Anda.
-
Untuk pengaturan Tujuan, pilih Akun saat ini untuk melakukan streaming ke tabel di akun Anda atau Akun silang untuk tabel di akun lain.
Untuk tabel di akun saat ini, pilih katalog Tabel S3 Anda dari tarik-turun Katalog.
Untuk tabel di akun Lintas, masukkan ARN Katalog dari katalog yang ingin Anda streaming di akun lain.
-
Konfigurasikan nama database dan tabel menggunakan konfigurasi Kunci Unik, JSONQuery ekspresi, atau dalam fungsi Lambda. Untuk informasi selengkapnya, lihat Rutekan catatan masuk ke satu tabel Gunung Es dan Rute catatan masuk ke tabel Gunung Es yang berbeda di Panduan Pengembang Firehose Data Amazon.
-
Di bawah Pengaturan Backup, tentukan bucket cadangan S3.
-
Untuk peran IAM yang ada di bawah Pengaturan lanjutan, pilih peran IAM yang Anda buat untuk Firehose.
Pilih Buat aliran Firehose.
Untuk informasi selengkapnya tentang setelan lain yang dapat Anda konfigurasikan untuk streaming, lihat Menyiapkan aliran Firehose di Panduan Pengembang Firehose Data Amazon.