Menggunakan sistem kontrol versi Git di AWS Glue - AWS Glue

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

Menggunakan sistem kontrol versi Git di AWS Glue

catatan

Notebook saat ini tidak didukung untuk kontrol versi diAWS Glue Studio. Namun, kontrol versi untuk skrip AWS Glue pekerjaan dan pekerjaan ETL visual didukung.

Jika Anda memiliki repositori jarak jauh dan ingin mengelola AWS Glue pekerjaan Anda menggunakan repositori Anda, Anda dapat menggunakan AWS Glue Studio atau AWS CLI untuk menyinkronkan perubahan ke repositori dan pekerjaan Anda di. AWS Glue Ketika Anda menyinkronkan perubahan dengan cara ini, Anda mendorong pekerjaan dari AWS Glue Studio ke repositori Anda, atau menarik dari repositori ke. AWS Glue Studio

Dengan integrasi Git diAWS Glue Studio, Anda dapat:

  • Integrasi dengan sistem kontrol versi Git, seperti AWS CodeCommit, GitHub, GitLab, dan Bitbucket

  • Edit AWS Glue pekerjaan AWS Glue Studio apakah Anda menggunakan pekerjaan visual atau pekerjaan skrip dan sinkronkan ke repositori

  • Parameterisasi sumber dan target dalam pekerjaan

  • Tarik pekerjaan dari repositori dan edit di AWS Glue Studio

  • Uji pekerjaan dengan menarik dari cabang dan/atau mendorong ke cabang menggunakan alur kerja multi-cabang di AWS Glue Studio

  • Unduh file dari repositori dan unggah pekerjaan AWS Glue Studio untuk pembuatan pekerjaan lintas akun

  • Gunakan alat otomatisasi pilihan Anda (misalnya, Jenkins, AWS CodeDeploy, dll.)

Video ini menunjukkan bagaimana Anda dapat mengintegrasikan AWS Glue dengan Git dan membangun pipeline kode yang berkelanjutan dan kolaboratif.

Izin IAM

Pastikan pekerjaan memiliki salah satu izin IAM berikut. Untuk informasi selengkapnya tentang cara mengatur izin IAM, lihat Menyiapkan izin IAM untuk. AWS Glue Studio

  • AWSGlueServiceRole

  • AWSGlueConsoleFullAccess

Minimal, tindakan berikut diperlukan untuk integrasi Git:

  • glue:UpdateJobFromSourceControl— untuk dapat memperbarui AWS Glue dengan pekerjaan yang ada di sistem kontrol versi

  • glue:UpdateSourceControlFromJob— untuk dapat memperbarui sistem kontrol versi dengan pekerjaan yang disimpan di AWS Glue

  • s3:GetObject— untuk dapat mengambil skrip untuk pekerjaan sambil mendorong ke sistem kontrol versi

  • s3:PutObject— untuk dapat memperbarui skrip saat menarik pekerjaan dari sistem kontrol sumber

Prasyarat

Untuk mendorong pekerjaan ke repositori kontrol sumber, Anda perlu:

  • repositori yang telah dibuat oleh administrator Anda

  • cabang di repositori

  • token akses pribadi (untuk Bitbucket, ini adalah Token Akses Repositori)

  • nama pengguna pemilik repositori

  • atur izin di repositori untuk memungkinkan membaca dan menulis AWS Glue Studio ke repositori

    • GitLab— atur cakupan token ke api, read_repository, dan write_repository

    • Bitbucket - atur izin ke:

      • Keanggotaan ruang kerja - baca, tulis

      • Proyek - tulis, baca admin

      • Repositori - baca, tulis, admin, hapus

catatan

Saat menggunakan AWS CodeCommit, token akses pribadi dan pemilik repositori tidak diperlukan. Lihat Memulai dengan Git dan AWS CodeCommit.

Menggunakan pekerjaan dari repositori kontrol sumber Anda di AWS Glue Studio

Untuk menarik pekerjaan dari repositori kontrol sumber Anda yang tidak adaAWS Glue Studio, dan untuk menggunakan pekerjaan ituAWS Glue Studio, prasyarat akan tergantung pada jenis pekerjaan.

