Menggunakan paket ekstensi dengan AWS Schema Conversion Tool - AWS Schema Conversion Tool

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

Menggunakan paket ekstensi dengan AWS Schema Conversion Tool

Paket AWS SCT ekstensi adalah modul add-on yang mengemulasi fungsi yang ada dalam database sumber yang diperlukan saat mengonversi objek ke database target. Sebelum Anda dapat menginstal paket AWS SCT ekstensi, Anda mengonversi skema database Anda.

Setiap paket AWS SCT ekstensi mencakup komponen-komponen berikut:

  • Skema DB — Termasuk SQL fungsi, prosedur, dan tabel untuk meniru pemrosesan transaksi online tertentu (OLTP) dan pemrosesan analitik online (OLAP) objek database seperti urutan. Juga, mengemulasi tidak didukung built-in-functions dari database sumber. Nama skema ini memiliki format sebagai berikut:aws_database_engine_name_ext.

  • AWS Lambda fungsi (untuk OLTP database tertentu) - Termasuk AWS Lambda fungsi yang meniru fungsionalitas database yang kompleks, seperti penjadwalan pekerjaan dan mengirim email.

  • Pustaka khusus untuk OLAP database - Termasuk sekumpulan pustaka Java dan Python yang dapat Anda gunakan untuk memigrasi Microsoft SQL Server Integration Services (SSIS) mengekstrak, mengubah, dan memuat () skrip ke atau. ETL AWS Glue AWS Glue Studio

    Pustaka Java mencakup modul-modul berikut:

    • spark-excel_2.11-0.13.1.jar— Untuk meniru fungsionalitas sumber Excel dan komponen target.

    • spark-xml_2.11-0.9.0.jar,poi-ooxml-schemas-4.1.2.jar, dan xmlbeans-3.1.0.jar — Untuk meniru fungsionalitas komponen XML sumber.

    Pustaka Python mencakup modul-modul berikut:

    • sct_utils.py— Untuk meniru tipe data sumber dan menyiapkan parameter untuk kueri SparkSQL.

    • ssis_datetime.py— Untuk meniru fungsi bawaan tanggal dan waktu.

    • ssis_null.py— Untuk meniru ISNULL dan fungsi REPLACENULL bawaan.

    • ssis_string.py- Untuk meniru fungsi bawaan string.

    Untuk informasi lebih lanjut tentang perpustakaan ini, lihatMenggunakan pustaka khusus untuk paket AWS SCT ekstensi.

Anda dapat menerapkan paket AWS SCT ekstensi dengan dua cara:

  • AWS SCT dapat secara otomatis menerapkan paket ekstensi saat Anda menerapkan skrip basis data target dengan memilih Terapkan ke database dari menu konteks. AWS SCT menerapkan paket ekstensi sebelum menerapkan semua objek skema lainnya.

  • Untuk menerapkan paket ekstensi secara manual, pilih database target dan kemudian pilih Terapkan paket ekstensi untuk dari menu konteks (klik kanan). Dalam kebanyakan situasi, aplikasi otomatis sudah cukup. Namun, Anda mungkin ingin menerapkan paket secara manual jika tidak sengaja dihapus.

Setiap kali Anda menerapkan paket AWS SCT ekstensi ke penyimpanan data target, komponen akan ditimpa, dan AWS SCT menampilkan pemberitahuan tentang hal ini. Untuk mematikan notifikasi ini, pilih Pengaturan, Pengaturan global, Pemberitahuan, lalu pilih Sembunyikan peringatan penggantian paket ekstensi.

Untuk konversi dari Microsoft SQL Server ke PostgreSQL, Anda dapat menggunakan paket ekstensi SQL Server ke Postgre SQL di. AWS SCT Paket ekstensi ini mengemulasi SQL Server Agent dan SQL Server Database Mail. Untuk informasi selengkapnya, silakan lihat Meniru Agen SQL Server di Postgre SQL dengan paket ekstensi dan Meniru SQL Server Database Mail di Postgre SQL dengan paket ekstensi.

Berikut ini, Anda dapat menemukan informasi lebih lanjut tentang bekerja dengan paket AWS SCT ekstensi.

Izin untuk menggunakan paket AWS SCT ekstensi

