Menggunakan paket AWS SCT ekstensi - 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 AWS SCT ekstensi

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 fungsi SQL, prosedur, dan tabel untuk meniru pemrosesan transaksi online tertentu (OLTP) dan objek database pemrosesan analitik online (OLAP) 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 database OLTP tertentu) - Termasuk AWS Lambda fungsi yang meniru fungsionalitas database yang kompleks, seperti penjadwalan pekerjaan dan mengirim email.

  • Pustaka khusus untuk database OLAP — Termasuk sekumpulan pustaka Java dan Python yang dapat Anda gunakan untuk memigrasi Microsoft SQL Server Integration Services (SSIS) mengekstrak, mengubah, dan memuat skrip (ETL) ke atau. 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 sumber XHTML.

    Pustaka Python mencakup modul-modul berikut:

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

    • 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 PostgreSQL. AWS SCT Paket ekstensi ini mengemulasi SQL Server Agent dan SQL Server Database Mail. Lihat informasi yang lebih lengkap di Meniru SQL Server Agent di PostgreSQL dengan paket ekstensi dan Meniru SQL Server Database Mail di PostgreSQL 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 baru AWS Identity and Access Management (IAM) dan kebijakan IAM sebaris. 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 pengguna IAM Anda:

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

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

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

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

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

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

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

  • 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 peran IAM 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 kebijakan IAM Anda.

AWS SCT menggunakan IAM Policy Simulator untuk memeriksa izin yang diperlukan untuk menginstal paket ekstensi Amazon Redshift. Simulator Kebijakan IAM dapat menampilkan pesan kesalahan bahkan jika Anda telah mengkonfigurasi pengguna IAM Anda dengan benar. Ini adalah masalah yang diketahui dari IAM Policy Simulator. Selain itu, IAM Policy Simulator menampilkan pesan kesalahan ketika Anda tidak memiliki iam:SimulatePrincipalPolicy tindakan dalam kebijakan IAM 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 sistem SQL 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 database OLTP diberi nama sesuai dengan database sumber sebagai berikut:

  • Server Microsoft SQL: AWS_SQLSERVER_EXT

  • MySQL: AWS_MYSQL_EXT

  • Oracle: AWS_ORACLE_EXT

  • PostgreSQL: AWS_POSTGRESQL_EXT

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

  • Greenplum: AWS_GREENPLUM_EXT

  • Server Microsoft SQL: 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 database OLAP atau skrip ETL. 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 Menyimpan profilAWS layanan diAWS SCT.

  4. Jika Anda mengunggah perpustakaan baru, maka pilih Saya perlu mengunggah perpustakaan di halaman unggah Perpustakaan. Gunakan langkah ini hanya ketika Anda mengonversi database OLAP atau skrip ETL. 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 database OLAP atau skrip ETL. Untuk informasi selengkapnya, lihat Menyimpan profilAWS layanan diAWS SCT.

    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 DataExtractionAgentName111122223333:user/ dengan nama pengguna IAM Anda.

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

  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 fitur Amazon RDS 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 Amazon EC2, Anda dapat meniru fitur-fitur ini dengan AWS mengganti 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 kredensil untuk terhubung ke layanan Anda. Akun AWS Anda dapat menggunakan AWS CLI kredensil 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 Menyimpan profilAWS layanan diAWS SCT.

  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 Menginstal, memverifikasi, dan memperbarui AWS SCT.

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