Untuk pekerjaan visual:

  • Anda memerlukan folder dan file JSON dari definisi pekerjaan yang cocok dengan nama pekerjaan

    Misalnya, lihat definisi pekerjaan di bawah ini. Cabang di repositori Anda harus berisi jalur my-visual-job/my-visual-job.json di mana folder dan file JSON cocok dengan nama pekerjaan

    { "name" : "my-visual-job", "description" : "", "role" : "arn:aws:iam::aws_account_id:role/Rolename", "command" : { "name" : "glueetl", "scriptLocation" : "s3://foldername/scripts/my-visual-job.py", "pythonVersion" : "3" }, "codeGenConfigurationNodes" : "{\"node-nodeID\":{\"S3CsvSource\":{\"AdditionalOptions\":{\"EnableSamplePath\":false,\"SamplePath\":\"s3://notebook-test-input/netflix_titles.csv\"},\"Escaper\":\"\",\"Exclusions\":[],\"Name\":\"Amazon S3\",\"OptimizePerformance\":false,\"OutputSchemas\":[{\"Columns\":[{\"Name\":\"show_id\",\"Type\":\"string\"},{\"Name\":\"type\",\"Type\":\"string\"},{\"Name\":\"title\",\"Type\":\"choice\"},{\"Name\":\"director\",\"Type\":\"string\"},{\"Name\":\"cast\",\"Type\":\"string\"},{\"Name\":\"country\",\"Type\":\"string\"},{\"Name\":\"date_added\",\"Type\":\"string\"},{\"Name\":\"release_year\",\"Type\":\"bigint\"},{\"Name\":\"rating\",\"Type\":\"string\"},{\"Name\":\"duration\",\"Type\":\"string\"},{\"Name\":\"listed_in\",\"Type\":\"string\"},{\"Name\":\"description\",\"Type\":\"string\"}]}],\"Paths\":[\"s3://dalamgir-notebook-test-input/netflix_titles.csv\"],\"QuoteChar\":\"quote\",\"Recurse\":true,\"Separator\":\"comma\",\"WithHeader\":true}}}" }

Untuk pekerjaan skrip:

  • Anda memerlukan folder, file JSON dari definisi pekerjaan, dan skrip

  • folder dan file JSON harus cocok dengan nama pekerjaan. Nama skrip harus sesuai scriptLocation dengan definisi pekerjaan bersama dengan ekstensi file

    Misalnya, dalam definisi pekerjaan di bawah ini, cabang di repositori Anda harus berisi jalur my-script-job/my-script-job.json dan. my-script-job/my-script-job.py Nama skrip harus cocok dengan nama di scriptLocation termasuk ekstensi skrip

    { "name" : "my-script-job", "description" : "", "role" : "arn:aws:iam::aws_account_id:role/Rolename", "command" : { "name" : "glueetl", "scriptLocation" : "s3://foldername/scripts/my-script-job.py", "pythonVersion" : "3" } }

Batasan

Menghubungkan repositori kontrol versi dengan AWS Glue

Anda dapat memasukkan detail repositori kontrol versi Anda dan mengelolanya di tab Kontrol Versi di editor AWS Glue Studio pekerjaan. Untuk berintegrasi dengan repositori Git Anda, Anda harus terhubung ke repositori Anda setiap kali Anda masuk. AWS Glue Studio