Paket AWS SCT ekstensi untuk Amazon Aurora mengemulasi pengiriman email, penjadwalan pekerjaan, antrian, dan operasi lainnya menggunakan fungsi. AWS Lambda Saat Anda menerapkan paket AWS SCT ekstensi ke basis data Aurora target Anda, AWS SCT buat peran new AWS Identity and Access Management (IAM) dan kebijakan IAM inline. Selanjutnya, AWS SCT buat fungsi Lambda baru, dan konfigurasikan cluster Aurora DB Anda untuk koneksi keluar. AWS Lambda Untuk menjalankan operasi ini, pastikan Anda memberikan izin yang diperlukan berikut kepada IAM pengguna Anda:

  • iam:CreateRole— untuk membuat IAM peran baru untuk AWS akun Anda.

  • iam:CreatePolicy— untuk membuat IAM kebijakan baru untuk AWS akun Anda.

  • iam:AttachRolePolicy— untuk melampirkan kebijakan yang ditentukan ke IAM peran Anda.

  • iam:PutRolePolicy— untuk memperbarui dokumen kebijakan inline yang disematkan dalam IAM peran Anda.

  • iam:PassRole— untuk meneruskan IAM peran yang ditentukan ke mesin aturan.

  • iam:TagRole— untuk menambahkan tag ke IAM peran.

  • iam:TagPolicy— untuk menambahkan tag ke IAM kebijakan.

  • lambda:ListFunctions— untuk melihat daftar fungsi Lambda Anda.

  • lambda:ListTags— untuk melihat daftar tag fungsi Lambda Anda.

  • lambda:CreateFunction— untuk membuat fungsi Lambda baru.

  • rds:AddRoleToDBCluster— untuk mengaitkan IAM peran dengan cluster Aurora DB Anda.

Paket AWS SCT ekstensi untuk Amazon Redshift mengemulasi fungsi basis gudang data sumber yang diperlukan saat menerapkan objek yang dikonversi ke Amazon Redshift. Sebelum Anda menerapkan kode yang dikonversi ke Amazon Redshift, Anda harus menerapkan paket ekstensi untuk Amazon Redshift. Untuk melakukannya, sertakan iam:SimulatePrincipalPolicy tindakan dalam IAM kebijakan Anda.

AWS SCT menggunakan Simulator IAM Kebijakan untuk memeriksa izin yang diperlukan untuk menginstal paket ekstensi Amazon Redshift. Simulator IAM Kebijakan dapat menampilkan pesan kesalahan meskipun Anda telah mengonfigurasi IAM pengguna dengan benar. Ini adalah masalah yang diketahui dari Simulator IAM Kebijakan. Selain itu, Simulator IAM Kebijakan akan menampilkan pesan galat saat Anda tidak memiliki iam:SimulatePrincipalPolicy tindakan dalam IAM kebijakan Anda. Dalam kasus ini, Anda dapat mengabaikan pesan kesalahan dan menerapkan paket ekstensi menggunakan wizard paket ekstensi. Untuk informasi selengkapnya, lihat Menerapkan paket ekstensi.

Menggunakan skema paket ekstensi

Saat Anda mengonversi database atau skema gudang data, AWS SCT tambahkan skema tambahan ke basis data target Anda. Skema ini mengimplementasikan fungsi SQL sistem dari database sumber yang diperlukan saat menulis skema yang dikonversi ke database target Anda. Skema tambahan ini disebut skema paket ekstensi.

Skema paket ekstensi untuk OLTP database diberi nama sesuai dengan basis data sumber sebagai berikut:

  • SQLServer Microsoft: AWS_SQLSERVER_EXT

  • SayaSQL: AWS_MYSQL_EXT

  • Oracle: AWS_ORACLE_EXT

  • PostgreSQL: AWS_POSTGRESQL_EXT

Skema paket ekstensi untuk aplikasi gudang OLAP data diberi nama sesuai dengan penyimpanan data sumber sebagai berikut:

  • Greenplum: AWS_GREENPLUM_EXT

  • SQLServer Microsoft: AWS_SQLSERVER_EXT

  • Netezza: AWS_NETEZZA_EXT

  • Oracle: AWS_ORACLE_EXT

  • Teradata: AWS_TERADATA_EXT

  • Vertika: AWS_VERTICA_EXT

Menggunakan pustaka khusus untuk paket AWS SCT ekstensi

Dalam beberapa kasus, tidak AWS SCT dapat mengonversi fitur database sumber ke fitur yang setara dalam database target Anda. Paket AWS SCT ekstensi yang relevan berisi pustaka khusus yang meniru beberapa fungsionalitas basis data sumber di database target Anda.

Jika Anda mengonversi database transaksional, lihat. Menggunakan AWS Lambda fungsi dari paket AWS SCT ekstensi

Menerapkan paket ekstensi

Anda dapat menerapkan paket AWS SCT ekstensi menggunakan wizard paket ekstensi atau ketika Anda menerapkan kode yang dikonversi ke database target Anda.

