Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Flussi di lavoro
Esecuzione di trasformazioni
Questa sezione descrive i diversi modi di eseguire le trasformazioni e le opzioni per controllare il comportamento di esecuzione.
Modalità di esecuzione
AWS Transform custom supporta tre modalità di esecuzione per adattarsi a diversi flussi di lavoro.
Modalità conversazionale interattiva
Avvia la CLI con atx e chiedi all'agente di eseguire una trasformazione tramite linguaggio naturale. Questa modalità consente di avere una conversazione completa con l'agente, interrompere l'esecuzione in qualsiasi momento e fornire feedback durante il processo di trasformazione.
Utilizzate questa modalità quando desiderate il massimo controllo e la capacità di guidare l'agente attraverso scenari complessi.
Esecuzione interattiva diretta
atx custom def exec -n <transformation-name> -p <path>Da utilizzare per avviare una trasformazione specifica in modo interattivo. Questa modalità consente di rivedere e interagire con l'agente all'inizio, durante o alla fine dell'esecuzione. L'agente si fermerà nei momenti decisionali chiave e chiederà il tuo contributo.
È ideale per testare e perfezionare le trasformazioni prima di eseguirle autonomamente.
È possibile eseguire trasformazioni in modalità non interattiva o in modalità headless. Non-interactive mode sopprime i prompt durante una trasformazione denominata. La modalità headless consente di eseguire l'agente con un prompt in testo semplice, ignorando completamente l'interfaccia interattiva.
Non-interactive modalità
Utilizzare atx custom def exec -n <transformation-name> -p <path> -x -t per l'automazione completa. Aggiungi -x per funzionare in modalità non interattiva e affidati automaticamente -t a tutti gli strumenti senza richiedere conferma.
Questa modalità è progettata per l'integrazione della CI/CD pipeline e l'esecuzione in blocco laddove non è disponibile o richiesto alcun intervento umano.
modalità Headless
Per completare le attività senza interagire con l'agente, esegui atx -x "<prompt>" -t e fornisci le istruzioni in testo semplice.
Esecuzione della trasformazione senza intoppi
Utilizzate questa modalità per applicare una definizione di trasformazione esistente alla vostra codebase. La trasformazione esegue automaticamente ogni fase senza richiedere l'approvazione dell'utente.
atx -x "apply transformation definition <transformation_definition_name> to <codebase_path>" -t
Sviluppo di una trasformazione senza fronzoli
Crea o modifica le definizioni di trasformazione.
Per convertire una definizione di trasformazione precedente nel nuovo formato di abilità (SKILL.md + references/), esegui il comando seguente:
atx -x "convert <legacy_transformation_definition_name> transformation definition to skill and save as draft" -t
Per creare una nuova definizione di trasformazione, esegui il comando seguente:
atx -x "create a transformation definition to <description> with references docs <reference_docs_path>" -t
Bandiere di comando comuni
Quando si eseguono trasformazioni conatx custom def exec, vengono comunemente utilizzati i seguenti flag:
-no--transformation-name: specifica il nome della trasformazione da eseguire-po--code-repository-path: specifica il percorso della base di codice (usa «.» per la directory corrente)-co--build-command: specifica il comando di compilazione o convalida da eseguire-xo--non-interactive- Abilita la modalità non interattiva (nessuna richiesta dell'utente)-toppure--trust-all-tools- Si fida automaticamente di tutti gli strumenti senza chiedere conferma-do--do-not-learn- Impedisce l'estrazione della lezione da questa esecuzione--tvo--transformation-version: specifica una versione specifica della trasformazione-go--configuration- Fornisce un file di configurazione o una configurazione in linea
Importante
Il --trust-all-tools flag -t or approva automaticamente tutte le esecuzioni degli strumenti senza chiedere conferma e aggira la maggior parte delle barriere di sicurezza (i comandi che corrispondono all'alwaysPromptCommandselenco richiedono comunque un'autorizzazione esplicita a meno che non vengano sovrascritti da). trustedShellCommands Il passaggio è necessario per un'--non-interactiveesperienza completamente autonoma, ma --trust-all-tools non è necessario per eseguire la trasformazione. Usare con cautela negli ambienti di produzione.
Utilizzo dei file di configurazione
AWS Transform custom supporta file di configurazione opzionali in formato YAML o JSON. I file di configurazione consentono di specificare i parametri di esecuzione e fornire un contesto aggiuntivo all'agente.
Per utilizzare un file di configurazione:
atx custom def exec --configuration file://config.yaml
Puoi anche fornire la configurazione come coppie chiave-valore in linea:
atx custom def exec --configuration "key=value,key2=value2"
File di configurazione di esempio (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
Il additionalPlanContext parametro fornisce un contesto aggiuntivo per il piano di esecuzione dell'agente. Ciò è particolarmente utile con le AWS trasformazioni gestite per personalizzare il loro comportamento in base a esigenze specifiche.
Comandi di compilazione e convalida
Il comando build o validation è un parametro opzionale che specifica come convalidare il codice durante il processo di trasformazione. AWS Transform custom tenterà di dedurre il miglior comando di compilazione in base alla trasformazione se non specificato, sebbene si consiglia di specificarlo per quanto riguarda la qualità.
Esempi di comandi di compilazione e convalida:
Java:
mvn clean installogradle buildPython: o
pytestpython -m py_compileNode.js:
npm run buildonpm testLinters: o
eslint .pylint .
Anche per i linguaggi o le trasformazioni che non richiedono la compilazione, è molto importante fornire un comando che convalidi i risultati e restituisca problemi se la convalida fallisce per migliorare la qualità della trasformazione.
Se non è necessaria alcuna compilazione o convalida, omettila dal tuo input.
Controllo del comportamento di apprendimento
Per impostazione predefinita, AWS Transform custom estrae le lezioni da ogni esecuzione di trasformazione. È possibile impedire l'apprendimento per esecuzioni specifiche.
Per impedire l'apprendimento da un'esecuzione:
atx custom def exec -n my-transformation -p ./my-project -d
Il --do-not-learn flag -d or disattiva l'estrazione della lezione dall'esecuzione corrente.
Ripresa delle conversazioni
AWS Transform custom ti consente di riprendere le conversazioni precedenti entro 30 giorni dalla creazione.
Per riprendere la conversazione più recente:
atx --resume
Per riprendere una conversazione specifica:
atx --conversation-id <conversation-id>
Importante
Le conversazioni possono essere riprese solo entro 30 giorni dalla creazione. Dopo 30 giorni, la conversazione non può più essere ripresa.
Tracking Agent Minutes
AWS Transform custom tiene traccia dei minuti consumati dall'agente
Agent minutes used: 12.50
I minuti degli agenti persistono anche dopo le interruzioni. Se si interrompe una sessione con Ctrl+C e la si riprende in un secondo momento, i minuti accumulati in precedenza vengono trasferiti e continuano ad accumularsi nella sessione ripresa.
Per controllare Agent Minutes durante una sessione interattiva:
Digitate /usage al prompt di input per visualizzare gli Agent Minutes attualmente accumulati senza terminare la conversazione.
Per impostare un limite di budget per Agent Minutes:
atx custom def exec -n my-transformation -p ./my-project --limit 30
L'--limitopzione imposta un budget massimo di Agent Minutes
⚠️ Budget limit reached: 30.00 / 30.00 Agent Minutes. Exiting.
Puoi riprendere la conversazione in un secondo momento con un limite maggiore:
atx --conversation-id <conversation_id> -t --limit <increased_limit>
Apprendimento continuo
Questa sezione descrive come rivedere e gestire le lezioni create dall'apprendimento continuo.
Lezioni di comprensione
Il sistema di apprendimento continuo estrae automaticamente le lezioni dalle esecuzioni precedenti di una trasformazione. Il sistema le crea in modo asincrono sulla base di:
Feedback degli sviluppatori fornito in modalità interattiva
Problemi relativi al codice riscontrati durante le trasformazioni
Le lezioni si accumulano nel tempo man mano che si esegue la trasformazione su diverse basi di codice. Il sistema li applica automaticamente per migliorare le esecuzioni future. Ogni lezione appartiene a una categoria contenente tutte le lezioni di un dominio simile, in modo da poter rivedere insieme le lezioni correlate. Per le lezioni che non desideri vengano utilizzate, puoi archiviare o eliminare completamente la lezione.
Visualizzazione e gestione delle lezioni
Utilizzate il learnings comando per aprire una sessione interattiva per sfogliare e gestire le lezioni di una definizione di trasformazione.
Per aprire il visualizzatore delle lezioni:
atx custom def learnings -n my-transformation
Il visualizzatore si apre su un elenco di categorie di lezioni, ognuna delle quali mostra quante lezioni attive contiene. Seleziona una categoria per visualizzarne le lezioni, quindi seleziona una lezione per visualizzarne tutti i dettagli, tra cui il corpo della lezione, il suo impatto e il numero di sessioni precedenti consultate.
Archiviazione e ripristino delle lezioni
Il sistema applica le lezioni automaticamente. Se non vuoi che il sistema applichi una lezione, puoi archiviarla. Il sistema conserva le lezioni archiviate ma non le applica alle esecuzioni future. Tutte le lezioni archiviate sono raggruppate in modo da poterle rivedere e ripristinare l'uso attivo di tutte le lezioni.
Eliminazione delle lezioni
Rimuovi definitivamente una lezione che non è utile. L'eliminazione non può essere annullata e il sistema potrebbe apprendere nuovamente una lezione eliminata dalle esecuzioni future.
Una lezione deve essere archiviata prima di poter essere eliminata.
Configurazione avanzata
Questa sezione descrive le funzionalità avanzate e le opzioni di configurazione per AWS Transform custom.
Variabili di ambiente
È possibile personalizzare il comportamento della CLI utilizzando variabili di ambiente.
Nota
Gli esempi seguenti mostrano la sintassi di Linux e macOS (). export In Windows, imposta le variabili di ambiente in PowerShell uso. $env: Consultate le schede Windows (PowerShell) per i comandi equivalenti.NAME="value"
ATX_SHELL_TIMEOUT
Sostituisci il timeout predefinito per i comandi della shell (900 minuti). seconds/15
Ciò è utile per basi di codice di grandi dimensioni o processi di compilazione a esecuzione prolungata.
ATX_DISABLE_UPDATE_CHECK
Disattiva i controlli automatici delle versioni e le notifiche di aggiornamento durante l'esecuzione dei comandi.
ATX_GIT_COMMITTER_NAME e ATX_GIT_COMMITTER_EMAIL
Configura l'identità dell'autore utilizzata per i commit del checkpoint che Transform custom crea nel tuo repository man mano che applica le modifiche durante una trasformazione. AWS Quando queste variabili non sono impostate, i commit dei checkpoint vengono attribuiti a un'identità predefinita (). ATX Bot <checkpoint@atx.bot> Imposta entrambe le variabili per attribuire i checkpoint a un autore specifico.
Impostazioni di fiducia
Le impostazioni di attendibilità consentono di approvare preventivamente strumenti e comandi specifici da eseguire senza richieste. È inoltre possibile richiedere l'autorizzazione esplicita per comandi shell specifici indipendentemente dal livello di attendibilità. Queste impostazioni sono configurate nel ~/.aws/atx/trust-settings.yaml file.
Il file contiene tre elenchi:
trustedTools- Strumenti che possono essere eseguiti senza richiedere confermatrustedShellCommands- Comandi di shell che possono essere eseguiti senza richiedere confermaalwaysPromptCommands- Schemi di comandi della shell che richiedono un'autorizzazione esplicita a meno che non vengano sovrascritti datrustedShellCommands, indipendentemente dal-tflag o dall'attendibilità della sessione. Questi modelli non vengono applicati in modalità non interattiva ().-x
Strumenti affidabili predefiniti:
file_readget_transformation_from_registrylist_available_transformations_from_registry
Modifica delle impostazioni di attendibilità:
Puoi modificare manualmente il file trust-settings.yaml per aggiungere o rimuovere strumenti e comandi affidabili. Entrambi supportano i pattern glob wildcard utilizzandotrustedShellCommands. alwaysPromptCommands *
Nota
Se un comando corrisponde a entrambi gli elenchi, ha la trustedShellCommands priorità.
Di seguito viene descritto ogni elenco di comandi e vengono forniti esempi:
-
trustedShellCommands- I comandi che corrispondono a questi schemi vengono eseguiti senza richiedere conferma, aggirando tutti gli altri guardrail. I pattern vengono confrontati con la stringa di comando completa.Esempi:
cd *- Corrisponde ai comandi composti che iniziano con cd*&&*- Affida a tutti i comandi gli operatori &&
-
alwaysPromptCommands- I comandi che corrispondono a questi modelli richiedono un'autorizzazione esplicita a meno che non vengano sovrascritti datrustedShellCommands, indipendentemente dal flag o dalla fiducia della-tsessione. Questi modelli non vengono applicati in modalità non interattiva ().-xI modelli vengono confrontati con ogni sottocomando nelle espressioni composte (&&,||, sostituzioni di comandi).Esempi:
rm -rf *- Richiede sempre comandi ricorsivi di eliminazione forzatasudo *- Richiede sempre i comandi eseguiti con sudofind * -exec *- Richiede sempre di trovare i comandi con -exec
Session-level fiducia:
Durante i prompt interattivi, puoi scegliere:
(y)es- Esegui una volta(n)o- Negare(t)rust- Affidati solo alla sessione corrente
Session-level le impostazioni di trust sono temporanee e vengono ripristinate al riavvio della CLI, fornendo un'approvazione temporanea senza modificare permanentemente trust-settings.yaml.
Nota
L'attendibilità della sessione non è disponibile per i comandi corrispondenti all'elenco. alwaysPromptCommands
Server Model Context Protocol (MCP)
La CLI AWS Transform supporta i server Model Context Protocol (MCP), che ne estendono le funzionalità con strumenti aggiuntivi.
Configurazione:
Configurare i server MCP nel ~/.aws/atx/mcp.json file. La CLI AWS Transform supporta due tipi di server MCP: server locali basati su comandi e server HTTP remoti.
Server locali basati su comandi:
I server locali vengono eseguiti come processi secondari sul computer. Configurali con la command proprietà:
{ "mcpServers": { "my-local-server": { "command": "npx", "args": ["-y", "@example/mcp-server"] } } }
Server HTTP remoti:
I server remoti si connettono ai server MCP ospitati su un URL HTTP o HTTPS. Configurali con la url proprietà:
{ "mcpServers": { "my-remote-server": { "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${MCP_API_TOKEN}" } } } }
La headers proprietà è facoltativa e supporta l'espansione delle variabili di ambiente tramite la ${VAR_NAME} sintassi. Ciò consente di memorizzare valori sensibili come i token API nelle variabili di ambiente anziché nel file di configurazione.
Proprietà di configurazione:
I server locali basati su comandi supportano le seguenti proprietà:
command(obbligatorio) - Il comando per eseguire il serverargs(opzionale) - Matrice di argomenti della riga di comandoenv(opzionale) - Variabili di ambiente da passare al processo del server
I server HTTP remoti supportano le seguenti proprietà:
url(obbligatorio): l'URL HTTP o HTTPS del server MCP remotoheaders(opzionale) - Intestazioni HTTP da includere nelle richieste, con supporto per${VAR_NAME}l'espansione delle variabili di ambiente
Gestione dei server MCP:
Visualizza l'elenco dei server MCP configurati:
atx mcp tools
Elenca gli strumenti disponibili offerti da uno specifico server MCP:
atx mcp tools --server <server-name>
Monitoraggio dell'utilizzo:
La CLI monitora automaticamente l'utilizzo dello strumento MCP durante le esecuzioni di trasformazione. Le statistiche di utilizzo vengono mantenute come mcp_usage.json nella directory delle conversazioni a fianco. metadata.json Il file registra le metriche per strumento per ogni esecuzione, tra cui:
Numero di invocazioni per strumento
Numero di errori per utensile
Tempo di esecuzione totale per utensile
Dettagli dell'ultimo errore (se presente)
Client-Side Competenze
Client-side le competenze sono funzionalità aggiuntive che estendono l'agente durante le esecuzioni di trasformazione. Consentono di fornire strumenti, script e istruzioni personalizzati che l'agente può utilizzare oltre alle funzionalità integrate.
Directory per la scoperta delle abilità:
Le abilità vengono rilevate da quattro elenchi in ordine di precedenza. Se un'abilità con lo stesso nome esiste in più directory, la prima directory dell'elenco ha la priorità:
<project>/.aws/atx/skills/- Project-level, Trasforma AWS CLI-specific<project>/.agents/skills/- Project-level, cross-client (disponibile per qualsiasi strumento agente compatibile)~/.aws/atx/skills/- User-level, Trasforma AWS CLI-specific~/.agents/skills/- User-level, cross-client (disponibile per qualsiasi strumento agente compatibile)
Le .aws/atx/skills/ directory sono specifiche della CLI AWS Transform. Le .agents/skills/ directory sono interclient, il che significa che le competenze ivi inserite sono disponibili per qualsiasi strumento agente compatibile oltre alla CLI Transform AWS .
Struttura della directory delle abilità:
Ogni abilità è una directory contenente un SKILL.md file con frontmatter YAML:
~/.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 formato:
--- name: my-skill description: When to use this skill --- # Skill Title Instructions for the agent...
Il name campo deve corrispondere al nome della directory principale.
Disabilitazione di un'abilità:
Per evitare che un'abilità venga caricata senza rimuoverne i file, aggiungi disable-model-invocation: true alla prima pagina:
--- name: my-skill description: When to use this skill disable-model-invocation: true ---
Quando questa proprietà è impostata, la CLI ignora l'abilità durante il rilevamento. L'agente non può vedere o utilizzare l'abilità a meno che una definizione di trasformazione non gli indichi esplicitamente di leggere il file di abilità. Utilizzatelo per disattivare temporaneamente un'abilità, contrassegnarla come in corso di lavorazione o conservare materiale di riferimento destinato esclusivamente ai lettori umani.
Nota
I file di una skill disabilitata rimangono su disco. Se una definizione di trasformazione indica all'agente di leggere un percorso di file specifico, l'agente può comunque accedere al contenuto. La disable-model-invocation proprietà impedisce il rilevamento automatico e l'inserimento del contesto, non l'accesso al file system.
Disponibilità delle competenze in base alla modalità di esecuzione:
Modalità Exec (
atx custom def execcon--code-repository-path): rileva le competenze sia dalle directory a livello di utente che a livello di progetto.Modalità interattiva (
atx): inizialmente vengono scoperte solo le competenze a livello di utente. Quando si fornisce un percorso di archiviazione del codice durante la sessione, vengono caricate anche le competenze a livello di progetto.
Verifica della scoperta delle abilità:
Controlla il registro di debug della CLI dopo l'esecuzione per verificare quali competenze sono state scoperte:
Le abilità che non superano la convalida vengono ignorate con un avviso nei log di debug.
Nota
Client-side le competenze richiedono la versione CLI 2.0 o successiva.
Scelta tra Project-Level e competenze User-Level
Il luogo in cui si colloca un'abilità determina chi ne trae beneficio e quando si attiva.
Project-level competenze (<project>/.aws/atx/skills/):
Affidale al controllo delle versioni in modo che ogni membro del team che esegue trasformazioni sul repository le scopra automaticamente. Usa le competenze a livello di progetto per:
Repository-specific controlli di conformità (regole Dockerfile, politiche Terraform, validatori di sicurezza della migrazione)
Standard di codifica organizzativa che si applicano a questa base di codice (modelli di osservabilità, gestione degli errori, convenzioni di denominazione)
Crea o testa script esclusivi per il progetto (linter personalizzati, architettura, funzioni di fitness)
Guide alla migrazione delle API per le librerie interne utilizzate in questo repository
User-level competenze (~/.aws/atx/skills/):
Questi rimangono sulla macchina e si attivano durante tutte le trasformazioni indipendentemente dal repository scelto come destinazione. Utilizza le competenze a livello di utente per:
Strumenti personali per il flusso di lavoro (generatori di log delle modifiche, formattatori di messaggi di commit)
Cross-project preferenze (modelli di test preferiti, promemoria in stile documentazione)
controlli di conformità delle licenze richiesti dall'organizzazione in tutti gli archivi
Soglie di copertura o limiti di qualità da applicare a ogni codebase con cui lavori
Suggerimenti per competenze efficaci:
Scrivi
descriptioncampi chiari nelSKILL.mdfrontespizio. L'agente utilizza questo campo per decidere quando un'abilità è rilevante.Esci dagli script di convalida con codice 0 in caso di successo e diverso da zero in caso di errore. L'agente interpreta i codici di uscita per determinare la conformità.
Stampa messaggi di errore chiari e utilizzabili negli script. L'agente legge l'output per capire cosa correggere.
Inserisci le competenze nella directory cross-client (
.agents/skills/) a entrambi i livelli per condividerle con altri strumenti di sviluppo AI oltre alla CLI AWS Transform.
Client-Side Esempi di abilità
Questi esempi mostrano due modelli comuni: un'abilità di convalida basata su script e un'abilità di solo riferimento.
Esempio: Dockerfile Compliance Checker () Script-Based
Questa competenza convalida Dockerfiles rispetto alle migliori pratiche operative e di sicurezza. Utilizza uno script di convalida che l'agente esegue prima e dopo aver apportato le modifiche.
Struttura delle cartelle:
.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.
Lo script di convalida verifica la presenza di tag di immagine di base non bloccati, eseguiti come root, segreti codificati nelle ENV direttive e definizioni mancanti. HEALTHCHECK L'agente esegue lo script, corregge le violazioni utilizzando i modelli del file di riferimento e riesegue lo script per confermare la conformità.
Esempio: API Deprecation Helper () Reference-Only
Questa abilità guida l'agente nella sostituzione delle chiamate API obsolete durante le trasformazioni di aggiornamento. Utilizza solo file di riferimento senza script.
Struttura delle cartelle:
.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
I file di riferimento contengono esempi di codice prima e dopo. Ad esempio, aws-sdk-v2-to-v3.md mappa modelli simili s3.putObject(params).promise() all'equivalente modulare v3 usando and. S3Client PutObjectCommand
Tag e organizzazione
Puoi organizzare le trasformazioni con tag per il controllo degli accessi e la categorizzazione.
Nota
Alcuni di questi comandi richiedono la specificazione dell'Amazon Resource Name (ARN) per una definizione di trasformazione. La struttura ARN è: arn:aws:transform-custom:<region>:<account-id>:package/<td-name>
Per elencare i tag per una trasformazione:
atx custom def list-tags --arn <transformation-arn>
Per aggiungere tag a una trasformazione:
atx custom def tag --arn <transformation-arn> --tags '{"env":"prod","team":"backend"}'
Per rimuovere i tag da una trasformazione:
atx custom def untag --arn <transformation-arn> --tag-keys "env,team"
I tag possono essere utilizzati per il controllo degli accessi raggruppati nelle politiche IAM. Puoi creare politiche che concedono autorizzazioni a tutte le trasformazioni con tag specifici (ad esempio, tutte le trasformazioni contrassegnate con o). team:frontend environment:production
Log
AWS Transform CLI mantiene tre tipi di log per la risoluzione dei problemi e il debug.
Registri delle conversazioni:
Questi registri contengono la cronologia completa delle conversazioni per una sessione specifica.
Registri di Subagent:
Questi registri contengono l'output dei subagenti generati dall'agente principale durante le trasformazioni. Non è necessario gestire direttamente i subagenti.
Registri di debug per sviluppatori:
Questi registri forniscono informazioni avanzate sulla risoluzione dei problemi per la CLI stessa.
Nota
Potrebbero esserci più file di registro di debug nella directory logs (ad esempio debug1.log, debug2.log). Esamina e fornisci tutti i log pertinenti, ad esempio ~/. aws/atx<conversation-id>/custom/ /* e ~/. aws/atx/logs/ *, all'apertura dei ticket di assistenza per una risoluzione più rapida.
Aggiornamenti CLI
Mantieni aggiornata la CLI per accedere a nuove funzionalità e miglioramenti.
Per verificare la presenza di aggiornamenti:
atx update --check
Per eseguire l'aggiornamento alla versione più recente:
atx update
Per eseguire l'aggiornamento a una versione specifica:
atx update --target-version <version>
Crea trasformazioni personalizzate
Questa sezione descrive come creare, modificare e gestire definizioni di trasformazione personalizzate.
Creazione di una nuova trasformazione
Utilizza la CLI interattiva per creare una nuova definizione di trasformazione.
Per creare una definizione di trasformazione
Avvia la CLI AWS Transform:
atxComunica all'agente che desideri creare una nuova trasformazione.
Fornisci una descrizione chiara e dettagliata dell'obiettivo di trasformazione. Includi:
Lo stato di origine e di destinazione (ad esempio, «aggiornamento dalla versione X alla versione Y»)
Sono richieste modifiche specifiche (ad esempio, «aggiornamento delle istruzioni di importazione, sostituzione dei metodi obsoleti»)
Eventuali considerazioni o vincoli speciali
Quando l'agente richiede chiarimenti o informazioni aggiuntive, fornisci esempi e materiali di riferimento specifici.
Esamina la definizione di trasformazione iniziale creata dall'agente.
Prova la trasformazione su una base di codice di esempio.
Iterate fornendo feedback, correzioni al codice o esempi aggiuntivi.
Salva la trasformazione localmente o pubblicala nel registro.
Le migliori pratiche per creare trasformazioni:
Inizia con trasformazioni semplici e ben definite prima di tentare trasformazioni complesse
Fornisci materiali di riferimento completi, tra cui guide alla migrazione ed esempi di codice
Esegui test su più basi di codice di esempio prima della pubblicazione
Utilizza comandi di compilazione o convalida deterministici per consentire l'apprendimento continuo
Prendi in considerazione la possibilità di suddividere trasformazioni complesse in più fasi più piccole
Contrassegna le informazioni cruciali con «CRITICAL:» o «IMPORTANT:» nelle definizioni di trasformazione per garantire che l'agente dia priorità a questi requisiti
Quando è necessario che vengano rispettati requisiti esatti (ad esempio utilizzando un comando o un valore di stringa specifico), specificate esplicitamente la stringa completa nelle definizioni di trasformazione. Puoi racchiuderli tra virgolette di bash per indicare chiaramente che si tratta di comandi da terminale o stringhe letterali, il che riduce la variabilità e garantisce un'esecuzione coerente
Fornire materiali di riferimento
Puoi fornire file di riferimento a AWS Transform custom specificando i percorsi dei file durante la conversazione. Questi file vengono archiviati nella references/ cartella della definizione di trasformazione.
Tipi di file di riferimento consigliati:
Before/after codice di esempio
Documentazione per le API, le librerie o le funzionalità coinvolte
Human-readable guide alla migrazione
Per fornire un file di riferimento:
Take a look at the documentation here: /path/to/migration-guide.md
Puoi anche fornire una directory contenente più file di riferimento:
Take a look at the docs we have here: /path/to/docs/
Nota
Sono supportati solo file basati su testo (.md, .html, .txt, file di codice). I file binari, le immagini e i file RTF (ad es. .pdf, .png, .docx) non sono attualmente supportati. Spesso è possibile estrarre il contenuto del testo e utilizzarlo come riferimento. Se hai molti file di testo di piccole dimensioni, valuta la possibilità di concatenarli in pochi file con nomi descrittivi. C'è un limite totale di 10 MB per tutti i file.
Modifica di una trasformazione esistente
È possibile modificare le trasformazioni personalizzate sia prima che dopo averle salvate come bozze o dopo averle pubblicate. Non è possibile modificare le trasformazioni AWS gestite. Se è necessario personalizzarle, è possibile fornire un contesto aggiuntivo utilizzando il file di configurazione.
Per modificare una trasformazione esistente
Avvia la CLI AWS Transform:
atxIndica all'agente che desideri modificare una trasformazione esistente.
Scegli se:
Fornite un percorso di file per una trasformazione memorizzata localmente (cioè non una bozza salvata o pubblicata)
Richiedi l'elenco delle trasformazioni dal registro
Se scegli dal registro, seleziona la trasformazione che desideri modificare.
Collabora con l'agente per descrivere le modifiche che desideri apportare.
Prova la trasformazione aggiornata su una base di codice di esempio.
Se lo desideri, pubblica gli aggiornamenti nel registro.
Pubblicazione e gestione delle trasformazioni
Puoi pubblicare e gestire le tue trasformazioni utilizzando l'esperienza interattiva o con i seguenti comandi.
Per salvare una trasformazione come bozza:
atx custom def save-draft -n my-transformation --description "Description of the transformation" --sd ./transformation-directory
Per pubblicare una trasformazione:
atx custom def publish -n my-transformation --description "Description of the transformation" --sd ./transformation-directory
Per elencare le trasformazioni disponibili:
atx custom def list
Per scaricare una definizione di trasformazione:
atx custom def get -n my-transformation
Questa operazione scarica la definizione di trasformazione nella directory di lavoro corrente. È possibile specificare una directory di destinazione con il --td flag e una versione con il --tv flag.
Per eliminare una definizione di trasformazione:
atx custom def delete -n my-transformation
Importante
Ciò elimina definitivamente la definizione di trasformazione specificata dal tuo account.
Gestione delle versioni di trasformazione
AWS Transform custom mantiene le versioni delle definizioni di trasformazione. È possibile specificare una versione durante l'esecuzione o il download di una trasformazione.
Per eseguire una versione specifica:
atx custom def exec -n my-transformation --tv v1 -p ./my-project
Per scaricare una versione specifica:
atx custom def get -n my-transformation --tv v1
Se non viene specificata alcuna versione, viene utilizzata la versione più recente.