Untuk menghubungkan sistem kontrol versi Git:

  1. MasukAWS Glue Studio, mulai pekerjaan baru dan pilih tab Kontrol Versi.

    Tangkapan layar menunjukkan pekerjaan dengan tab Kontrol Versi yang dipilih.
  2. Dalam sistem kontrol Versi, pilih Layanan Git dari opsi yang tersedia dengan mengklik menu tarik-turun.

    • AWS CodeCommit

    • GitHub

    • GitLab

    • Bitbucket

  3. Bergantung pada sistem kontrol versi Git yang Anda pilih, Anda akan memiliki bidang yang berbeda untuk diselesaikan.

    Untuk AWS CodeCommit:

    Selesaikan konfigurasi repositori dengan memilih repositori dan cabang untuk pekerjaan Anda:

    • Repositori — jika Anda telah mengatur repositori di AWS CodeCommit, pilih repositori dari menu drop-down. Repositori Anda akan secara otomatis terisi dalam daftar

    • Cabang — pilih cabang dari menu drop-down

    • Folderopsional - masukkan nama folder untuk menyimpan pekerjaan Anda. Jika dibiarkan kosong, folder dibuat secara otomatis. Nama folder default ke nama pekerjaan

    Untuk GitHub:

    Selesaikan GitHub konfigurasi dengan menyelesaikan bidang:

    • Token akses pribadi — ini adalah token yang disediakan oleh GitHub repositori. Untuk informasi selengkapnya tentang token akses pribadi, lihat GitHub Dokumen

    • Pemilik repositori — ini adalah pemilik repositori. GitHub

    Selesaikan konfigurasi repositori dengan memilih repositori dan cabang dari. GitHub

    • Repositori — jika Anda telah mengatur repositori di GitHub, pilih repositori dari menu drop-down. Repositori Anda akan secara otomatis terisi dalam daftar

    • Cabang — pilih cabang dari menu drop-down

    • Folderopsional - masukkan nama folder untuk menyimpan pekerjaan Anda. Jika dibiarkan kosong, folder dibuat secara otomatis. Nama folder default ke nama pekerjaan

    Untuk GitLab:

    • Token akses pribadi — ini adalah token yang disediakan oleh GitLab repositori. Untuk informasi selengkapnya tentang token akses pribadi, lihat Token akses GitLab pribadi

    • Pemilik repositori — ini adalah pemilik repositori. GitLab

    Selesaikan konfigurasi repositori dengan memilih repositori dan cabang dari. GitLab

    • Repositori — jika Anda telah mengatur repositori di GitLab, pilih repositori dari menu drop-down. Repositori Anda akan secara otomatis terisi dalam daftar

    • Cabang — pilih cabang dari menu drop-down

    • Folderopsional - masukkan nama folder untuk menyimpan pekerjaan Anda. Jika dibiarkan kosong, folder dibuat secara otomatis. Nama folder default ke nama pekerjaan

    Untuk Bitbucket:

    • Kata sandi aplikasi — Bitbucket menggunakan kata sandi Aplikasi dan bukan Token Akses Repositori. Untuk informasi selengkapnya tentang Sandi aplikasi, lihat Sandi aplikasi.

    • Pemilik repositori — ini adalah pemilik repositori Bitbucket. Di Bitbucket, pemiliknya adalah pencipta repositori.

    Lengkapi konfigurasi repositori dengan memilih ruang kerja, repositori, cabang, dan folder dari Bitbucket.

    • Workspace — jika Anda memiliki ruang kerja yang diatur di Bitbucket, pilih ruang kerja dari menu drop-down. Ruang kerja Anda terisi secara otomatis

    • Repositori — jika Anda telah mengatur repositori di Bitbucket, pilih repositori dari menu drop-down. Repositori Anda diisi secara otomatis

    • Cabang — pilih cabang dari menu drop-down. Cabang Anda terisi secara otomatis

    • Folderopsional - masukkan nama folder untuk menyimpan pekerjaan Anda. Jika dibiarkan kosong, folder secara otomatis dibuat dengan nama pekerjaan.

  4. Pilih Simpan di bagian atas AWS Glue Studio pekerjaan

Mendorong AWS Glue pekerjaan ke repositori sumber

Setelah Anda memasukkan detail sistem kontrol versi Anda, Anda dapat mengedit pekerjaan AWS Glue Studio dan mendorong pekerjaan ke repositori sumber Anda. Jika Anda tidak terbiasa dengan konsep Git seperti mendorong dan menarik, lihat tutorial ini tentang Memulai dengan Git dan AWS CodeCommit.

Untuk mendorong pekerjaan Anda ke repositori, Anda harus memasukkan detail sistem kontrol versi Anda dan menyimpan pekerjaan Anda.

  1. Dalam AWS Glue Studio pekerjaan, pilih Tindakan. Ini akan membuka opsi menu tambahan.

    Tangkapan layar menunjukkan pekerjaan dengan menu Tindakan dibuka. Opsi Push to repositori terlihat.
  2. Pilih Push to repository.

    Tindakan ini akan menyelamatkan pekerjaan. Saat Anda mendorong ke repositori, AWS Glue Studio dorong perubahan terakhir yang disimpan. Jika pekerjaan di repositori diubah oleh Anda atau pengguna lain dan tidak sinkron dengan pekerjaan diAWS Glue Studio, pekerjaan di repositori akan ditimpa dengan pekerjaan yang disimpan AWS Glue Studio saat Anda mendorong pekerjaan dari. AWS Glue Studio

  3. Pilih Konfirmasi untuk menyelesaikan tindakan. Ini membuat komit baru di repositori. Jika Anda menggunakan AWS CodeCommit, pesan konfirmasi akan menampilkan tautan ke komit terbaru AWS CodeCommit.

Menarik AWS Glue pekerjaan dari repositori sumber

Setelah Anda memasukkan detail repositori Git Anda ke dalam tab kontrol Versi, Anda juga dapat menarik pekerjaan dari repositori Anda dan mengeditnya. AWS Glue Studio

  1. Dalam AWS Glue Studio pekerjaan, pilih Tindakan. Ini akan membuka opsi menu tambahan.

    Tangkapan layar menunjukkan pekerjaan dengan menu Tindakan dibuka. Opsi Push to repositori terlihat.
  2. Pilih Tarik dari repositori.

  3. Pilih Konfirmasi. Ini mengambil komit terbaru dari repositori dan memperbarui pekerjaan Anda. AWS Glue Studio

  4. Edit pekerjaan Anda diAWS Glue Studio. Jika Anda membuat perubahan, Anda dapat menyinkronkan pekerjaan Anda ke repositori Anda dengan memilih Push to repository dari menu drop-down Actions.