Untuk menerapkan paket ekstensi menggunakan wizard paket ekstensi
  1. Di AWS Schema Conversion Tool, di pohon database target, buka menu konteks (klik kanan), pilih Terapkan paket ekstensi untuk, lalu pilih platform basis data sumber Anda.

    Terapkan menu konteks paket ekstensi

    Wizard paket ekstensi muncul.

  2. Baca halaman Selamat Datang, lalu pilih Berikutnya.

  3. Pada halaman pengaturan AWS profil, lakukan hal berikut:

    • Jika Anda menginstal ulang skema paket ekstensi saja, pilih Lewati langkah ini untuk saat ini, lalu pilih Berikutnya. Opsi Lewati langkah ini untuk saat ini hanya tersedia untuk database pemrosesan transaksi online (OLTP).

    • Jika Anda mengunggah perpustakaan baru, berikan kredensialnya untuk terhubung ke perpustakaan Anda. Akun AWS Gunakan langkah ini hanya ketika Anda mengonversi OLAP database atau ETL skrip. Anda dapat menggunakan kredensi AWS Command Line Interface (AWS CLI) Anda jika Anda telah menginstal. AWS CLI Anda juga dapat menggunakan kredensil yang sebelumnya Anda simpan di profil di pengaturan aplikasi global dan terkait dengan proyek. Jika perlu, pilih Navigasikan ke pengaturan global untuk mengonfigurasi kaitkan profil yang berbeda dengan AWS SCT proyek Anda. Untuk informasi selengkapnya, lihat Mengelola Profil di AWS Schema Conversion Tool.

  4. Jika Anda mengunggah perpustakaan baru, maka pilih Saya perlu mengunggah perpustakaan di halaman unggah Perpustakaan. Gunakan langkah ini hanya ketika Anda mengonversi OLAP database atau ETL skrip. Selanjutnya, berikan jalur Amazon S3, lalu pilih Upload library ke S3.

    Jika Anda sudah mengunggah perpustakaan, lalu pilih Saya sudah mengunggah perpustakaan, gunakan bucket S3 saya yang ada di halaman unggah Perpustakaan. Selanjutnya, berikan jalur Amazon S3.

    Setelah selesai, pilih Berikutnya.

  5. Pada halaman Emulasi fungsi, pilih Buat paket ekstensi. Pesan muncul dengan status operasi paket ekstensi.

    Setelah selesai, pilih Selesai.

Untuk menerapkan paket ekstensi saat menerapkan kode yang dikonversi
  1. Tentukan bucket Amazon S3 di profil AWS layanan Anda. Gunakan langkah ini hanya ketika Anda mengonversi OLAP database atau ETL skrip. Untuk informasi selengkapnya, lihat Mengelola Profil di AWS Schema Conversion Tool.

    Pastikan kebijakan bucket Amazon S3 Anda menyertakan izin berikut:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["s3:PutObject"], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["iam:SimulatePrincipalPolicy"], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["iam:GetUser"], "Resource": ["arn:aws:iam::111122223333:user/DataExtractionAgentName"] } ] }

    Pada contoh sebelumnya, ganti 111122223333:user/DataExtractionAgentName dengan nama IAM pengguna Anda.

  2. Konversikan skema gudang data sumber Anda. Untuk informasi selengkapnya, lihat Mengonversi skema gudang data.

  3. Di panel kanan, pilih skema yang dikonversi.

  4. Buka menu konteks (klik kanan) untuk elemen skema, lalu pilih Terapkan ke database.

  5. AWS SCT menghasilkan paket ekstensi dengan komponen yang diperlukan dan menambahkan aws_database_engine_name_ext skema di pohon target. Selanjutnya, AWS SCT terapkan kode yang dikonversi dan skema paket ekstensi ke gudang data target Anda.

    Saat Anda menggunakan kombinasi Amazon Redshift dan AWS Glue sebagai platform basis data target Anda, AWS SCT tambahkan skema tambahan dalam paket ekstensi.

Menggunakan AWS Lambda fungsi dari paket AWS SCT ekstensi

AWS SCT menyediakan paket ekstensi yang berisi fungsi Lambda untuk email, penjadwalan pekerjaan, dan fitur lain untuk database yang dihosting di Amazon. EC2

Menggunakan AWS Lambda fungsi untuk meniru fungsionalitas database

Dalam beberapa kasus, fitur database tidak dapat dikonversi ke RDS fitur Amazon yang setara. Misalnya, Oracle mengirim panggilan email yang digunakanUTL_SMTP, dan Microsoft SQL Server dapat menggunakan penjadwal pekerjaan. Jika Anda meng-host dan mengelola sendiri database di AmazonEC2, Anda dapat meniru fitur-fitur ini dengan mengganti AWS layanan untuk mereka.

Wisaya paket AWS SCT ekstensi membantu Anda menginstal, membuat, dan mengonfigurasi fungsi Lambda untuk meniru email, penjadwalan pekerjaan, dan fitur lainnya.

