Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Alur kerja
Melaksanakan Transformasi
Bagian ini menjelaskan berbagai cara untuk mengeksekusi transformasi dan opsi untuk mengendalikan perilaku eksekusi.
Mode Eksekusi
AWS Transform custom mendukung tiga mode eksekusi untuk mengakomodasi alur kerja yang berbeda.
Mode Percakapan Interaktif
Mulai CLI dengan atx dan minta agen untuk melakukan transformasi melalui bahasa alami. Mode ini memungkinkan Anda untuk melakukan percakapan penuh dengan agen, mengganggu eksekusi kapan saja, dan memberikan umpan balik selama proses transformasi.
Gunakan mode ini ketika Anda menginginkan kontrol maksimum dan kemampuan untuk memandu agen melalui skenario yang kompleks.
Eksekusi Interaktif Langsung
Gunakan atx custom def exec -n <transformation-name> -p <path> untuk memulai transformasi tertentu secara interaktif. Mode ini memungkinkan Anda untuk meninjau dan berinteraksi dengan agen di awal, selama, atau di akhir eksekusi. Agen akan berhenti di titik keputusan utama dan meminta masukan Anda.
Ini sangat ideal untuk menguji dan menyempurnakan transformasi sebelum menjalankannya secara mandiri.
Anda dapat menjalankan transformasi dalam mode non-interaktif atau mode tanpa kepala. Non-interactive mode menekan prompt selama transformasi bernama. Mode tanpa kepala memungkinkan Anda menjalankan agen dengan prompt teks biasa, melewati antarmuka interaktif sepenuhnya.
Non-interactive modus
Gunakan atx custom def exec -n <transformation-name> -p <path> -x -t untuk otomatisasi penuh. Tambahkan -x untuk menjalankan dalam mode non-interaktif, dan -t untuk mempercayai semua alat secara otomatis tanpa meminta.
Mode ini dirancang untuk integrasi CI/CD pipa dan eksekusi massal di mana tidak ada intervensi manusia yang tersedia atau diinginkan.
Mode tanpa kepala
Untuk menyelesaikan tugas tanpa berinteraksi dengan agen, jalankan atx -x "<prompt>" -t dan berikan instruksi Anda dalam teks biasa.
Eksekusi transformasi tanpa kepala
Gunakan mode ini untuk menerapkan definisi transformasi yang ada ke basis kode Anda. Transformasi berjalan setiap langkah secara otomatis tanpa memerlukan persetujuan Anda.
atx -x "apply transformation definition <transformation_definition_name> to <codebase_path>" -t
Pengembangan transformasi tanpa kepala
Membuat atau memodifikasi definisi transformasi.
Untuk mengonversi definisi transformasi lama ke format keterampilan baru (SKILL.md + referensi/), jalankan perintah berikut:
atx -x "convert <legacy_transformation_definition_name> transformation definition to skill and save as draft" -t
Untuk membuat definisi transformasi baru, jalankan perintah berikut:
atx -x "create a transformation definition to <description> with references docs <reference_docs_path>" -t
Bendera Perintah Umum
Saat menjalankan transformasi denganatx custom def exec, flag berikut biasanya digunakan:
-natau--transformation-name- Menentukan nama transformasi untuk mengeksekusi-patau--code-repository-path- Menentukan jalur ke basis kode Anda (gunakan “.” untuk direktori saat ini)-catau--build-command- Menentukan perintah build atau validasi untuk menjalankan-xatau--non-interactive- Mengaktifkan mode non-interaktif (tidak ada permintaan pengguna)-tatau--trust-all-tools- Secara otomatis mempercayai semua alat tanpa meminta-datau--do-not-learn- Mencegah ekstraksi pelajaran dari eksekusi ini--tvatau--transformation-version- Menentukan versi tertentu dari transformasi-gatau--configuration- Menyediakan file konfigurasi atau konfigurasi sebaris
penting
--trust-all-toolsBendera -t atau secara otomatis menyetujui semua eksekusi alat tanpa meminta dan melewati sebagian besar pagar pembatas keamanan, (perintah yang cocok dengan alwaysPromptCommands daftar Anda masih memerlukan izin eksplisit kecuali diganti oleh). trustedShellCommands Melewati --non-interactive dan --trust-all-tools diperlukan untuk pengalaman yang sepenuhnya otonom tetapi tidak diperlukan untuk melaksanakan transformasi. Gunakan dengan hati-hati di lingkungan produksi.
Menggunakan File Konfigurasi
AWS Transform custom mendukung file konfigurasi opsional dalam format YAMG atau JSON. File konfigurasi memungkinkan Anda menentukan parameter eksekusi dan memberikan konteks tambahan kepada agen.
Untuk menggunakan file konfigurasi:
atx custom def exec --configuration file://config.yaml
Anda juga dapat memberikan konfigurasi sebagai pasangan nilai kunci inline:
atx custom def exec --configuration "key=value,key2=value2"
Contoh file konfigurasi (config.yaml):
codeRepositoryPath: ./my-project transformationName: my-transformation buildCommand: mvn clean install additionalPlanContext: | The target Java version to upgrade to is Java 17. Ensure compatibility with our internal logging framework version 2.3. validationCommands: | mvn test mvn verify
additionalPlanContextParameter memberikan konteks tambahan untuk rencana eksekusi agen. Ini sangat berguna dengan transformasi AWS yang dikelola untuk menyesuaikan perilaku mereka untuk kebutuhan spesifik Anda.
Perintah Build dan Validasi
Perintah build atau validasi adalah parameter opsional yang menentukan cara memvalidasi kode Anda selama proses transformasi. AWS Transform custom akan mencoba menyimpulkan perintah build terbaik berdasarkan transformasi jika tidak ditentukan, meskipun disarankan untuk spesifik untuk kualitas.
Contoh perintah build dan validasi:
Java:
mvn clean installataugradle buildPython: atau
pytestpython -m py_compileNode.js:
npm run buildataunpm testLinters:
eslint .ataupylint .
Bahkan untuk bahasa atau transformasi yang tidak memerlukan pembangunan, memberikan perintah yang memvalidasi hasil dan mengembalikan masalah jika validasi gagal sangat penting untuk meningkatkan kualitas transformasi.
Jika tidak diperlukan build atau validasi, hilangkan input Anda.
Mengontrol Perilaku Belajar
Secara default, AWS Transform custom mengekstrak pelajaran dari setiap eksekusi transformasi. Anda dapat mencegah pembelajaran untuk eksekusi tertentu.
Untuk mencegah pembelajaran dari eksekusi:
atx custom def exec -n my-transformation -p ./my-project -d
--do-not-learnBendera -d atau memilih untuk tidak mengizinkan ekstraksi pelajaran dari eksekusi saat ini.
Melanjutkan Percakapan
AWS Transform custom memungkinkan Anda untuk melanjutkan percakapan sebelumnya dalam 30 hari pembuatan.
Untuk melanjutkan percakapan terbaru:
atx --resume
Untuk melanjutkan percakapan tertentu:
atx --conversation-id <conversation-id>
penting
Percakapan hanya dapat dilanjutkan dalam waktu 30 hari setelah pembuatan. Setelah 30 hari, percakapan tidak dapat dilanjutkan lagi.
Menit Agen Pelacakan
AWS Transform custom track menit agen
Agent minutes used: 12.50
Menit agen bertahan di seluruh interupsi. Jika Anda menyela sesi dengan Ctrl+C dan melanjutkannya nanti, menit yang sebelumnya terakumulasi terbawa dan terus terakumulasi dalam sesi yang dilanjutkan.
Untuk memeriksa Risalah Agen selama sesi interaktif:
Ketik /usage pada prompt input untuk menampilkan Menit Agen yang terakumulasi saat ini tanpa mengakhiri percakapan.
Untuk menetapkan batas anggaran Risalah Agen:
atx custom def exec -n my-transformation -p ./my-project --limit 30
--limitOpsi menetapkan anggaran Menit Agen
⚠️ Budget limit reached: 30.00 / 30.00 Agent Minutes. Exiting.
Anda dapat melanjutkan percakapan nanti dengan batas yang meningkat:
atx --conversation-id <conversation_id> -t --limit <increased_limit>
Pembelajaran Terus Berkelanjutan
Bagian ini menjelaskan cara meninjau dan mengelola pelajaran yang dibuat oleh pembelajaran berkelanjutan.
Memahami Pelajaran
Sistem pembelajaran berkelanjutan secara otomatis mengekstrak pelajaran dari transformasi sebelumnya. Sistem membuatnya secara asinkron berdasarkan:
Umpan balik pengembang disediakan dalam mode interaktif
Masalah kode yang dihadapi selama transformasi
Pelajaran terakumulasi dari waktu ke waktu saat Anda menjalankan transformasi di berbagai basis kode. Sistem menerapkannya secara otomatis untuk meningkatkan future run. Setiap pelajaran termasuk dalam kategori yang berisi semua pelajaran dari domain yang sama sehingga Anda dapat meninjau pelajaran terkait bersama-sama. Untuk pelajaran yang tidak ingin Anda gunakan, Anda dapat mengarsipkan atau menghapus pelajaran sepenuhnya.
Melihat dan Mengelola Pelajaran
Gunakan learnings perintah untuk membuka sesi interaktif untuk menjelajah dan mengelola pelajaran definisi transformasi.
Untuk membuka penampil pelajaran:
atx custom def learnings -n my-transformation
Penampil membuka daftar kategori pelajaran, masing-masing menunjukkan berapa banyak pelajaran aktif yang dikandungnya. Pilih kategori untuk melihat pelajarannya, lalu pilih pelajaran untuk melihat detail lengkapnya, termasuk badan pelajaran, dampaknya, dan berapa banyak proses sebelumnya yang dikonsultasikan.
Pengarsipan dan Pemulihan Pelajaran
Sistem menerapkan pelajaran secara otomatis. Jika Anda tidak ingin sistem menerapkan pelajaran, Anda dapat mengarsipkannya. Sistem mempertahankan pelajaran yang diarsipkan tetapi tidak menerapkannya ke masa depan. Semua pelajaran yang diarsipkan dikelompokkan bersama sehingga Anda dapat meninjaunya dan mengembalikan apa pun ke penggunaan aktif.
Menghapus Pelajaran
Hapus pelajaran yang tidak berguna secara permanen. Penghapusan tidak dapat dibatalkan, dan sistem mungkin mempelajari kembali pelajaran yang dihapus dari future run.
Pelajaran harus diarsipkan sebelum dapat dihapus.
Konfigurasi Lanjutan
Bagian ini menjelaskan fitur lanjutan dan opsi konfigurasi untuk AWS mengubah kustom.
Variabel lingkungan
Anda dapat menyesuaikan perilaku CLI menggunakan variabel lingkungan.
catatan
Contoh berikut menunjukkan sintaks Linux dan macOS (). export Di Windows, atur variabel lingkungan dalam PowerShell menggunakan$env:. Lihat tab Windows (PowerShell) untuk perintah yang setara.NAME="value"
ATX_SHELL_TIMEOUT
Ganti batas waktu default untuk perintah shell (900 seconds/15 menit).
Ini berguna untuk basis kode besar atau proses build yang berjalan lama.
ATX_DISABLE_UPDATE_CHECK
Nonaktifkan pemeriksaan versi otomatis dan perbarui pemberitahuan selama eksekusi perintah.
ATX_GIT_COMMITTER_NAME dan ATX_GIT_COMMITTER_EMAIL
Konfigurasikan identitas penulis yang digunakan untuk komit pos pemeriksaan yang dibuat kustom AWS Transform di repositori Anda saat menerapkan perubahan selama transformasi. Ketika variabel-variabel ini tidak disetel, komit pos pemeriksaan dikaitkan dengan identitas default ()ATX Bot <checkpoint@atx.bot>. Tetapkan kedua variabel untuk mengaitkan pos pemeriksaan ke penulis tertentu.
Pengaturan Kepercayaan
Pengaturan kepercayaan memungkinkan Anda untuk menyetujui alat dan perintah tertentu untuk dijalankan tanpa permintaan. Anda juga dapat meminta izin eksplisit untuk perintah shell tertentu terlepas dari tingkat kepercayaan. Pengaturan ini dikonfigurasi dalam ~/.aws/atx/trust-settings.yaml file.
File berisi tiga daftar:
trustedTools- Alat yang dapat mengeksekusi tanpa memintatrustedShellCommands- Perintah Shell yang dapat dijalankan tanpa memintaalwaysPromptCommands- Pola perintah Shell yang memerlukan izin eksplisit kecuali diganti olehtrustedShellCommands, terlepas dari-tbendera atau kepercayaan sesi. Pola-pola ini tidak ditegakkan dalam mode non-interaktif ()-x.
Alat tepercaya default:
file_readget_transformation_from_registrylist_available_transformations_from_registry
Mengedit pengaturan kepercayaan:
Anda dapat mengedit file trust-settings.yaml secara manual untuk menambah atau menghapus alat dan perintah tepercaya. Keduanya trustedShellCommands dan alwaysPromptCommands mendukung pola wildcard glob menggunakan. *
catatan
Jika perintah cocok dengan kedua daftar, trustedShellCommands ambil prioritas.
Berikut ini menjelaskan setiap daftar perintah dan memberikan contoh:
-
trustedShellCommands- Perintah yang cocok dengan pola-pola ini dijalankan tanpa meminta, melewati semua pagar pembatas lainnya. Pola dicocokkan dengan string perintah penuh.Contoh:
cd *- Cocokkan perintah majemuk dimulai dengan cd*&&*- Mempercayai semua perintah dengan && operator
-
alwaysPromptCommands- Perintah yang cocok dengan pola ini memerlukan izin eksplisit kecuali diganti olehtrustedShellCommands, terlepas dari-tbendera atau kepercayaan sesi. Pola-pola ini tidak ditegakkan dalam mode non-interaktif ()-x. Pola dicocokkan dengan setiap sub-perintah dalam ekspresi majemuk (&&,||, substitusi perintah).Contoh:
rm -rf *- Selalu meminta perintah hapus paksa rekursifsudo *- Selalu meminta perintah yang dijalankan dengan sudofind * -exec *- Selalu meminta perintah find dengan -exec
Session-level kepercayaan:
Selama permintaan interaktif, Anda dapat memilih:
(y)es- Jalankan sekali(n)o- Menyangkal(t)rust- Percaya untuk sesi saat ini saja
Session-level pengaturan trust bersifat sementara dan diatur ulang saat CLI dimulai ulang, memberikan persetujuan sementara tanpa memodifikasi trust-settings.yaml secara permanen.
catatan
Kepercayaan sesi tidak tersedia untuk perintah yang cocok dengan alwaysPromptCommands daftar Anda.
Server Protokol Konteks Model (MCP)
AWS Transform CLI mendukung server Model Context Protocol (MCP), yang memperluas fungsinya dengan alat tambahan.
Konfigurasi:
Konfigurasikan server MCP dalam ~/.aws/atx/mcp.json file. AWS Transform CLI mendukung dua jenis server MCP: server berbasis perintah lokal dan server HTTP jarak jauh.
Server berbasis perintah lokal:
Server lokal berjalan sebagai proses anak di mesin Anda. Konfigurasikan mereka dengan command properti:
{ "mcpServers": { "my-local-server": { "command": "npx", "args": ["-y", "@example/mcp-server"] } } }
Server HTTP jarak jauh:
Server jarak jauh terhubung ke server MCP yang dihosting di URL HTTP atau HTTPS. Konfigurasikan mereka dengan url properti:
{ "mcpServers": { "my-remote-server": { "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${MCP_API_TOKEN}" } } } }
headersProperti ini opsional dan mendukung ekspansi variabel lingkungan menggunakan ${VAR_NAME} sintaks. Ini memungkinkan Anda untuk menyimpan nilai sensitif seperti token API dalam variabel lingkungan daripada di file konfigurasi.
Properti konfigurasi:
Server berbasis perintah lokal mendukung properti berikut:
command(wajib) - Perintah untuk menjalankan serverargs(opsional) - Array argumen baris perintahenv(opsional) - Variabel lingkungan untuk diteruskan ke proses server
Server HTTP jarak jauh mendukung properti berikut:
url(wajib) - URL HTTP atau HTTPS dari server MCP jarak jauhheaders(opsional) - Header HTTP untuk disertakan dalam permintaan, dengan dukungan untuk ekspansi variabel${VAR_NAME}lingkungan
Mengelola server MCP:
Lihat daftar server MCP yang dikonfigurasi:
atx mcp tools
Daftar alat yang tersedia yang ditawarkan oleh server MCP tertentu:
atx mcp tools --server <server-name>
Pelacakan penggunaan:
CLI secara otomatis melacak penggunaan alat MCP selama eksekusi transformasi. Statistik penggunaan dipertahankan seperti mcp_usage.json di direktori percakapan di sampingmetadata.json. File merekam metrik per-alat untuk setiap eksekusi, termasuk:
Jumlah pemanggilan per alat
Jumlah kesalahan per alat
Total waktu eksekusi per alat
Detail kesalahan terakhir (jika ada)
Client-Side Keterampilan
Client-side keterampilan adalah kemampuan tambahan yang memperluas agen selama eksekusi transformasi. Mereka memungkinkan Anda untuk menyediakan alat khusus, skrip, dan instruksi yang dapat digunakan agen bersama kemampuan bawaannya.
Direktori penemuan keterampilan:
Keterampilan ditemukan dari empat direktori dalam urutan prioritas. Jika keterampilan dengan nama yang sama ada di beberapa direktori, direktori pertama dalam daftar diprioritaskan:
<project>/.aws/atx/skills/- Project-level, AWS Transformasi CLI-specific<project>/.agents/skills/- Project-level, cross-client (tersedia untuk perkakas agen yang kompatibel)~/.aws/atx/skills/- User-level, AWS Transformasi CLI-specific~/.agents/skills/- User-level, cross-client (tersedia untuk perkakas agen yang kompatibel)
.aws/atx/skills/Direktori khusus untuk AWS Transform CLI. .agents/skills/Direktori adalah cross-client, yang berarti keterampilan yang ditempatkan di sana tersedia untuk perkakas agen yang kompatibel di luar Transform AWS CLI.
Struktur direktori keterampilan:
Setiap skill adalah direktori yang berisi SKILL.md file dengan frontmatter YAMM:
~/.aws/atx/skills/ └── my-skill/ ├── SKILL.md # Required: frontmatter + instructions ├── references/ # Optional: reference docs the agent can read │ └── guide.md └── scripts/ # Optional: scripts the agent can execute └── validate.py
SKILL.md format:
--- name: my-skill description: When to use this skill --- # Skill Title Instructions for the agent...
nameBidang harus cocok dengan nama direktori induk.
Menonaktifkan keterampilan:
Untuk mencegah keterampilan dimuat tanpa menghapus file-nya, tambahkan disable-model-invocation: true ke frontmatter:
--- name: my-skill description: When to use this skill disable-model-invocation: true ---
Ketika properti ini diatur, CLI melewatkan keterampilan selama penemuan. Agen tidak dapat melihat atau menggunakan keterampilan kecuali definisi transformasi secara eksplisit menginstruksikannya untuk membaca file keterampilan. Gunakan ini untuk menonaktifkan sementara keterampilan, menandainya sebagai pekerjaan yang sedang berlangsung, atau menyimpan materi referensi yang ditujukan hanya untuk pembaca manusia.
catatan
File keterampilan yang dinonaktifkan tetap ada di disk. Jika definisi transformasi menginstruksikan agen untuk membaca jalur file tertentu, agen masih dapat mengakses konten. disable-model-invocationProperti mencegah penemuan otomatis dan injeksi konteks, bukan akses sistem file.
Ketersediaan keterampilan dengan mode eksekusi:
Mode Exec (
atx custom def execdengan--code-repository-path) - Menemukan keterampilan dari direktori tingkat pengguna dan tingkat proyek.Mode interaktif (
atx) - Hanya keterampilan tingkat pengguna yang ditemukan pada awalnya. Saat Anda menyediakan jalur repositori kode selama sesi, keterampilan tingkat proyek juga dimuat.
Memverifikasi penemuan keterampilan:
Periksa log debug CLI setelah dijalankan untuk memverifikasi keterampilan mana yang ditemukan:
Keterampilan yang gagal validasi dilewati dengan peringatan di log debug.
catatan
Client-side keterampilan membutuhkan CLI versi 2.0 atau yang lebih baru.
Memilih Antara Project-Level dan User-Level Keterampilan
Di mana Anda menempatkan keterampilan menentukan siapa yang mendapat manfaat darinya dan kapan itu diaktifkan.
Project-level keterampilan (<project>/.aws/atx/skills/):
Komit ini ke kontrol versi sehingga setiap anggota tim yang menjalankan transformasi terhadap repositori secara otomatis menemukannya. Gunakan keterampilan tingkat proyek untuk:
Repository-specific pemeriksaan kepatuhan (aturan Dockerfile, kebijakan Terraform, validator keamanan migrasi)
Standar pengkodean organisasi yang berlaku untuk basis kode ini (pola observabilitas, penanganan kesalahan, konvensi penamaan)
Buat atau uji skrip yang unik untuk proyek (linter khusus, fungsi kebugaran arsitektur)
Panduan migrasi API untuk pustaka internal yang digunakan dalam repositori ini
User-level keterampilan (~/.aws/atx/skills/):
Ini tetap ada di mesin Anda dan diaktifkan selama semua transformasi terlepas dari repositori mana yang Anda targetkan. Gunakan keterampilan tingkat pengguna untuk:
Alat alur kerja pribadi (generator changelog, format pesan komit)
Cross-project preferensi (pola pengujian yang disukai, pengingat gaya dokumentasi)
Kepatuhan lisensi memeriksa bahwa organisasi Anda memerlukan di semua repositori
Ambang batas cakupan atau gerbang kualitas yang Anda terapkan pada setiap basis kode yang Anda gunakan
Kiat untuk keterampilan yang efektif:
Tulis
descriptionbidang yang jelas diSKILL.mdfrontmatter Anda. Agen menggunakan bidang ini untuk memutuskan kapan suatu keterampilan relevan.Keluar dari skrip validasi dengan kode 0 pada keberhasilan dan bukan nol pada kegagalan. Agen menafsirkan kode keluar untuk menentukan kepatuhan.
Cetak pesan kesalahan yang jelas dan dapat ditindaklanjuti dalam skrip. Agen membaca output untuk memahami apa yang harus diperbaiki.
Tempatkan keterampilan di direktori lintas klien (
.agents/skills/) di kedua level untuk membagikannya dengan alat pengembangan AI lainnya di luar AWS Transform CLI.
Client-Side Contoh Keterampilan
Contoh-contoh ini menunjukkan dua pola umum: keterampilan validasi berbasis skrip dan keterampilan referensi saja.
Contoh: Dockerfile Compliance Checker () Script-Based
Keterampilan ini memvalidasi Dockerfiles terhadap praktik terbaik keamanan dan operasional. Ini menggunakan skrip validasi yang dijalankan agen sebelum dan sesudah membuat perubahan.
Struktur direktori:
.aws/atx/skills/ └── dockerfile-compliance/ ├── SKILL.md ├── scripts/ │ └── lint_dockerfile.sh └── references/ └── dockerfile-best-practices.md
SKILL.md:
--- name: dockerfile-compliance description: Validates Dockerfiles against security and operational best practices --- # Dockerfile Compliance Checker When a transformation creates or modifies Dockerfiles, run the compliance checker. ## When to use - After creating a new Dockerfile - After modifying FROM, RUN, USER, or EXPOSE directives - When containerizing an application as part of a transformation ## How to use Run: `bash scripts/lint_dockerfile.sh <path-to-Dockerfile>` If violations are found, consult `references/dockerfile-best-practices.md` for compliant patterns.
Skrip validasi memeriksa tag gambar dasar yang tidak disematkan, berjalan sebagai root, rahasia hardcode dalam ENV arahan, dan definisi yang hilang. HEALTHCHECK Agen menjalankan skrip, memperbaiki pelanggaran menggunakan pola dari file referensi, dan menjalankan kembali skrip untuk mengonfirmasi kepatuhan.
Contoh: API Deprecation Helper () Reference-Only
Keterampilan ini memandu agen untuk mengganti panggilan API yang tidak digunakan lagi selama transformasi pemutakhiran. Ini hanya menggunakan file referensi tanpa skrip.
Struktur direktori:
.aws/atx/skills/ └── api-deprecation-helper/ ├── SKILL.md └── references/ ├── aws-sdk-v2-to-v3.md └── react-class-to-hooks.md
SKILL.md:
--- name: api-deprecation-helper description: Guides the agent through replacing deprecated API calls with modern equivalents --- # API Deprecation Helper When performing upgrade transformations, use this skill to identify and replace deprecated API calls with their modern equivalents. ## When to use - During any version upgrade transformation - When build warnings mention deprecated APIs - When transforming code that uses legacy patterns ## Process 1. Identify deprecated API calls in the codebase 2. For each deprecated call, find the replacement in `references/` 3. Apply the replacement, preserving the original behavior 4. Verify the replacement compiles and tests pass
File referensi berisi contoh kode sebelum dan sesudah. Misalnya, pola aws-sdk-v2-to-v3.md peta seperti yang s3.putObject(params).promise() setara dengan modular v3 menggunakan S3Client danPutObjectCommand.
Tag dan Organisasi
Anda dapat mengatur transformasi dengan tag untuk kontrol akses dan kategorisasi.
catatan
Beberapa perintah ini memerlukan penentuan Nama Sumber Daya Amazon (ARN) untuk Definisi Transformasi. Struktur ARN adalah: arn:aws:transform-custom:<region>:<account-id>:package/<td-name>
Untuk membuat daftar tag untuk transformasi:
atx custom def list-tags --arn <transformation-arn>
Untuk menambahkan tag ke transformasi:
atx custom def tag --arn <transformation-arn> --tags '{"env":"prod","team":"backend"}'
Untuk menghapus tag dari transformasi:
atx custom def untag --arn <transformation-arn> --tag-keys "env,team"
Tag dapat digunakan untuk kontrol akses yang dikelompokkan dalam kebijakan IAM. Anda dapat membuat kebijakan yang memberikan izin untuk semua transformasi dengan tag tertentu (misalnya, semua transformasi yang ditandai dengan atau). team:frontend environment:production
Beberapa catatan
AWS Transform CLI memelihara tiga jenis log untuk pemecahan masalah dan debugging.
Log percakapan:
Log ini berisi riwayat percakapan lengkap untuk sesi tertentu.
Log subagent:
Log ini berisi output dari subagen yang ditimbulkan oleh agen utama selama transformasi. Anda tidak perlu mengelola subagen secara langsung.
Log debug pengembang:
Log ini memberikan informasi pemecahan masalah lanjutan untuk CLI itu sendiri.
catatan
Mungkin ada beberapa file log debug di direktori log (yaitu debug1.log, debug2.log). Tinjau dan berikan semua log yang relevan misalnya, ~/. aws/atx/custom/ <conversation-id>/* dan ~/. aws/atx/logs/ *, saat membuka tiket dukungan untuk resolusi yang lebih cepat.
Pembaruan CLI
Perbarui CLI Anda untuk mengakses fitur dan peningkatan baru.
Untuk memeriksa pembaruan:
atx update --check
Untuk memperbarui ke versi terbaru:
atx update
Untuk memperbarui ke versi tertentu:
atx update --target-version <version>
Buat Transformasi Kustom
Bagian ini menjelaskan cara membuat, memodifikasi, dan mengelola definisi transformasi kustom.
Menciptakan Transformasi Baru
Gunakan CLI interaktif untuk membuat definisi transformasi baru.
Untuk membuat definisi transformasi
Mulai AWS Transform CLI:
atxBeri tahu agen bahwa Anda ingin membuat transformasi baru.
Berikan penjelasan yang jelas dan terperinci tentang tujuan transformasi. Termasuk:
Status sumber dan target (misalnya, “upgrade dari versi X ke versi Y”)
Perubahan khusus diperlukan (misalnya, “perbarui pernyataan impor, ganti metode yang tidak digunakan lagi”)
Setiap pertimbangan atau kendala khusus
Ketika agen meminta klarifikasi atau informasi tambahan, berikan contoh spesifik dan bahan referensi.
Tinjau definisi transformasi awal yang dibuat oleh agen.
Uji transformasi pada basis kode sampel.
Iterasi dengan memberikan umpan balik, perbaikan kode, atau contoh tambahan.
Simpan transformasi secara lokal atau publikasikan ke registri.
Praktik terbaik untuk membuat transformasi:
Mulailah dengan transformasi yang sederhana dan terdefinisi dengan baik sebelum mencoba yang kompleks
Menyediakan bahan referensi yang komprehensif termasuk panduan migrasi dan contoh kode
Uji pada beberapa basis kode sampel sebelum dipublikasikan
Gunakan perintah build atau validasi deterministik untuk mengaktifkan pembelajaran berkelanjutan
Pertimbangkan untuk memecah transformasi kompleks menjadi beberapa langkah yang lebih kecil
Tandai informasi penting dengan “KRITIS:” atau “PENTING:” dalam definisi transformasi Anda untuk memastikan agen memprioritaskan persyaratan ini
Bila Anda membutuhkan persyaratan yang tepat diikuti (seperti menggunakan perintah tertentu atau nilai string), secara eksplisit menentukan string lengkap dalam definisi transformasi Anda. Anda dapat membungkusnya dalam tanda kutip bash untuk menunjukkan dengan jelas bahwa itu adalah perintah terminal atau string literal, yang mengurangi variabilitas dan memastikan eksekusi yang konsisten
Menyediakan Bahan Referensi
Anda dapat memberikan file referensi ke AWS Transform custom dengan menentukan path file selama percakapan. File-file ini disimpan dalam references/ folder definisi transformasi.
Jenis file referensi yang direkomendasikan:
Before/after kode contoh
Dokumentasi untuk API, pustaka, atau fitur yang terlibat
Human-readable panduan migrasi
Untuk menyediakan file referensi:
Take a look at the documentation here: /path/to/migration-guide.md
Anda juga dapat menyediakan direktori yang berisi beberapa file referensi:
Take a look at the docs we have here: /path/to/docs/
catatan
Hanya file berbasis teks (.md, .html, .txt, file kode) yang didukung. File biner, gambar, dan file teks kaya (mis., .pdf, .png, .docx) saat ini tidak didukung. Seringkali mungkin untuk mengekstrak konten teks dan menggunakannya sebagai referensi. Jika Anda memiliki banyak file teks kecil, pertimbangkan untuk menggabungkannya menjadi beberapa file bernama deskriptif. Ada batas total 10MB untuk semua file.
Memodifikasi Transformasi yang Ada
Anda dapat memodifikasi transformasi kustom sebelum dan sesudah menyimpannya sebagai draf atau menerbitkannya. Anda tidak dapat memodifikasi transformasi AWS-managed. Jika Anda perlu menyesuaikannya, Anda dapat memberikan konteks tambahan menggunakan file konfigurasi.
Untuk memodifikasi transformasi yang ada
Mulai AWS Transform CLI:
atxBeri tahu agen bahwa Anda ingin memodifikasi transformasi yang ada.
Pilih apakah akan:
Berikan jalur file ke transformasi yang disimpan secara lokal (yaitu bukan draf yang disimpan atau dipublikasikan)
Minta daftar transformasi dari registri
Jika memilih dari registri, pilih transformasi yang ingin Anda modifikasi.
Bekerja dengan agen untuk menggambarkan perubahan yang ingin Anda buat.
Uji transformasi yang diperbarui pada basis kode sampel.
Publikasikan pembaruan Anda ke registri jika diinginkan.
Menerbitkan dan Mengelola Transformasi
Anda dapat mempublikasikan dan mengelola transformasi Anda menggunakan pengalaman interaktif atau dengan perintah berikut.
Untuk menyimpan transformasi sebagai konsep:
atx custom def save-draft -n my-transformation --description "Description of the transformation" --sd ./transformation-directory
Untuk mempublikasikan transformasi:
atx custom def publish -n my-transformation --description "Description of the transformation" --sd ./transformation-directory
Untuk membuat daftar transformasi yang tersedia:
atx custom def list
Untuk mengunduh definisi transformasi:
atx custom def get -n my-transformation
Ini mengunduh definisi transformasi ke direktori kerja Anda saat ini. Anda dapat menentukan direktori target dengan --td bendera dan versi dengan --tv bendera.
Untuk menghapus definisi transformasi:
atx custom def delete -n my-transformation
penting
Ini secara permanen menghapus definisi transformasi yang ditentukan dari akun Anda.
Mengelola Versi Transformasi
AWS Transform custom mempertahankan versi definisi transformasi Anda. Anda dapat menentukan versi saat menjalankan atau mengunduh transformasi.
Untuk menjalankan versi tertentu:
atx custom def exec -n my-transformation --tv v1 -p ./my-project
Untuk mengunduh versi tertentu:
atx custom def get -n my-transformation --tv v1
Jika tidak ada versi yang ditentukan, versi terbaru digunakan.