View a markdown version of this page

Streaming data ke tabel dengan Amazon Data Firehose - Amazon Simple Storage Service

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 real-time ke tujuan seperti Amazon S3, Amazon Redshift, Amazon OpenSearch Service, Apache Iceberg tabelSplunk, dan titik akhir HTTP kustom atau titik akhir HTTP yang dimiliki oleh penyedia layanan pihak ketiga yang didukung. Dengan Amazon Data Firehose, Anda tidak perlu menulis aplikasi atau mengelola sumber daya. Anda mengonfigurasi produsen data Anda untuk mengirim data ke Firehose, dan secara otomatis mengirimkan data ke tujuan yang Anda tentukan. Anda juga dapat mengonfigurasi Firehose untuk mengubah data Anda sebelum mengirimkannya. Untuk mempelajari selengkapnya tentang Amazon Data Firehose, lihat Apa itu Amazon Data Firehose?

Selesaikan langkah-langkah ini untuk mengatur streaming Firehose ke tabel di bucket tabel S3:

  1. Integrasikan bucket meja Anda dengan layanan AWS analitik.

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

  3. Berikan izin eksplisit peran layanan Firehose ke namespace tabel atau tabel Anda. Untuk informasi selengkapnya, lihat Memberikan izin yang diperlukan.

  4. Buat aliran Firehose yang merutekan data ke 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 memerlukan ini untuk menyediakan peran IAM ini saat Anda membuat aliran Firehose.

  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi kiri, pilih Kebijakan

  3. Pilih Buat kebijakan, dan pilih JSON di editor kebijakan.

  4. Tambahkan kebijakan sebaris 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 user input placeholders dengan informasi Anda sendiri.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "S3TableAccessViaGlueFederation", "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetDatabase", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog/s3tablescatalog/*", "arn:aws:glue:us-east-1:111122223333:catalog/s3tablescatalog", "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/*", "arn:aws:glue:us-east-1:111122223333: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:us-east-1:111122223333:stream/stream-name" }, { "Sid": "RequiredWhenDoingMetadataReadsANDDataAndMetadataWriteViaLakeformation", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" }, { "Sid": "RequiredWhenUsingKMSEncryptionForS3ErrorBucketDelivery", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/KMS-key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.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:us-east-1:111122223333:log-group:log-group-name:log-stream:log-stream-name" ] }, { "Sid": "RequiredWhenAttachingLambdaToFirehose", "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:us-east-1:111122223333:function:function-name:function-version" ] } ] }

    Kebijakan ini memiliki pernyataan yang memungkinkan akses ke Kinesis Data Streams, memanggil 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 Meman tau Amazon Data Firehose Menggunakan CloudWatch Log.

  5. Setelah Anda membuat kebijakan, buat peran IAM dengan AWS layanan sebagai tipe entitas te percaya.

  6. Untuk Layanan atau kasus penggunaan, pilih Kinesis. Untuk kasus penggunaan pilih Kinesis Fire hose.

  7. Pilih Berikutnya, lalu pilih kebijakan yang Anda buat sebelumnya.

  8. Berikan nama peran Anda. Tinjau detail peran Anda, dan pilih Buat peran. Peran akan memiliki kebijakan kepercayaan berikut.

    JSON
    { "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 mengatur aliran Firehose ke tabel S3.

Untuk memberikan informasi routing ke Firehose saat Anda mengonfigurasi aliran, Anda menggunakan namespace Anda 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 ini untuk merutekan ke tabel menggunakan ekspresi Kueri JSON. Untuk informasi selengkapnya, lihat Merutekan catatan masuk ke satu tabel Gunung Es.

Untuk mengatur aliran Firehose ke tabel S3 (Konsol)
  1. Buka konsol Firehose di https://console.aws.amazon.com/firehose/.

  2. Pilih Buat aliran Firehose.

  3. Untuk Sumber, pilih salah satu sumber berikut:

    • Amazon Kinesis Data Streams

    • Amazon MSK

    • Langsung PUT

  4. Untuk Tujuan, pilih Apache Iceberg Tabel.

  5. Masukkan nama aliran Firehose.

  6. Konfigurasikan pengaturan Sumber Anda.

  7. Untuk Pengaturan tujuan, pilih Akun saat ini untuk melakukan streaming ke tabel di akun Anda atau Cross-account untuk tabel di akun lain.

    • Untuk tabel di akun saat ini, pilih katalog Tabel S3 Anda dari dropdown Katalog.

    • Untuk tabel di a Cross-account, masukkan Katalog ARN dari katalog yang ingin Anda streaming ke akun lain.

  8. Konfigurasikan database dan nama tabel menggunakan konfigurasi Kunci Unik, ekspresi JSONQuery, atau dalam fungsi Lambda. Untuk informasi selengkapnya, lihat Mer utekan catatan masuk ke satu tabel Gunung Es dan Merut ekan catatan masuk ke tabel Iceberg yang berbeda di Panduan Pengembang Amazon Data Firehose.

  9. Di bawah Pengaturan cadangan, tentukan bucket cadangan S3.

  10. Untuk Per an IAM yang ada di bawah Pengaturan lanj utan, pilih peran IAM yang Anda buat untuk Firehose.

  11. Pilih Buat aliran Firehose.

Untuk informasi selengkapnya tentang pengaturan lain yang dapat Anda konfigurasikan untuk streaming, lihat Men yiapkan aliran Firehose di Panduan Pengembang Amazon Data Firehose.