Menerapkan paket ekstensi untuk mendukung fungsi Lambda

Anda dapat menerapkan paket ekstensi untuk mendukung fungsi Lambda menggunakan wizard paket ekstensi atau saat Anda menerapkan kode yang dikonversi ke basis data target Anda.

penting

Fitur emulasi AWS layanan hanya didukung untuk database yang diinstal dan dikelola sendiri di Amazon. EC2 Jangan menginstal fitur emulasi layanan jika database target Anda ada di instans Amazon RDS DB.

Untuk menerapkan paket ekstensi menggunakan wizard paket ekstensi
  1. Di AWS Schema Conversion Tool, di pohon database target, buka menu konteks (klik kanan), pilih Terapkan paket ekstensi untuk, lalu pilih platform basis data sumber Anda.

    Terapkan menu konteks paket ekstensi

    Wizard paket ekstensi muncul.

  2. Baca halaman Selamat Datang, lalu pilih Berikutnya.

  3. Pada halaman pengaturan AWS profil, lakukan hal berikut:

    • Jika Anda menginstal ulang skema paket ekstensi saja, pilih Lewati langkah ini untuk saat ini, lalu pilih Berikutnya.

    • Jika Anda menginstal AWS layanan, berikan kredensi untuk terhubung ke layanan Anda. Akun AWS Anda dapat menggunakan AWS CLI kredensi Anda jika Anda telah menginstal. AWS CLI Anda juga dapat menggunakan kredensil yang sebelumnya Anda simpan di profil di pengaturan aplikasi global dan terkait dengan proyek. Jika perlu, pilih Navigasikan ke Pengaturan Proyek untuk mengaitkan profil yang berbeda dengan proyek. Jika perlu, pilih Pengaturan Global untuk membuat profil baru. Untuk informasi selengkapnya, lihat Mengelola Profil di AWS Schema Conversion Tool.

  4. Pada halaman Layanan Pengiriman Email, lakukan hal berikut:

    • Jika Anda menginstal ulang skema paket ekstensi saja, pilih Lewati langkah ini untuk saat ini, lalu pilih Berikutnya.

    • Jika Anda menginstal AWS layanan dan Anda memiliki fungsi Lambda yang ada, Anda dapat menyediakannya. Jika tidak, wizard membuatnya untuk Anda. Setelah selesai, pilih Berikutnya.

  5. Pada halaman Job Emulation Service, lakukan hal berikut:

    • Jika Anda menginstal ulang skema paket ekstensi saja, pilih Lewati langkah ini untuk saat ini, lalu pilih Berikutnya.

    • Jika Anda menginstal AWS layanan dan Anda memiliki fungsi Lambda yang ada, Anda dapat menyediakannya. Jika tidak, wizard membuatnya untuk Anda. Setelah selesai, pilih Berikutnya.

  6. Pada halaman Emulasi fungsi, pilih Buat paket ekstensi. Pesan muncul dengan status operasi paket ekstensi.

    Setelah selesai, pilih Selesai.

catatan

Untuk memperbarui paket ekstensi dan menimpa komponen paket ekstensi lama, pastikan Anda menggunakan versi terbaru. AWS SCT Untuk informasi selengkapnya, lihat Instalasi dan Konfigurasi AWS Schema Conversion Tool.

Mengkonfigurasi fungsi untuk paket AWS SCT ekstensi

Paket ekstensi berisi fungsi yang harus Anda konfigurasikan sebelum digunakan. Konstanta CONVERSION_LANG mendefinisikan bahasa yang digunakan paket layanan. Fungsinya tersedia untuk bahasa Inggris dan Jerman.

Untuk mengatur bahasa ke bahasa Inggris atau Jerman, buat perubahan berikut dalam kode fungsi. Temukan deklarasi konstan berikut:

CONVERSION_LANG CONSTANT VARCHAR := '';

Untuk mengatur CONVERSION_LANG ke bahasa Inggris, ubah baris menjadi berikut:

CONVERSION_LANG CONSTANT VARCHAR := 'English';

Untuk mengatur CONVERSION_LANG ke bahasa Inggris, ubah baris menjadi berikut:

CONVERSION_LANG CONSTANT VARCHAR := 'Deutsch';

Tetapkan pengaturan ini untuk fungsi-fungsi berikut:

  • aws_sqlserver_ext.conv_datetime_to_string

  • aws_sqlserver_ext.conv_date_to_string

  • aws_sqlserver_ext.conv_string_to_date

  • aws_sqlserver_ext.conv_string_to_datetime

  • aws_sqlserver_ext.conv_string_to_datetime

  • aws_sqlserver_ext.parse_to_date

  • aws_sqlserver_ext.parse_to_datetime

  • aws_sqlserver_ext.parse_to_time