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à.
Moduli di azione supportati dal gestore AWSTOE dei componenti
I servizi di creazione di EC2 immagini, come Image Builder, utilizzano moduli di AWSTOE azione per configurare le EC2 istanze utilizzate per creare e testare immagini di macchine personalizzate. Questa sezione descrive le funzionalità dei moduli di AWSTOE azione di uso comune e come configurarli, inclusi alcuni esempi.
I componenti sono creati con documenti di testo sempliceYAML. Per ulteriori informazioni sulla sintassi dei documenti, vedere. Usa il framework AWSTOE dei documenti dei componenti per i componenti personalizzati
Nota
Tutti i moduli di azione utilizzano lo stesso account dell'agente Systems Manager quando vengono eseguiti, ovvero root
su Linux e NT Authority\SYSTEM
su Windows.
Il seguente riferimento incrociato classifica i moduli di azione in base al tipo di azioni che eseguono.
Esecuzione generale
Scaricamento e caricamento di file
Operazioni del file system
Azioni di installazione del software
Azioni di sistema
Moduli di esecuzione generali
La sezione seguente contiene dettagli sui moduli di azione che eseguono comandi e controllano il flusso di lavoro di esecuzione.
Moduli di azioni generali di esecuzione
Asserire
Il modulo di azione Assert esegue confronti di valori utilizzando Operatori di confronto o Operatori logici come input. Il risultato dell'espressione dell'operatore (vero o falso) indica lo stato complessivo di successo o di fallimento della fase.
Se l'espressione dell'operatore logico o di confronto restituisce un risultato positivotrue
, il passaggio viene contrassegnato comeSuccess
. In caso contrario, il passaggio viene contrassegnato comeFailed
. Se il passaggio fallisce, il onFailure
parametro decide il risultato del passaggio.
Nome chiave | Descrizione | Tipo | Richiesto |
---|---|---|---|
input |
Contiene un singolo operatore logico o di confronto. Nota, gli operatori logici possono contenere più di un operatore di confronto. | Questo valore è variabile, a seconda dell'operatore | Sì |
Esempio di input: un semplice confronto utilizzando l'operatore di stringEquals
confronto
Questo esempio restituisce. true
- name: StringComparison action: Assert inputs: stringEquals: '2.1.1' value: '{{ validate.ApplicationVersion.outputs.stdout }}'
Esempio di input: confronti Regex utilizzando l'operatore di confronto patternMatches
Tutti questi esempi restituiscono. true
- name: Letters only action: Assert inputs: patternMatches: '^[a-zA-Z]+$' value: 'ThisIsOnlyLetters' - name: Letters and spaces only action: Assert inputs: patternMatches: '^[a-zA-Z\s]+$' value: 'This text contains spaces' - name: Numbers only action: Assert inputs: patternMatches: '^[0-9]+$' value: '1234567890'
Esempio di input: confronti annidati con operatori logici e variabili concatenate
L'esempio seguente illustra i confronti annidati con operatori logici che utilizzano confronti con variabili concatenate. Viene Assert
restituito true
se una delle seguenti condizioni è vera:
-
Il
ApplicationVersion
è maggiore2.0
eCPUArchitecture
ugualearm64
a. -
Gli
CPUArchitecture
uguali.x86_64
- name: NestedComparisons action: Assert inputs: or: # <- first level deep - and: # <- second level deep - numberGreaterThan: 2.0 # <- third level deep value: '{{ validate.ApplicationVersion.outputs.stdout }}' - stringEquals: 'arm64' value: '{{ validate.CPUArchitecture.outputs.stdout }}' - stringEquals: 'x86_64' value: '{{ validate.CPUArchitecture.outputs.stdout }}'
Output:
Il risultato di un Assert
è il successo o il fallimento della fase.
ExecuteBash
Il modulo ExecuteBashaction consente di eseguire script bash con codice/comandi di shell in linea. Questo modulo supporta Linux.
Tutti i comandi e le istruzioni specificati nel blocco dei comandi vengono convertiti in un file (ad esempioinput.sh
) ed eseguiti con la shell bash. Il risultato dell'esecuzione del file shell è il codice di uscita del passaggio.
Il ExecuteBashmodulo gestisce i riavvii del sistema se lo script esce con un codice di uscita di. 194
Una volta avviata, l'applicazione esegue una delle seguenti azioni:
-
L'applicazione consegna il codice di uscita al chiamante se viene eseguita dall'agente Systems Manager. Systems Manager Agent gestisce il riavvio del sistema ed esegue lo stesso passaggio che ha avviato il riavvio, come descritto in Riavvio di un'istanza gestita dagli script.
-
L'applicazione salva la versione corrente
executionstate
, configura un trigger di riavvio per rieseguire l'applicazione e riavvia il sistema.
Dopo il riavvio del sistema, l'applicazione esegue lo stesso passaggio che ha avviato il riavvio. Se è necessaria questa funzionalità, è necessario scrivere script idempotenti in grado di gestire più invocazioni dello stesso comando di shell.
Nome chiave | Descrizione | Tipo | Richiesto |
---|---|---|---|
commands |
Contiene un elenco di istruzioni o comandi da eseguire secondo la sintassi di bash. È consentita la presenza di più righe. YAML | Elenco | Sì |
Esempio di input: prima e dopo il riavvio
name: ExitCode194Example description: This shows how the exit code can be used to restart a system with ExecuteBash schemaVersion: 1.0 phases: - name: build steps: - name: RestartTrigger action: ExecuteBash inputs: commands: - | REBOOT_INDICATOR=/var/tmp/reboot-indicator if [ -f "${REBOOT_INDICATOR}" ]; then echo 'The reboot file exists. Deleting it and exiting with success.' rm "${REBOOT_INDICATOR}" exit 0 fi echo 'The reboot file does not exist. Creating it and triggering a restart.' touch "${REBOOT_INDICATOR}" exit 194
Campo | Descrizione | Tipo |
---|---|---|
stdout |
Output standard dell'esecuzione del comando. | string |
Se avvii un riavvio e restituisci il codice di uscita 194
come parte del modulo di azione, la compilazione riprenderà dalla stessa fase del modulo di azione che ha avviato il riavvio. Se avvii un riavvio senza il codice di uscita, il processo di compilazione potrebbe non riuscire.
Esempio di output: prima del riavvio (prima lettura del documento)
{ “stdout”: “The reboot file does not exist. Creating it and triggering a restart." }
Esempio di output: dopo il riavvio, (seconda volta nel documento)
{ “stdout”: “The reboot file exists. Deleting it and exiting with success." }
ExecuteBinary
Il modulo di ExecuteBinaryazione consente di eseguire file binari con un elenco di argomenti della riga di comando.
Il ExecuteBinarymodulo gestisce i riavvii del sistema se il file binario esce con un codice di uscita 194
(Linux) o 3010
(Windows). Quando ciò accade, l'applicazione esegue una delle seguenti azioni:
-
L'applicazione consegna il codice di uscita al chiamante se viene eseguita dall'agente Systems Manager. Systems Manager Agent gestisce il riavvio del sistema ed esegue lo stesso passaggio che ha avviato il riavvio, come descritto in Riavvio di un'istanza gestita dagli script.
-
L'applicazione salva la versione corrente
executionstate
, configura un trigger di riavvio per rieseguire l'applicazione e riavvia il sistema.
Dopo il riavvio del sistema, l'applicazione esegue lo stesso passaggio che ha avviato il riavvio. Se è necessaria questa funzionalità, è necessario scrivere script idempotenti in grado di gestire più invocazioni dello stesso comando di shell.
Nome chiave | Descrizione | Tipo | Richiesto |
---|---|---|---|
path |
Il percorso del file binario per l'esecuzione. | Stringa | Sì |
arguments |
Contiene un elenco di argomenti della riga di comando da utilizzare durante l'esecuzione del file binario. | Elenco di stringhe | No |
Esempio di input: install. NET
- name: "InstallDotnet" action: ExecuteBinary inputs: path: C:\PathTo\dotnet_installer.exe arguments: - /qb - /norestart
Campo | Descrizione | Tipo |
---|---|---|
stdout |
Output standard dell'esecuzione dei comandi. | string |
Esempio di output
{ "stdout": "success" }
ExecuteDocument
Il modulo di ExecuteDocumentazione aggiunge il supporto per i documenti di componenti annidati, eseguendo più documenti componenti da un unico documento. AWSTOE convalida il documento passato nel parametro di input in fase di esecuzione.
Restrizioni
-
Questo modulo di azione viene eseguito una sola volta, senza possibilità di ripetere i tentativi e senza alcuna opzione per impostare limiti di timeout. ExecuteDocumentimposta i seguenti valori predefiniti e restituisce un errore se si tenta di modificarli.
-
timeoutSeconds
: -1 -
maxAttempts
: 1
Nota
È possibile lasciare vuoti questi valori e AWSTOE utilizzare i valori predefiniti.
-
-
L'annidamento dei documenti è consentito, fino a tre livelli di profondità, ma non di più. Tre livelli di nidificazione si traducono in quattro livelli di documento, poiché il livello superiore non è nidificato. In questo scenario, il documento di livello più basso non deve richiamare nessun altro documento.
-
L'esecuzione ciclica dei documenti dei componenti non è consentita. Qualsiasi documento che richiama se stesso al di fuori di un costrutto a ciclo continuo o che richiama un altro documento più in alto nella catena di esecuzione corrente avvia un ciclo che può generare un ciclo infinito. Quando AWSTOE rileva un'esecuzione ciclica, interrompe l'esecuzione e registra l'errore.
Se un documento componente tenta di eseguirsi da solo o di eseguire uno dei documenti componenti che si trovano più in alto nella catena di esecuzione corrente, l'esecuzione fallisce.
Input
Nome chiave | Descrizione | Tipo | Richiesto |
---|---|---|---|
document |
Percorso del documento componente. Le opzioni valide includono:
|
Stringa | Sì |
document-s3-bucket-owner |
L'ID dell'account del proprietario del bucket S3 per il bucket S3 in cui sono archiviati i documenti dei componenti. (Consigliato se utilizzi S3 URIs nel documento del componente.) |
Stringa | No |
phases |
Fasi da eseguire nel documento del componente, espresse come elenco separato da virgole. Se non viene specificata alcuna fase, vengono eseguite tutte le fasi. |
Stringa | No |
parameters |
Parametri di input che vengono passati al documento del componente in fase di esecuzione come coppie chiave-valore. |
Elenco delle mappe dei parametri | No |
Inserimento della mappa dei parametri
Nome chiave | Descrizione | Tipo | Richiesto |
---|---|---|---|
name |
Il nome del parametro di input da passare al documento del componente che il modulo di ExecuteDocumentazione è in esecuzione. |
Stringa | Sì |
value |
Il valore del parametro di input. |
Stringa | Sì |
Esempi di input
Gli esempi seguenti mostrano le variazioni degli input per il documento del componente, a seconda del percorso di installazione.
Esempio di input: percorso del documento locale
# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument inputs: document: Sample-1.yaml phases: build parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2
Esempio di input: S3 URI come percorso del documento
# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument inputs: document: s3://my-bucket/Sample-1.yaml document-s3-bucket-owner: 123456789012 phases: build,validate parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2
Esempio di input: componente EC2 Image Builder ARN come percorso del documento
# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument inputs: document: arn:aws:imagebuilder:us-west-2:aws:component/Sample-Test/1.0.0 phases: test parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2
Utilizzo di un ForEach ciclo per eseguire documenti
# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument loop: name: 'myForEachLoop' forEach: - Sample-1.yaml - Sample-2.yaml inputs: document: "{{myForEachLoop.value}}" phases: test parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2
Utilizzo di un ciclo For per eseguire documenti
# main.yaml schemaVersion: 1.0 phases: - name: build steps: - name: ExecuteNestedDocument action: ExecuteDocument loop: name: 'myForLoop' for: start: 1 end: 2 updateBy: 1 inputs: document: "Sample-{{myForLoop.value}}.yaml" phases: test parameters: - name: parameter-1 value: value-1 - name: parameter-2 value: value-2
Output
AWSTOE crea un file di output chiamato detailedoutput.json
ogni volta che viene eseguito. Il file contiene dettagli su ogni fase e passaggio di ogni documento componente che viene richiamato durante l'esecuzione. Per il modulo ExecuteDocumentd'azione, è possibile trovare un breve riepilogo del runtime nel outputs
campo e dettagli sulle fasi, i passaggi e i documenti in cui viene eseguito. detailedOutput
{ \"executedStepCount\":1,\"executionId\":\"97054e22-06cc-11ec-9b14-acde48001122\",\"failedStepCount\":0,\"failureMessage\":\"\",\"ignoredFailedStepCount\":0,\"logUrl\":\"\",\"status\":\"success\" }",
L'oggetto di riepilogo dell'output di ogni documento componente contiene i seguenti dettagli, come illustrato di seguito, con valori di esempio:
-
executedStepCount«:1
-
««executionId:"12345a67-89bc-01de-2f34-abcd56789012"
-
failedStepCount«:0
-
"failureMessage":""
-
«ignoredFailedStepConta» :0
-
"logUrl":""
-
«status» :"successo»
Esempio di output
L'esempio seguente mostra l'output del modulo di ExecuteDocumentazione quando si verifica un'esecuzione annidata. In questo esempio, il documento main.yaml
componente esegue correttamente il documento del Sample-1.yaml
componente.
{ "executionId": "12345a67-89bc-01de-2f34-abcd56789012", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "documents": [ { "name": "", "filePath": "main.yaml", "status": "success", "description": "", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "phases": [ { "name": "build", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "steps": [ { "name": "ExecuteNestedDocument", "status": "success", "failureMessage": "", "timeoutSeconds": -1, "onFailure": "Abort", "maxAttempts": 1, "action": "ExecuteDocument", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "inputs": "[{\"document\":\"Sample-1.yaml\",\"document-s3-bucket-owner\":\"\",\"phases\":\"\",\"parameters\":null}]", "outputs": "[{\"executedStepCount\":1,\"executionId\":\"98765f43-21ed-09cb-8a76-fedc54321098\",\"failedStepCount\":0,\"failureMessage\":\"\",\"ignoredFailedStepCount\":0,\"logUrl\":\"\",\"status\":\"success\"}]", "loop": null, "detailedOutput": [ { "executionId": "98765f43-21ed-09cb-8a76-fedc54321098", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "documents": [ { "name": "", "filePath": "Sample-1.yaml", "status": "success", "description": "", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "phases": [ { "name": "build", "status": "success", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "failureMessage": "", "steps": [ { "name": "ExecuteBashStep", "status": "success", "failureMessage": "", "timeoutSeconds": 7200, "onFailure": "Abort", "maxAttempts": 1, "action": "ExecuteBash", "startTime": "2021-08-26T17:20:31-07:00", "endTime": "2021-08-26T17:20:31-07:00", "inputs": "[{\"commands\":[\"echo \\\"Hello World!\\\"\"]}]", "outputs": "[{\"stdout\":\"Hello World!\"}]", "loop": null, "detailedOutput": null }] }] }] }] }] }] }] }
ExecutePowerShell
Il modulo ExecutePowerShellaction consente di eseguire PowerShell script con codice/comandi di shell in linea. Questo modulo supporta la piattaforma Windows e Windows. PowerShell
Tutti i comandi/istruzioni specificati nel blocco dei comandi vengono convertiti in un file di script (ad esempioinput.ps1
) ed eseguiti tramite Windows. PowerShell Il risultato dell'esecuzione del file shell è il codice di uscita.
Il ExecutePowerShellmodulo gestisce i riavvii del sistema se il comando shell esce con un codice di uscita di. 3010
Una volta avviata, l'applicazione esegue una delle seguenti azioni:
-
Fornisce il codice di uscita al chiamante se eseguito dal Systems Manager Agent. Systems Manager Agent gestisce il riavvio del sistema ed esegue lo stesso passaggio che ha avviato il riavvio, come descritto in Riavvio di un'istanza gestita dagli script.
-
Salva la versione corrente
executionstate
, configura un trigger di riavvio per rieseguire l'applicazione e riavvia il sistema.
Dopo il riavvio del sistema, l'applicazione esegue lo stesso passaggio che ha avviato il riavvio. Se è necessaria questa funzionalità, è necessario scrivere script idempotenti in grado di gestire più invocazioni dello stesso comando di shell.
Nome chiave | Descrizione | Tipo | Richiesto |
---|---|---|---|
commands |
Contiene un elenco di istruzioni o comandi da eseguire secondo la sintassi. PowerShell YAMLÈ consentita la presenza di più righe. | Elenco di stringhe | Sì. È necessario specificare |
file |
Contiene il percorso di un file di PowerShell script. PowerShell verrà eseguito su questo file utilizzando l'argomento della riga di -file comando. Il percorso deve puntare a un .ps1 file. |
Stringa | Sì. È necessario specificare |
Esempio di input: prima e dopo il riavvio
name: ExitCode3010Example description: This shows how the exit code can be used to restart a system with ExecutePowerShell schemaVersion: 1.0 phases: - name: build steps: - name: RestartTrigger action: ExecutePowerShell inputs: commands: - | $rebootIndicator = Join-Path -Path $env:SystemDrive -ChildPath 'reboot-indicator' if (Test-Path -Path $rebootIndicator) { Write-Host 'The reboot file exists. Deleting it and exiting with success.' Remove-Item -Path $rebootIndicator -Force | Out-Null [System.Environment]::Exit(0) } Write-Host 'The reboot file does not exist. Creating it and triggering a restart.' New-Item -Path $rebootIndicator -ItemType File | Out-Null [System.Environment]::Exit(3010)
Campo | Descrizione | Tipo |
---|---|---|
stdout |
Output standard dell'esecuzione del comando. | string |
Se esegui un riavvio e restituisci il codice di uscita 3010
come parte del modulo di azione, la compilazione riprenderà dalla stessa fase del modulo di azione che ha avviato il riavvio. Se esegui un riavvio senza il codice di uscita, il processo di compilazione potrebbe non riuscire.
Esempio di output: prima del riavvio (prima lettura del documento)
{ “stdout”: “The reboot file does not exist. Creating it and triggering a restart." }
Esempio di output: dopo il riavvio, (seconda volta nel documento)
{ “stdout”: “The reboot file exists. Deleting it and exiting with success." }
Moduli per il download e il caricamento dei file
La sezione seguente contiene dettagli sui moduli di azione che caricano o scaricano file.
Scarica e carica i moduli d'azione
Scarica S3
Con il modulo di S3Download
azione, puoi scaricare un oggetto Amazon S3, o un set di oggetti, in un file o una cartella locale che specifichi con il destination
percorso. Se esiste già un file nella posizione specificata e il overwrite
flag è impostato su true, S3Download
sovrascrive il file.
La tua source
posizione può puntare a un oggetto specifico in Amazon S3 oppure puoi utilizzare un prefisso chiave con un asterisco wildcard *
() per scaricare un set di oggetti che corrispondono al percorso del prefisso chiave. Quando specificate un prefisso chiave nella vostra source
posizione, il modulo di S3Download
azione scarica tutto ciò che corrisponde al prefisso (file e cartelle inclusi). Assicurati che il prefisso della chiave termini con una barra, seguita da un asterisco (/*
), in modo da scaricare tutto ciò che corrisponde al prefisso. Ad esempio:
.s3://my-bucket/my-folder/*
Nota
Tutte le cartelle nel percorso di destinazione devono esistere prima del download, altrimenti il download avrà esito negativo.
Se l'S3Download
azione per uno specifico key prefix fallisce durante un download, il contenuto della cartella non viene ripristinato allo stato precedente all'errore. La cartella di destinazione rimane com'era al momento dell'errore.
Casi di utilizzo supportati
Il modulo di S3Download
azione supporta i seguenti casi d'uso:
-
L'oggetto Amazon S3 viene scaricato in una cartella locale, come specificato nel percorso di download.
-
Gli oggetti Amazon S3 (con un prefisso chiave nel percorso del file Amazon S3) vengono scaricati nella cartella locale specificata, che copia in modo ricorsivo tutti gli oggetti Amazon S3 che corrispondono al prefisso della chiave nella cartella locale.
IAMrequisiti
Il IAM ruolo associato al profilo dell'istanza deve disporre delle autorizzazioni per eseguire il modulo di S3Download
azione. Le seguenti IAM politiche devono essere associate al IAM ruolo associato al profilo dell'istanza:
-
File singolo:
s3:GetObject
rispetto al bucket/oggetto (ad esempio,).arn:aws:s3:::
BucketName
/* -
File multipli:
s3:ListBucket
contro il bucket/oggetto (ad esempio,arn:aws:s3:::
) eBucketName
s3:GetObject
contro il bucket/oggetto (ad esempio,).arn:aws:s3:::
BucketName
/*
Chiave |
Descrizione |
Tipo |
Obbligatorio |
Predefinita |
---|---|---|---|---|
|
Il bucket Amazon S3 che è la fonte per il download. Potete specificare un percorso per un oggetto specifico o utilizzare un prefisso chiave che termina con una barra, seguita da un asterisco wildcard ( |
Stringa |
Sì |
N/D |
|
Il percorso locale in cui vengono scaricati gli oggetti Amazon S3. Per scaricare un singolo file, devi specificare il nome del file come parte del percorso. Ad esempio |
Stringa |
Sì |
N/D |
|
ID dell'account proprietario previsto del bucket fornito nel |
Stringa |
No |
N/D |
|
Se impostato su true, se un file con lo stesso nome esiste già nella cartella di destinazione per il percorso locale specificato, il file scaricato sovrascrive il file locale. Se impostato su false, il file esistente nel sistema locale è protetto dalla sovrascrittura e il modulo di azione ha esito negativo e restituisce un errore di download. Ad esempio, |
Boolean |
No |
true |
Nota
Per gli esempi seguenti, il percorso della cartella Windows può essere sostituito con un percorso Linux. Ad esempio,
può essere sostituito conC:\myfolder\package.zip
./myfolder/package.zip
Esempio di input: copia un oggetto Amazon S3 in un file locale
L'esempio seguente mostra come copiare un oggetto Amazon S3 in un file locale.
- name: DownloadMyFile action: S3Download inputs: - source: s3://
amzn-s3-demo-source-bucket/path/to/package.zip
destination:C:\myfolder\package.zip
expectedBucketOwner:123456789022
overwrite:false
- source: s3://amzn-s3-demo-source-bucket/path/to/package.zip
destination:C:\myfolder\package.zip
expectedBucketOwner:123456789022
overwrite:true
- source: s3://amzn-s3-demo-source-bucket/path/to/package.zip
destination:C:\myfolder\package.zip
expectedBucketOwner:123456789022
Esempio di input: copia tutti gli oggetti Amazon S3 in un bucket Amazon S3 con prefisso chiave in una cartella locale
L'esempio seguente mostra come copiare tutti gli oggetti Amazon S3 in un bucket Amazon S3 con il prefisso chiave in una cartella locale. Amazon S3 non ha il concetto di cartella, pertanto tutti gli oggetti che corrispondono al prefisso del key vengono copiati. Il numero massimo di oggetti che possono essere scaricati è 1000.
- name: MyS3DownloadKeyprefix action: S3Download maxAttempts: 3 inputs: - source: s3://
amzn-s3-demo-source-bucket/path/to/*
destination: C:\myfolder
\ expectedBucketOwner:123456789022
overwrite:false
- source: s3://amzn-s3-demo-source-bucket/path/to/*
destination:C:\myfolder
\ expectedBucketOwner:123456789022
overwrite:true
- source: s3://amzn-s3-demo-source-bucket/path/to/*
destination:C:\myfolder
\ expectedBucketOwner:123456789022
Output
Nessuna.
Caricamento S3
Con il modulo di azione S3Upload, puoi caricare un file da un file o una cartella di origine in una posizione Amazon S3. Puoi utilizzare un carattere jolly (*
) nel percorso specificato per la posizione di origine per caricare tutti i file il cui percorso corrisponde al modello dei caratteri jolly.
Se l'azione ricorsiva S3Upload fallisce, tutti i file che sono già stati caricati rimarranno nel bucket Amazon S3 di destinazione.
Casi di utilizzo supportati
-
File locale su oggetto Amazon S3.
-
File locali nella cartella (con wildcard) nel prefisso chiave di Amazon S3.
-
Copia la cartella locale (deve essere
recurse
impostata sutrue
) nel prefisso chiave di Amazon S3.
IAMrequisiti
Il IAM ruolo associato al profilo dell'istanza deve disporre delle autorizzazioni per eseguire il modulo di S3Upload
azione. La seguente IAM politica deve essere associata al IAM ruolo associato al profilo dell'istanza. La policy deve concedere s3:PutObject
le autorizzazioni al bucket Amazon S3 di destinazione. Ad esempio, arn:aws:s3:::
.BucketName
/*
Chiave |
Descrizione |
Tipo |
Obbligatorio |
Predefinita |
---|---|---|---|---|
|
Il percorso locale da cui provengono i file/le cartelle di origine. |
Stringa |
Sì |
N/D |
|
Il percorso del bucket Amazon S3 di destinazione in cui vengono caricati i file/le cartelle di origine. |
Stringa |
Sì |
N/D |
|
Se impostato su, esegue S3Upload in modo |
Stringa |
No |
|
|
L'ID dell'account proprietario previsto per il bucket Amazon S3 specificato nel percorso di destinazione. Ti consigliamo di verificare la proprietà del bucket Amazon S3 specificato nella destinazione. |
Stringa |
No |
N/D |
Esempio di input: copia un file locale su un oggetto Amazon S3
L'esempio seguente mostra come copiare un file locale su un oggetto Amazon S3.
- name: MyS3UploadFile action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\
myfolder\package.zip
destination: s3://amzn-s3-demo-destination-bucket/path/to/package.zip
expectedBucketOwner:123456789022
Esempio di input: copia tutti i file in una cartella locale in un bucket Amazon S3 con prefisso chiave
L'esempio seguente mostra come copiare tutti i file nella cartella locale in un bucket Amazon S3 con key prefix. Questo esempio non copia le sottocartelle o il loro contenuto perché non recurse
è specificato e l'impostazione predefinita è. false
- name: MyS3UploadMultipleFiles action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\
myfolder\*
destination: s3://amzn-s3-demo-destination-bucket/path/to/
expectedBucketOwner:123456789022
Esempio di input: copia ricorsivamente tutti i file e le cartelle da una cartella locale a un bucket Amazon S3
L'esempio seguente mostra come copiare tutti i file e le cartelle in modo ricorsivo da una cartella locale a un bucket Amazon S3 con prefisso chiave.
- name: MyS3UploadFolder action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\
myfolder\*
destination: s3://amzn-s3-demo-destination-bucket/path/to/
recurse:true
expectedBucketOwner:123456789022
Output
Nessuna.
WebDownload
Il modulo di WebDownloadazione consente di scaricare file e risorse da una postazione remota tramite il HTTPS protocolloHTTP/(consigliato). HTTPS Non ci sono limiti al numero o alla dimensione dei download. Questo modulo gestisce la logica dei tentativi e del backoff esponenziale.
A ogni operazione di download vengono assegnati un massimo di 5 tentativi di successo in base agli input dell'utente. Questi tentativi sono diversi da quelli specificati nel maxAttempts
campo del documentosteps
, che sono correlati agli errori del modulo di azione.
Questo modulo di azione gestisce implicitamente i reindirizzamenti. Tutti i codici di HTTP stato, ad eccezione di200
, generano un errore.
Nome chiave | Descrizione | Tipo | Obbligatorio | Predefinita |
---|---|---|---|---|
source |
Il valore validoHTTP/HTTPSURL(HTTPSè consigliato), che segue lo standard RFC 3986. Le espressioni concatenate sono consentite. | Stringa |
Sì |
N/D |
destination |
Un percorso di file o cartella assoluto o relativo nel sistema locale. I percorsi delle cartelle devono terminare con/ . Se non terminano con/ , verranno trattati come percorsi di file. Il modulo crea qualsiasi file o cartella necessario per il corretto download. Le espressioni concatenate sono consentite. |
Stringa | Sì | N/D |
overwrite |
Se abilitata, sovrascrive tutti i file esistenti sul sistema locale con il file o la risorsa scaricati. Se non è abilitata, i file esistenti sul sistema locale non vengono sovrascritti e il modulo di azione si interrompe e restituisce un errore. Quando la sovrascrittura è abilitata e vengono specificati il checksum e l'algoritmo, il modulo di azione scarica il file solo se il checksum e l'hash dei file preesistenti non corrispondono. | Boolean | No | true |
checksum |
Quando si specifica il checksum, questo viene confrontato con l'hash del file scaricato generato con l'algoritmo fornito. Affinché la verifica dei file sia abilitata, è necessario fornire sia il checksum che l'algoritmo. Le espressioni concatenate sono consentite. | Stringa | No | N/D |
algorithm |
L'algoritmo utilizzato per calcolare il checksum. Le opzioni sonoMD5, SHA1SHA256, eSHA512. Per abilitare la verifica dei file, è necessario fornire sia il checksum che l'algoritmo. Le espressioni concatenate sono consentite. | Stringa | No | N/D |
ignoreCertificateErrors |
SSLla convalida del certificato viene ignorata quando è abilitata. | Boolean | No | false |
Nome chiave | Descrizione | Tipo |
---|---|---|
destination |
Stringa di nuova riga delimitata da caratteri che specifica il percorso di destinazione in cui sono archiviati i file o le risorse scaricati. | Stringa |
Esempio di input: scarica il file remoto nella destinazione locale
- name: DownloadRemoteFile action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: C:\testfolder\package.zip
Output:
{ "destination": "C:\\testfolder\\package.zip" }
Esempio di input: scaricare più di un file remoto su più di una destinazione locale
- name: DownloadRemoteFiles action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: /tmp/java14_renamed.zip - source: https://testdomain/path/to/java14.zip destination: /tmp/create_new_folder_and_add_java14_as_zip/
Output:
{ "destination": "/tmp/create_new_folder/java14_renamed.zip\n/tmp/create_new_folder_and_add_java14_as_zip/java14.zip" }
Esempio di input: scarica un file remoto senza sovrascrivere la destinazione locale e scarica un altro file remoto con la verifica del file
- name: DownloadRemoteMultipleProperties action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: C:\create_new_folder\java14_renamed.zip overwrite: false - source: https://testdomain/path/to/java14.zip destination: C:\create_new_folder_and_add_java14_as_zip\ checksum: ac68bbf921d953d1cfab916cb6120864 algorithm: MD5 overwrite: true
Output:
{ "destination": "C:\\create_new_folder\\java14_renamed.zip\nC:\\create_new_folder_and_add_java14_as_zip\\java14.zip" }
Esempio di input: scarica il file remoto e ignora la convalida SSL della certificazione
- name: DownloadRemoteIgnoreValidation action: WebDownload maxAttempts: 3 inputs: - source: https://www.bad-ssl.com/resource destination: /tmp/downloads/ ignoreCertificateErrors: true
Output:
{ "destination": "/tmp/downloads/resource" }
Moduli operativi del file system
La sezione seguente contiene dettagli sui moduli di azione che eseguono operazioni sul file system.
Moduli di azione per il funzionamento del file system
AppendFile
Il modulo di AppendFileazione aggiunge il contenuto specificato al contenuto preesistente di un file.
Se il valore di codifica del file è diverso dal valore di codifica predefinito (utf-8
), è possibile specificare il valore di codifica del file utilizzando l'opzione. encoding
Per impostazione predefinita, utf-16
si presume che utilizzino la utf-32
codifica little-endian.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Il file specificato non esiste in fase di esecuzione.
-
Non disponi delle autorizzazioni di scrittura per modificare il contenuto del file.
-
Il modulo rileva un errore durante l'operazione sul file.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso del file. | Stringa | Sì | N/D | N/D | Sì |
content |
Il contenuto da aggiungere al file. | Stringa | No | Stringa vuota | N/D | Sì |
encoding |
Lo standard di codifica. | Stringa | No | utf8 |
utf8 ,utf-8 ,utf16 ,utf-16 ,utf16-LE , utf-16-LE utf16-BE utf-16-BE ,utf32 ,utf-32 ,utf32-LE , utf-32-LE utf32-BE , e utf-32-BE . Il valore dell'opzione di codifica non fa distinzione tra maiuscole e minuscole. |
Sì |
Esempio di input: aggiungi file senza codifica (Linux)
- name: AppendingFileWithOutEncodingLinux action: AppendFile inputs: - path: ./Sample.txt content: "The string to be appended to the file"
Esempio di input: aggiungi file senza codifica (Windows)
- name: AppendingFileWithOutEncodingWindows action: AppendFile inputs: - path: C:\MyFolder\MyFile.txt content: "The string to be appended to the file"
Esempio di input: aggiungi file con codifica (Linux)
- name: AppendingFileWithEncodingLinux action: AppendFile inputs: - path: /FolderName/SampleFile.txt content: "The string to be appended to the file" encoding: UTF-32
Esempio di input: aggiungi file con codifica (Windows)
- name: AppendingFileWithEncodingWindows action: AppendFile inputs: - path: C:\MyFolderName\SampleFile.txt content: "The string to be appended to the file" encoding: UTF-32
Esempio di input: aggiungi un file con una stringa vuota (Linux)
- name: AppendingEmptyStringLinux action: AppendFile inputs: - path: /FolderName/SampleFile.txt
Esempio di input: aggiungi un file con una stringa vuota (Windows)
- name: AppendingEmptyStringWindows action: AppendFile inputs: - path: C:\MyFolderName\SampleFile.txt
Output
Nessuna.
CopyFile
Il modulo di CopyFileazione copia i file dall'origine specificata alla destinazione specificata. Per impostazione predefinita, il modulo crea in modo ricorsivo la cartella di destinazione se non esiste in fase di esecuzione.
Se un file con il nome specificato esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, sovrascrive il file esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false
Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente un file con il nome specificato, il modulo di azione restituirà un errore. false
Questa opzione funziona come il cp
comando in Linux, che per impostazione predefinita sovrascrive.
Il nome del file sorgente può includere un wildcard ()*
. I caratteri jolly sono accettati solo dopo l'ultimo separatore di percorso del file (/
o). \
Se nel nome del file di origine sono inclusi caratteri jolly, tutti i file che corrispondono ai caratteri jolly vengono copiati nella cartella di destinazione. Se desiderate spostare più di un file utilizzando un carattere jolly, l'input dell'destination
opzione deve terminare con un separatore del percorso del file (/
o\
), che indica che l'input di destinazione è una cartella.
Se il nome del file di destinazione è diverso dal nome del file di origine, è possibile specificare il nome del file di destinazione utilizzando l'destination
opzione. Se non si specifica un nome di file di destinazione, il nome del file di origine viene utilizzato per creare il file di destinazione. Qualsiasi testo che segue il separatore (/
o\
) dell'ultimo percorso del file viene considerato come nome del file. Se si desidera utilizzare lo stesso nome di file del file di origine, l'input dell'destination
opzione deve terminare con un separatore di percorso del file (/
o\
).
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a creare un file nella cartella specificata.
-
I file di origine non esistono in fase di esecuzione.
-
Esiste già una cartella con il nome di file specificato e l'
overwrite
opzione è impostata sufalse
. -
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
source |
Il percorso del file sorgente. | Stringa | Sì | N/D | N/D | Sì |
destination |
Il percorso del file di destinazione. | Stringa | Sì | N/D | N/D | Sì |
overwrite |
Se impostato su false, i file di destinazione non verranno sostituiti quando nella posizione specificata è già presente un file con il nome specificato. | Boolean | No | true |
N/D | Sì |
Esempio di input: copia un file (Linux)
- name: CopyingAFileLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt
Esempio di input: copiare un file (Windows)
- name: CopyingAFileWindows action: CopyFile inputs: - source: C:\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt
Esempio di input: copia un file usando il nome del file sorgente (Linux)
- name: CopyingFileWithSourceFileNameLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/
Esempio di input: copiare un file utilizzando il nome del file sorgente (Windows)
- name: CopyingFileWithSourceFileNameWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\
Esempio di input: copia un file usando il carattere jolly (Linux)
- name: CopyingFilesWithWildCardLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Esempio di input: copia un file usando il carattere jolly (Windows)
- name: CopyingFilesWithWildCardWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\
Esempio di input: copiare un file senza sovrascriverlo (Linux)
- name: CopyingFilesWithoutOverwriteLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt overwrite: false
Esempio di input: copiare un file senza sovrascriverlo (Windows)
- name: CopyingFilesWithoutOverwriteWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt overwrite: false
Output
Nessuna.
CopyFolder
Il modulo di CopyFolderazione copia una cartella dall'origine specificata alla destinazione specificata. L'input per l'source
opzione è la cartella da copiare e l'input per l'destination
opzione è la cartella in cui viene copiato il contenuto della cartella di origine. Per impostazione predefinita, il modulo crea in modo ricorsivo la cartella di destinazione se non esiste in fase di esecuzione.
Se una cartella con il nome specificato esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, sovrascrive la cartella esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false
Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente una cartella con il nome specificato, il modulo di azione restituirà un errore. false
Il nome della cartella di origine può includere un carattere jolly ()*
. I caratteri jolly sono accettati solo dopo l'ultimo separatore di percorso del file (/
o). \
Se nel nome della cartella di origine sono inclusi caratteri jolly, tutte le cartelle che corrispondono al carattere jolly vengono copiate nella cartella di destinazione. Se desiderate copiare più di una cartella utilizzando un carattere jolly, l'input dell'destination
opzione deve terminare con un separatore del percorso del file (/
o\
), che indica che l'input di destinazione è una cartella.
Se il nome della cartella di destinazione è diverso dal nome della cartella di origine, è possibile specificare il nome della cartella di destinazione utilizzando l'destination
opzione. Se non si specifica un nome per la cartella di destinazione, per creare la cartella di destinazione viene utilizzato il nome della cartella di origine. Qualsiasi testo che segue il separatore (/
o\
) dell'ultimo percorso del file viene considerato come nome della cartella. Se si desidera utilizzare lo stesso nome di cartella della cartella di origine, l'immissione dell'destination
opzione deve terminare con un separatore del percorso del file (/
o\
).
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a creare una cartella nella cartella specificata.
-
Le cartelle di origine non esistono in fase di esecuzione.
-
Esiste già una cartella con il nome specificato e l'
overwrite
opzione è impostata sufalse
. -
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
source |
Il percorso della cartella di origine. | Stringa | Sì | N/D | N/D | Sì |
destination |
Il percorso della cartella di destinazione. | Stringa | Sì | N/D | N/D | Sì |
overwrite |
Se impostato su false, le cartelle di destinazione non verranno sostituite se nella posizione specificata è già presente una cartella con il nome specificato. | Boolean | No | true |
N/D | Sì |
Esempio di input: copia una cartella (Linux)
- name: CopyingAFolderLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/destinationFolder
Esempio di input: copiare una cartella (Windows)
- name: CopyingAFolderWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\destinationFolder
Esempio di input: copia una cartella usando il nome della cartella di origine (Linux)
- name: CopyingFolderSourceFolderNameLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/
Esempio di input: copia una cartella usando il nome della cartella di origine (Windows)
- name: CopyingFolderSourceFolderNameWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\
Esempio di input: copia una cartella usando il carattere jolly (Linux)
- name: CopyingFoldersWithWildCardLinux action: CopyFolder inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Esempio di input: copia una cartella usando il carattere jolly (Windows)
- name: CopyingFoldersWithWildCardWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\
Esempio di input: copia una cartella senza sovrascriverla (Linux)
- name: CopyingFoldersWithoutOverwriteLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/destinationFolder overwrite: false
Esempio di input: copiare una cartella senza sovrascriverla (Windows)
- name: CopyingFoldersWithoutOverwrite action: CopyFolder inputs: - source: C:\Sample\MyFolder\SourceFolder destination: C:\MyFolder\destinationFolder overwrite: false
Output
Nessuna.
CreateFile
Il modulo di CreateFileazione crea un file in una posizione specificata. Per impostazione predefinita, se necessario, il modulo crea anche in modo ricorsivo le cartelle principali.
Se il file esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, tronca o sovrascrive il file esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false
Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente un file con il nome specificato, il modulo di azione restituirà un errore. false
Se il valore di codifica del file è diverso dal valore di codifica predefinito (utf-8
), è possibile specificare il valore di codifica del file utilizzando l'opzione. encoding
Per impostazione predefinita, utf-16
si presume che utilizzino la utf-32
codifica little-endian.
owner
, e sono ingressi group
opzionali. permissions
L'input per permissions
deve essere un valore di stringa. I file vengono creati con valori predefiniti quando non vengono forniti. Queste opzioni non sono supportate sulle piattaforme Windows. Questo modulo di azione convalida e restituisce un errore se le permissions
opzioni owner
group
, e vengono utilizzate sulle piattaforme Windows.
Questo modulo di azione può creare un file con autorizzazioni definite dal umask
valore predefinito del sistema operativo. È necessario impostare il umask
valore se si desidera sovrascrivere il valore predefinito.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a creare un file o una cartella nella cartella principale specificata.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso del file. | Stringa | Sì | N/D | N/D | Sì |
content |
Il contenuto testuale del file. | Stringa | No | N/D | N/D | Sì |
encoding |
Lo standard di codifica. | Stringa | No | utf8 |
utf8 ,utf-8 ,utf16 ,utf-16 ,utf16-LE , utf-16-LE utf16-BE utf-16-BE ,utf32 ,utf-32 ,utf32-LE , utf-32-LE utf32-BE , e utf-32-BE . Il valore dell'opzione di codifica non fa distinzione tra maiuscole e minuscole. |
Sì |
owner |
Il nome utente o l'ID. | Stringa | No | N/D | N/D | Non supportato su Windows. |
group |
Il nome o l'ID del gruppo. | Stringa | No | L'utente corrente. | N/D | Non supportato su Windows. |
permissions |
Le autorizzazioni relative ai file. | Stringa | No | 0666 |
N/D | Non supportato su Windows. |
overwrite |
Se il nome del file specificato esiste già, impostando questo valore per false evitare che il file venga troncato o sovrascritto per impostazione predefinita. |
Boolean | No | true |
N/D | Sì |
Esempio di input: crea un file senza sovrascrivere (Linux)
- name: CreatingFileWithoutOverwriteLinux action: CreateFile inputs: - path: /home/UserName/Sample.txt content: The text content of the sample file. overwrite: false
Esempio di input: crea un file senza sovrascrivere (Windows)
- name: CreatingFileWithoutOverwriteWindows action: CreateFile inputs: - path: C:\Temp\Sample.txt content: The text content of the sample file. overwrite: false
Esempio di input: creare un file con le proprietà del file
- name: CreatingFileWithFileProperties action: CreateFile inputs: - path: SampleFolder/Sample.txt content: The text content of the sample file. encoding: UTF-16 owner: Ubuntu group: UbuntuGroup permissions: 0777 - path: SampleFolder/SampleFile.txt permissions: 755 - path: SampleFolder/TextFile.txt encoding: UTF-16 owner: root group: rootUserGroup
Esempio di input: creare un file senza proprietà del file
- name: CreatingFileWithoutFileProperties action: CreateFile inputs: - path: ./Sample.txt - path: Sample1.txt
Esempio di input: crea un file vuoto per saltare una sezione dello script di pulizia di Linux
- name: CreateSkipCleanupfile action: CreateFile inputs: - path:
<skip section file name>
Per ulteriori informazioni, consulta Sostituisci lo script di pulizia di Linux
Output
Nessuna.
CreateFolder
Il modulo di CreateFolderazione crea una cartella in una posizione specificata. Per impostazione predefinita, se necessario, il modulo crea anche in modo ricorsivo le cartelle principali.
Se la cartella esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, tronca o sovrascrive la cartella esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false
Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente una cartella con il nome specificato, il modulo di azione restituirà un errore. false
owner
group
, e permissions
sono input opzionali. L'input per permissions
deve essere un valore di stringa. Queste opzioni non sono supportate sulle piattaforme Windows. Questo modulo di azione convalida e restituisce un errore se le permissions
opzioni owner
group
, e vengono utilizzate sulle piattaforme Windows.
Questo modulo di azione può creare una cartella con autorizzazioni definite dal umask
valore predefinito del sistema operativo. È necessario impostare il umask
valore se si desidera sovrascrivere il valore predefinito.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a creare una cartella nella posizione specificata.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso della cartella. | Stringa | Sì | N/D | N/D | Sì |
owner |
Il nome utente o l'ID. | Stringa | No | L'utente corrente. | N/D | Non supportato su Windows. |
group |
Il nome o l'ID del gruppo. | Stringa | No | Il gruppo dell'utente corrente. | N/D | Non supportato su Windows. |
permissions |
Le autorizzazioni della cartella. | Stringa | No | 0777 |
N/D | Non supportato su Windows. |
overwrite |
Se il nome del file specificato esiste già, impostando questo valore per false evitare che il file venga troncato o sovrascritto per impostazione predefinita. |
Boolean | No | true |
N/D | Sì |
Esempio di input: creare una cartella (Linux)
- name: CreatingFolderLinux action: CreateFolder inputs: - path: /Sample/MyFolder/
Esempio di input: creare una cartella (Windows)
- name: CreatingFolderWindows action: CreateFolder inputs: - path: C:\MyFolder
Esempio di input: creare una cartella specificando le proprietà della cartella
- name: CreatingFolderWithFolderProperties action: CreateFolder inputs: - path: /Sample/MyFolder/Sample/ owner: SampleOwnerName group: SampleGroupName permissions: 0777 - path: /Sample/MyFolder/SampleFoler/ permissions: 777
Esempio di input: crea una cartella che sovrascriva la cartella esistente, se presente.
- name: CreatingFolderWithOverwrite action: CreateFolder inputs: - path: /Sample/MyFolder/Sample/ overwrite: true
Output
Nessuna.
CreateSymlink
Il modulo di CreateSymlinkazione crea collegamenti simbolici o file che contengono un riferimento a un altro file. Questo modulo non è supportato sulle piattaforme Windows.
L'input per le target
opzioni path
and può essere un percorso assoluto o relativo. Se l'input per l'path
opzione è un percorso relativo, viene sostituito con il percorso assoluto al momento della creazione del collegamento.
Per impostazione predefinita, quando un link con il nome specificato esiste già nella cartella specificata, il modulo di azione restituisce un errore. È possibile ignorare questo comportamento predefinito impostando l'force
opzione sutrue
. Quando l'force
opzione è impostata sutrue
, il modulo sovrascriverà il link esistente.
Se non esiste una cartella principale, il modulo di azione crea la cartella in modo ricorsivo, per impostazione predefinita.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Il file di destinazione non esiste in fase di esecuzione.
-
Esiste già un file di collegamento non simbolico con il nome specificato.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso del file. | Stringa | Sì | N/D | N/D | Non supportato su Windows. |
target |
Il percorso del file di destinazione a cui punta il link simbolico. | Stringa | Sì | N/D | N/D | Non supportato in Windows. |
force |
Forza la creazione di un collegamento quando esiste già un collegamento con lo stesso nome. | Boolean | No | false |
N/D | Non supportato in Windows. |
Esempio di input: crea un link simbolico che forza la creazione di un link
- name: CreatingSymbolicLinkWithForce action: CreateSymlink inputs: - path: /Folder2/Symboliclink.txt target: /Folder/Sample.txt force: true
Esempio di input: crea un link simbolico che non imponga la creazione di un link
- name: CreatingSymbolicLinkWithOutForce action: CreateSymlink inputs: - path: Symboliclink.txt target: /Folder/Sample.txt
Output
Nessuna.
DeleteFile
Il modulo di DeleteFileazione elimina uno o più file in una posizione specificata.
L'input di path
deve essere un percorso di file valido o un percorso di file con un carattere wild card (*
) nel nome del file. Quando nel nome del file vengono specificati caratteri jolly, tutti i file all'interno della stessa cartella che corrispondono al carattere jolly verranno eliminati.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a eseguire operazioni di eliminazione.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso del file. | Stringa | Sì | N/D | N/D | Sì |
Esempio di input: eliminare un singolo file (Linux)
- name: DeletingSingleFileLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/Sample.txt
Esempio di input: eliminare un singolo file (Windows)
- name: DeletingSingleFileWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\Sample.txt
Esempio di input: elimina un file che termina con «log» (Linux)
- name: DeletingFileEndingWithLogLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/*log
Esempio di input: eliminare un file che termina con «log» (Windows)
- name: DeletingFileEndingWithLogWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\*log
Esempio di input: elimina tutti i file in una cartella specificata (Linux)
- name: DeletingAllFilesInAFolderLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/*
Esempio di input: elimina tutti i file in una cartella specificata (Windows)
- name: DeletingAllFilesInAFolderWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\*
Output
Nessuna.
DeleteFolder
Il modulo di DeleteFolderazione elimina le cartelle.
Se la cartella non è vuota, è necessario impostare l'force
opzione per true
rimuovere la cartella e il suo contenuto. Se non si imposta l'force
opzione su e la cartella che si sta tentando di eliminare non è vuota, il modulo di azione restituisce un errore. true
Il valore predefinito dell'force
opzione èfalse
.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a eseguire operazioni di eliminazione.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso della cartella. | Stringa | Sì | N/D | N/D | Sì |
force |
Rimuove la cartella indipendentemente dal fatto che sia vuota o meno. | Boolean | No | false |
N/D | Sì |
Esempio di input: elimina una cartella che non è vuota usando l'force
opzione (Linux)
- name: DeletingFolderWithForceOptionLinux action: DeleteFolder inputs: - path: /Sample/MyFolder/Sample/ force: true
Esempio di input: elimina una cartella che non è vuota usando l'force
opzione (Windows)
- name: DeletingFolderWithForceOptionWindows action: DeleteFolder inputs: - path: C:\Sample\MyFolder\Sample\ force: true
Esempio di input: eliminare una cartella (Linux)
- name: DeletingFolderWithOutForceLinux action: DeleteFolder inputs: - path: /Sample/MyFolder/Sample/
Esempio di input: eliminare una cartella (Windows)
- name: DeletingFolderWithOutForce action: DeleteFolder inputs: - path: C:\Sample\MyFolder\Sample\
Output
Nessuna.
ListFiles
Il modulo di ListFilesazione elenca i file in una cartella specificata. Quando l'opzione ricorsiva è impostata sutrue
, elenca i file nelle sottocartelle. Per impostazione predefinita, questo modulo non elenca i file nelle sottocartelle.
Per elencare tutti i file con nomi che corrispondono a uno schema specificato, utilizzate l'fileNamePattern
opzione per fornire il modello. L'fileNamePattern
opzione accetta il valore wildcard (*
). Quando fileNamePattern
viene fornito, vengono restituiti tutti i file che corrispondono al formato del nome file specificato.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
La cartella specificata non esiste in fase di esecuzione.
-
Non sei autorizzato a creare un file o una cartella nella cartella principale specificata.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso della cartella. | Stringa | Sì | N/D | N/D | Sì |
fileNamePattern |
Lo schema a cui abbinare elenca tutti i file con nomi che corrispondono al modello. | Stringa | No | N/D | N/D | Sì |
recursive |
Elenca i file nella cartella in modo ricorsivo. | Boolean | No | false |
N/D | Sì |
Esempio di input: elenca i file nella cartella specificata (Linux)
- name: ListingFilesInSampleFolderLinux action: ListFiles inputs: - path: /Sample/MyFolder/Sample
Esempio di input: elenca i file nella cartella specificata (Windows)
- name: ListingFilesInSampleFolderWindows action: ListFiles inputs: - path: C:\Sample\MyFolder\Sample
Esempio di input: elenca i file che terminano con «log» (Linux)
- name: ListingFilesWithEndingWithLogLinux action: ListFiles inputs: - path: /Sample/MyFolder/ fileNamePattern: *log
Esempio di input: elenca i file che terminano con «log» (Windows)
- name: ListingFilesWithEndingWithLogWindows action: ListFiles inputs: - path: C:\Sample\MyFolder\ fileNamePattern: *log
Esempio di input: elenca i file in modo ricorsivo
- name: ListingFilesRecursively action: ListFiles inputs: - path: /Sample/MyFolder/ recursive: true
Nome chiave | Descrizione | Tipo |
---|---|---|
files |
L'elenco dei file. | Stringa |
Esempio di output
{ "files": "/sample1.txt,/sample2.txt,/sample3.txt" }
MoveFile
Il modulo di MoveFileazione sposta i file dall'origine specificata alla destinazione specificata.
Se il file esiste già nella cartella specificata, il modulo di azione, per impostazione predefinita, sovrascrive il file esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false
Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente un file con il nome specificato, il modulo di azione restituirà un errore. false
Questa opzione funziona come il mv
comando in Linux, che per impostazione predefinita sovrascrive.
Il nome del file sorgente può includere un wildcard ()*
. I caratteri jolly sono accettati solo dopo l'ultimo separatore di percorso del file (/
o). \
Se nel nome del file di origine sono inclusi caratteri jolly, tutti i file che corrispondono ai caratteri jolly vengono copiati nella cartella di destinazione. Se desiderate spostare più di un file utilizzando un carattere jolly, l'input dell'destination
opzione deve terminare con un separatore del percorso del file (/
o\
), che indica che l'input di destinazione è una cartella.
Se il nome del file di destinazione è diverso dal nome del file di origine, è possibile specificare il nome del file di destinazione utilizzando l'destination
opzione. Se non si specifica un nome di file di destinazione, il nome del file di origine viene utilizzato per creare il file di destinazione. Qualsiasi testo che segue il separatore (/
o\
) dell'ultimo percorso del file viene considerato come nome del file. Se si desidera utilizzare lo stesso nome di file del file di origine, l'input dell'destination
opzione deve terminare con un separatore di percorso del file (/
o\
).
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a creare un file nella cartella specificata.
-
I file di origine non esistono in fase di esecuzione.
-
Esiste già una cartella con il nome di file specificato e l'
overwrite
opzione è impostata sufalse
. -
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
source |
Il percorso del file sorgente. | Stringa | Sì | N/D | N/D | Sì |
destination |
Il percorso del file di destinazione. | Stringa | Sì | N/D | N/D | Sì |
overwrite |
Se impostato su false, i file di destinazione non verranno sostituiti quando nella posizione specificata è già presente un file con il nome specificato. | Boolean | No | true |
N/D | Sì |
Esempio di input: sposta un file (Linux)
- name: MovingAFileLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt
Esempio di input: sposta un file (Windows)
- name: MovingAFileWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt
Esempio di input: sposta un file usando il nome del file sorgente (Linux)
- name: MovingFileWithSourceFileNameLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/
Esempio di input: sposta un file usando il nome del file sorgente (Windows)
- name: MovingFileWithSourceFileNameWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder
Esempio di input: sposta un file usando un carattere jolly (Linux)
- name: MovingFilesWithWildCardLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Esempio di input: sposta un file usando un carattere jolly (Windows)
- name: MovingFilesWithWildCardWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder
Esempio di input: sposta un file senza sovrascriverlo (Linux)
- name: MovingFilesWithoutOverwriteLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt overwrite: false
Esempio di input: sposta un file senza sovrascriverlo (Windows)
- name: MovingFilesWithoutOverwrite action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt overwrite: false
Output
Nessuna.
MoveFolder
Il modulo di MoveFolderazione sposta le cartelle dall'origine specificata alla destinazione specificata. L'input dell'source
opzione è la cartella da spostare e l'input dell'destination
opzione è la cartella in cui viene spostato il contenuto delle cartelle di origine.
Se la cartella principale di destinazione o l'input dell'destination
opzione non esiste in fase di esecuzione, il comportamento predefinito del modulo consiste nel creare ricorsivamente la cartella nella destinazione specificata.
Se una cartella con la stessa cartella di origine esiste già nella cartella di destinazione, il modulo di azione, per impostazione predefinita, sovrascrive la cartella esistente. È possibile ignorare questo comportamento predefinito impostando l'opzione di sovrascrittura su. false
Quando l'opzione di sovrascrittura è impostata su e nella posizione specificata è già presente una cartella con il nome specificato, il modulo di azione restituirà un errore. false
Il nome della cartella di origine può includere un carattere jolly ()*
. I caratteri jolly sono accettati solo dopo l'ultimo separatore di percorso del file (/
o). \
Se nel nome della cartella di origine sono inclusi caratteri jolly, tutte le cartelle che corrispondono al carattere jolly vengono copiate nella cartella di destinazione. Se desiderate spostare più di una cartella utilizzando un carattere jolly, l'input dell'destination
opzione deve terminare con un separatore del percorso del file (/
o\
), che indica che l'input di destinazione è una cartella.
Se il nome della cartella di destinazione è diverso dal nome della cartella di origine, è possibile specificare il nome della cartella di destinazione utilizzando l'destination
opzione. Se non si specifica un nome per la cartella di destinazione, per creare la cartella di destinazione viene utilizzato il nome della cartella di origine. Qualsiasi testo che segue il separatore (/
o\
) dell'ultimo percorso del file viene considerato come nome della cartella. Se si desidera utilizzare lo stesso nome di cartella della cartella di origine, l'immissione dell'destination
opzione deve terminare con un separatore del percorso del file (/
o\
).
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a creare una cartella nella cartella di destinazione.
-
Le cartelle di origine non esistono in fase di esecuzione.
-
Esiste già una cartella con il nome specificato e l'
overwrite
opzione è impostata sufalse
. -
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
source |
Il percorso della cartella di origine. | Stringa | Sì | N/D | N/D | Sì |
destination |
Il percorso della cartella di destinazione. | Stringa | Sì | N/D | N/D | Sì |
overwrite |
Se impostato su false, le cartelle di destinazione non verranno sostituite se nella posizione specificata è già presente una cartella con il nome specificato. | Boolean | No | true |
N/D | Sì |
Esempio di input: sposta una cartella (Linux)
- name: MovingAFolderLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/destinationFolder
Esempio di input: sposta una cartella (Windows)
- name: MovingAFolderWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SourceFolder destination: C:\MyFolder\destinationFolder
Esempio di input: sposta una cartella usando il nome della cartella di origine (Linux)
- name: MovingFolderWithSourceFolderNameLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/
Esempio di input: sposta una cartella usando il nome della cartella di origine (Windows)
- name: MovingFolderWithSourceFolderNameWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\
Esempio di input: sposta una cartella usando un carattere jolly (Linux)
- name: MovingFoldersWithWildCardLinux action: MoveFolder inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Esempio di input: sposta una cartella usando un carattere jolly (Windows)
- name: MovingFoldersWithWildCardWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\
Esempio di input: sposta una cartella senza sovrascriverla (Linux)
- name: MovingFoldersWithoutOverwriteLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/destinationFolder overwrite: false
Esempio di input: sposta una cartella senza sovrascriverla (Windows)
- name: MovingFoldersWithoutOverwriteWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\destinationFolder overwrite: false
Output
Nessuna.
ReadFile
Il modulo di ReadFileazione legge il contenuto di un file di testo di tipo stringa. Questo modulo può essere utilizzato per leggere il contenuto di un file da utilizzare nei passaggi successivi tramite concatenamento o per leggere i dati nel console.log
file. Se il percorso specificato è un collegamento simbolico, questo modulo restituisce il contenuto del file di destinazione. Questo modulo supporta solo file di testo.
Se il valore di codifica del file è diverso dal valore di codifica predefinito (utf-8
), è possibile specificare il valore di codifica del file utilizzando l'opzione. encoding
Per impostazione predefinita, utf-16
si presume che utilizzino la utf-32
codifica little-endian.
Per impostazione predefinita, questo modulo non può stampare il contenuto del file sul file. console.log
È possibile ignorare questa impostazione impostando la printFileContent
proprietà sutrue
.
Questo modulo può restituire solo il contenuto di un file. Non può analizzare file, come Excel o JSON file.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Il file non esiste in fase di esecuzione.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso del file. | Stringa | Sì | N/D | N/D | Sì |
encoding |
Lo standard di codifica. | Stringa | No | utf8 |
utf8 ,utf-8 ,utf16 ,utf-16 ,utf16-LE , utf-16-LE utf16-BE utf-16-BE ,utf32 ,utf-32 ,utf32-LE , utf-32-LE utf32-BE , e utf-32-BE . Il valore dell'opzione di codifica non fa distinzione tra maiuscole e minuscole. |
Sì |
printFileContent |
Stampa il contenuto del file sul file. console.log |
Boolean | No | false | N/D | Sì. |
Esempio di input: lettura di un file (Linux)
- name: ReadingFileLinux action: ReadFile inputs: - path: /home/UserName/SampleFile.txt
Esempio di input: leggere un file (Windows)
- name: ReadingFileWindows action: ReadFile inputs: - path: C:\Windows\WindowsUpdate.log
Esempio di input: leggere un file e specificare lo standard di codifica
- name: ReadingFileWithFileEncoding action: ReadFile inputs: - path: /FolderName/SampleFile.txt encoding: UTF-32
Esempio di input: leggere un file e stampare sul console.log
file
- name: ReadingFileToConsole action: ReadFile inputs: - path: /home/UserName/SampleFile.txt printFileContent: true
Campo | Descrizione | Tipo |
---|---|---|
content |
Il contenuto del file. | string |
Esempio di output
{ "content" : "The file content" }
SetFileEncoding
Il modulo di SetFileEncodingazione modifica la proprietà di codifica di un file esistente. Questo modulo può convertire la codifica dei file da uno standard utf-8
di codifica specificato. Per impostazione predefinita, utf-16
si presume che sia una codifica little-endian. utf-32
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a eseguire la modifica specificata.
-
Il file non esiste in fase di esecuzione.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso del file. | Stringa | Sì | N/D | N/D | Sì |
encoding |
Lo standard di codifica. | Stringa | No | utf8 |
utf8 ,utf-8 ,utf16 ,utf-16 ,utf16-LE , utf-16-LE utf16-BE utf-16-BE ,utf32 ,utf-32 ,utf32-LE , utf-32-LE utf32-BE , e utf-32-BE . Il valore dell'opzione di codifica non fa distinzione tra maiuscole e minuscole. |
Sì |
Esempio di input: imposta la proprietà di codifica del file
- name: SettingFileEncodingProperty action: SetFileEncoding inputs: - path: /home/UserName/SampleFile.txt encoding: UTF-16
Output
Nessuna.
SetFileOwner
Il modulo di SetFileOwnerazione modifica le proprietà owner
e il group
proprietario di un file esistente. Se il file specificato è un collegamento simbolico, il modulo modifica la owner
proprietà del file sorgente. Questo modulo non è supportato sulle piattaforme Windows.
Questo modulo accetta nomi di utenti e gruppi come input. Se il nome del gruppo non viene fornito, il modulo assegna il proprietario del gruppo del file al gruppo a cui appartiene l'utente.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a eseguire la modifica specificata.
-
Il nome utente o gruppo specificato non esiste in fase di esecuzione.
-
Il file non esiste in fase di esecuzione.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso del file. | Stringa | Sì | N/D | N/D | Non supportato su Windows. |
owner |
Il nome utente. | string | Sì | N/D | N/D | Non supportato su Windows. |
group |
Il nome del gruppo di utenti. | Stringa | No | Il nome del gruppo a cui appartiene l'utente. | N/D | Non supportato su Windows. |
Esempio di input: imposta la proprietà del proprietario del file senza specificare il nome del gruppo di utenti
- name: SettingFileOwnerPropertyNoGroup action: SetFileOwner inputs: - path: /home/UserName/SampleText.txt owner: LinuxUser
Esempio di input: imposta la proprietà del proprietario del file specificando il proprietario e il gruppo di utenti
- name: SettingFileOwnerProperty action: SetFileOwner inputs: - path: /home/UserName/SampleText.txt owner: LinuxUser group: LinuxUserGroup
Output
Nessuna.
SetFolderOwner
Il modulo di SetFolderOwnerazione modifica in modo ricorsivo le proprietà owner
e il group
proprietario di una cartella esistente. Per impostazione predefinita, il modulo può modificare la proprietà di tutti i contenuti di una cartella. È possibile impostare l'recursive
opzione per false
ignorare questo comportamento. Questo modulo non è supportato sulle piattaforme Windows.
Questo modulo accetta nomi di utenti e gruppi come input. Se il nome del gruppo non viene fornito, il modulo assegna il proprietario del gruppo del file al gruppo a cui appartiene l'utente.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a eseguire la modifica specificata.
-
Il nome utente o gruppo specificato non esiste in fase di esecuzione.
-
La cartella non esiste in fase di esecuzione.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso della cartella. | Stringa | Sì | N/D | N/D | Non supportato su Windows. |
owner |
Il nome utente. | string | Sì | N/D | N/D | Non supportato su Windows. |
group |
Il nome del gruppo di utenti. | Stringa | No | Il nome del gruppo a cui appartiene l'utente. | N/D | Non supportato su Windows. |
recursive |
Sostituisce il comportamento predefinito di modifica della proprietà di tutto il contenuto di una cartella quando è impostato su. false |
Boolean | No | true |
N/D | Non supportato in Windows. |
Esempio di input: imposta la proprietà del proprietario della cartella senza specificare il nome del gruppo di utenti
- name: SettingFolderPropertyWithOutGroup action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser
Esempio di input: imposta la proprietà del proprietario della cartella senza sovrascrivere la proprietà di tutti i contenuti di una cartella
- name: SettingFolderPropertyWithOutRecursively action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser recursive: false
Esempio di input: imposta la proprietà di proprietà del file specificando il nome del gruppo di utenti
- name: SettingFolderPropertyWithGroup action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser group: LinuxUserGroup
Output
Nessuna.
SetFilePermissions
Il modulo di SetFilePermissionsazione modifica un permissions
file esistente. Questo modulo non è supportato sulle piattaforme Windows.
L'input per permissions
deve essere un valore di stringa.
Questo modulo di azione può creare un file con i permessi definiti dal valore umask predefinito del sistema operativo. È necessario impostare il umask
valore se si desidera sovrascrivere il valore predefinito.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a eseguire la modifica specificata.
-
Il file non esiste in fase di esecuzione.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso del file. | Stringa | Sì | N/D | N/D | Non supportato su Windows. |
permissions |
Le autorizzazioni relative ai file. | Stringa | Sì | N/D | N/D | Non supportato su Windows. |
Esempio di input: modifica delle autorizzazioni dei file
- name: ModifyingFilePermissions action: SetFilePermissions inputs: - path: /home/UserName/SampleFile.txt permissions: 766
Output
Nessuna.
SetFolderPermissions
Il modulo di SetFolderPermissionsazione modifica ricorsivamente una cartella esistente e tutti i permissions
relativi sottofile e sottocartelle. Per impostazione predefinita, questo modulo può modificare le autorizzazioni per tutti i contenuti della cartella specificata. È possibile impostare l'recursive
opzione per false
ignorare questo comportamento. Questo modulo non è supportato sulle piattaforme Windows.
L'input per permissions
deve essere un valore di stringa.
Questo modulo di azione può modificare le autorizzazioni in base al valore umask predefinito del sistema operativo. È necessario impostare il umask
valore se si desidera sovrascrivere il valore predefinito.
Il modulo di azione restituisce un errore quando si verifica quanto segue:
-
Non sei autorizzato a eseguire la modifica specificata.
-
La cartella non esiste in fase di esecuzione.
-
Il modulo di azione rileva un errore durante l'esecuzione dell'operazione.
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili | Supportato su tutte le piattaforme |
---|---|---|---|---|---|---|
path |
Il percorso della cartella. | Stringa | Sì | N/D | N/D | Non supportato su Windows. |
permissions |
Le autorizzazioni della cartella. | Stringa | Sì | N/D | N/D | Non supportato su Windows. |
recursive |
Sostituisce il comportamento predefinito di modifica delle autorizzazioni per tutto il contenuto di una cartella quando è impostato su. false |
Boolean | No | true |
N/D | Non supportato in Windows. |
Esempio di input: imposta le autorizzazioni per le cartelle
- name: SettingFolderPermissions action: SetFolderPermissions inputs: - path: SampleFolder/ permissions: 0777
Esempio di input: imposta le autorizzazioni per le cartelle senza modificare le autorizzazioni per tutto il contenuto di una cartella
- name: SettingFolderPermissionsNoRecursive action: SetFolderPermissions inputs: - path: /home/UserName/SampleFolder/ permissions: 777 recursive: false
Output
Nessuna.
Azioni di installazione del software
La sezione seguente descrive i moduli di azione che installano o disinstallano il software.
IAMrequisiti
Se il percorso di download dell'installazione è un S3URI, il IAM ruolo associato al profilo dell'istanza deve disporre dell'autorizzazione per eseguire il modulo di S3Download
azione. Per concedere l'autorizzazione richiesta, collega la S3:GetObject
IAM policy al IAM ruolo associato al profilo dell'istanza e specifica il percorso del bucket. Ad esempio,
.arn:aws:s3:::
BucketName
/*
Ingressi complessi MSI
Se le stringhe di input contengono virgolette doppie ("
), è necessario utilizzare uno dei seguenti metodi per garantire che vengano interpretate correttamente:
-
È possibile utilizzare virgolette singole (') all'esterno della stringa, per contenerla, e virgolette doppie («) all'interno della stringa, come illustrato nell'esempio seguente.
properties: COMPANYNAME: '"Acme ""Widgets"" and ""Gizmos."""'
In questo caso, se devi usare un apostrofo all'interno della tua stringa, devi evitarlo. Ciò significa usare un'altra virgoletta singola (') prima dell'apostrofo.
-
Puoi usare le virgolette doppie («) all'esterno della stringa per contenerla. E puoi evitare le virgolette doppie all'interno della stringa, usando il carattere barra rovesciata (
\
), come mostrato nell'esempio seguente.properties: COMPANYNAME: "\"Acme \"\"Widgets\"\" and \"\"Gizmos.\"\"\""
Entrambi questi metodi passano il valore COMPANYNAME="Acme ""Widgets""
and ""Gizmos."""
al msiexec comando.
Moduli di azione per l'installazione del software
Installa MSI
Il modulo di InstallMSI
azione installa un'applicazione Windows utilizzando un MSI file. È possibile specificare il MSI file utilizzando un percorso locale, un oggetto URI S3 o un Web. URL L'opzione di riavvio configura il comportamento di riavvio del sistema.
AWSTOE genera il msiexec comando in base ai parametri di input per il modulo di azione. I valori per i parametri di input path
(posizione MSI del file) e logFile
(posizione del file di registro) devono essere racchiusi tra virgolette («).
I seguenti codici di MSI uscita sono considerati corretti:
-
0 (Successo)
-
1614 (ERROR_ PRODUCT _UNINSTALLED)
-
1641 (riavvio avviato)
-
3010 (riavvio richiesto)
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili |
---|---|---|---|---|---|
path |
Specificate la posizione MSI del file utilizzando uno dei seguenti metodi:
Le espressioni concatenate sono consentite. |
Stringa | Sì | N/D | N/D |
reboot |
Configura il comportamento di riavvio del sistema dopo l'esecuzione corretta del modulo di azione. Impostazioni:
|
Stringa | No | Allow |
Allow, Force, Skip |
logOptions |
Specificate le opzioni da utilizzare per la registrazione MSI dell'installazione. I flag specificati vengono passati all'MSIinstallatore, insieme al parametro della riga di Per ulteriori informazioni sulle opzioni di registro perMSI, vedere Opzioni della riga di comando |
Stringa | No | *VX |
i,w,e,a,r,u,c,m,o,p,v,x,+,!,* |
logFile |
Un percorso assoluto o relativo alla posizione del file di registro. Se il percorso del file di registro non esiste, viene creato. Se il percorso del file di registro non viene fornito, AWSTOE non memorizza il registro di MSI installazione. |
Stringa | No | N/D | N/D |
properties |
MSIregistrazione delle coppie chiave-valore delle proprietà, ad esempio:
Nota: non è consentita la modifica delle seguenti proprietà:
|
Mappa [Stringa] Stringa | No | N/D | N/D |
ignoreAuthenticodeSignatureErrors |
Contrassegna per ignorare gli errori di convalida della firma authenticode per l'installatore specificato nel percorso. Il Get-AuthenticodeSignature comando viene utilizzato per convalidare gli installatori. Impostazioni:
|
Boolean | No | false |
true, false |
allowUnsignedInstaller |
Contrassegno per consentire l'esecuzione del programma di installazione non firmato specificato nel percorso. Il Get-AuthenticodeSignature comando viene utilizzato per convalidare gli installatori. Impostazioni:
|
Boolean | No | false |
true, false |
Esempi
Gli esempi seguenti mostrano le variazioni della sezione di input per il documento del componente, a seconda del percorso di installazione.
Esempio di input: installazione del percorso del documento locale
- name: local-path-install steps: - name: LocalPathInstaller action: InstallMSI inputs: path: C:\sample.msi logFile: C:\msilogs\local-path-install.log logOptions: '*VX' reboot: Allow properties: COMPANYNAME: '"Amazon Web Services"' ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: true
Esempio di input: installazione del percorso Amazon S3
- name: s3-path-install steps: - name: S3PathInstaller action: InstallMSI inputs: path: s3://<bucket-name>/sample.msi logFile: s3-path-install.log reboot: Force ignoreAuthenticodeSignatureErrors: false allowUnsignedInstaller: true
Esempio di input: installazione di un percorso web
- name: web-path-install steps: - name: WebPathInstaller action: InstallMSI inputs: path: https://<some-path>/sample.msi logFile: web-path-install.log reboot: Skip ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: false
Output
Di seguito è riportato un esempio dell'output del modulo di InstallMSI
azione.
{ "logFile": "web-path-install.log", "msiExitCode": 0, "stdout": "" }
Disinstalla MSI
Il modulo di UninstallMSI
azione consente di rimuovere un'applicazione Windows utilizzando un MSI file. È possibile specificare la posizione del MSI file utilizzando un percorso di file locale, un oggetto URI S3 o un WebURL. L'opzione di riavvio configura il comportamento di riavvio del sistema.
AWSTOE genera il msiexec comando in base ai parametri di input per il modulo di azione. La posizione del MSI file (path
) e la posizione del file di registro (logFile
) sono esplicitamente racchiuse tra virgolette doppie («) durante la generazione del msiexec comando.
I seguenti codici di MSI uscita sono considerati validi:
-
0 (Successo)
-
1605 (ERROR_ UNKNOWN _PRODUCT)
-
1614 (ERROR_ _PRODUCT) UNINSTALLED
-
1641 (riavvio avviato)
-
3010 (riavvio richiesto)
Nome chiave | Descrizione | Tipo | Richiesto | Valore predefinito | Valori accettabili |
---|---|---|---|---|---|
path |
Specificate la posizione MSI del file utilizzando uno dei seguenti metodi:
Le espressioni concatenate sono consentite. |
Stringa | Sì | N/D | N/D |
reboot |
Configura il comportamento di riavvio del sistema dopo l'esecuzione corretta del modulo di azione. Impostazioni:
|
Stringa | No | Allow |
Allow, Force, Skip |
logOptions |
Specificate le opzioni da utilizzare per la registrazione MSI dell'installazione. I flag specificati vengono passati all'MSIinstallatore, insieme al parametro della riga di Per ulteriori informazioni sulle opzioni di registro perMSI, vedere Opzioni della riga di comando |
Stringa | No | *VX |
i,w,e,a,r,u,c,m,o,p,v,x,+,!,* |
logFile |
Un percorso assoluto o relativo alla posizione del file di registro. Se il percorso del file di registro non esiste, viene creato. Se il percorso del file di registro non viene fornito, AWSTOE non memorizza il registro di MSI installazione. |
Stringa | No | N/D | N/D |
properties |
MSIregistrazione delle coppie chiave-valore delle proprietà, ad esempio:
Nota: non è consentita la modifica delle seguenti proprietà:
|
Mappa [Stringa] Stringa | No | N/D | N/D |
ignoreAuthenticodeSignatureErrors |
Contrassegna per ignorare gli errori di convalida della firma authenticode per l'installatore specificato nel percorso. Il Get-AuthenticodeSignature comando viene utilizzato per convalidare gli installatori. Impostazioni:
|
Boolean | No | false |
true, false |
allowUnsignedInstaller |
Contrassegno per consentire l'esecuzione del programma di installazione non firmato specificato nel percorso. Il Get-AuthenticodeSignature comando viene utilizzato per convalidare gli installatori. Impostazioni:
|
Boolean | No | false |
true, false |
Esempi
Gli esempi seguenti mostrano le variazioni della sezione di input per il documento del componente, a seconda del percorso di installazione.
Esempio di input: rimuovere l'installazione del percorso del documento locale
- name: local-path-uninstall steps: - name: LocalPathUninstaller action: UninstallMSI inputs: path: C:\sample.msi logFile: C:\msilogs\local-path-uninstall.log logOptions: '*VX' reboot: Allow properties: COMPANYNAME: '"Amazon Web Services"' ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: true
Esempio di input: rimuovere l'installazione del percorso di Amazon S3
- name: s3-path-uninstall steps: - name: S3PathUninstaller action: UninstallMSI inputs: path: s3://<bucket-name>/sample.msi logFile: s3-path-uninstall.log reboot: Force ignoreAuthenticodeSignatureErrors: false allowUnsignedInstaller: true
Esempio di input: rimuovere l'installazione del percorso web
- name: web-path-uninstall steps: - name: WebPathUninstaller action: UninstallMSI inputs: path: https://<some-path>/sample.msi logFile: web-path-uninstall.log reboot: Skip ignoreAuthenticodeSignatureErrors: true allowUnsignedInstaller: false
Output
Di seguito è riportato un esempio dell'output del modulo di UninstallMSI
azione.
{ "logFile": "web-path-uninstall.log", "msiExitCode": 0, "stdout": "" }
Moduli di azione del sistema
La sezione seguente descrive i moduli di azione che eseguono azioni di sistema o aggiornano le impostazioni di sistema.
Moduli di azione del sistema
Riavvio
Il modulo di azione Reboot riavvia l'istanza. Ha un'opzione configurabile per ritardare l'inizio del riavvio. Per impostazione predefinita, delaySeconds
è impostato su0
, il che significa che non vi è alcun ritardo. Il timeout degli step non è supportato per il modulo di azione Reboot, in quanto non si applica al riavvio dell'istanza.
Se l'applicazione viene richiamata dall'agente Systems Manager, consegna il codice di uscita (3010
per Windows, 194
per Linux) all'agente Systems Manager. Systems Manager Agent gestisce il riavvio del sistema come descritto in Riavvio di un'istanza gestita dagli script.
Se l'applicazione viene richiamata sull'host come processo autonomo, salva lo stato di esecuzione corrente, configura un trigger di esecuzione automatica post-riavvio per rieseguire l'applicazione dopo il riavvio e quindi riavvia il sistema.
Trigger di esecuzione automatica dopo il riavvio:
-
Windows. AWSTOE crea una voce di Windows Task Scheduler con un trigger che viene eseguito automaticamente su
SystemStartup
-
Linux. AWSTOE aggiunge un job in crontab che viene eseguito automaticamente dopo il riavvio del sistema.
@reboot /download/path/awstoe run --document s3://bucket/key/doc.yaml
Questo trigger viene eliminato all'avvio dell'applicazione.
Tentativi
Per impostazione predefinita, il numero massimo di tentativi è impostato su Systems ManagerCommandRetryLimit
. Se il numero di riavvii supera il limite di tentativi, l'automazione fallisce. È possibile modificare il limite modificando il file di configurazione dell'agente Systems Manager (Mds.CommandRetryLimit
). Vedere Runtime Configuration
Per utilizzare il modulo di azione Reboot, per le fasi che contengono il riavvio exitcode
(ad esempio,3010
), è necessario eseguire il file binario dell'applicazione come. sudo user
Nome chiave | Descrizione | Tipo | Obbligatorio | Predefinita |
---|---|---|---|---|
delaySeconds |
Ritarda un determinato periodo di tempo prima di iniziare il riavvio. | Numero intero |
No |
|
Esempio di input: fase di riavvio
- name: RebootStep action: Reboot onFailure: Abort maxAttempts: 2 inputs: delaySeconds: 60
Output
Nessuna.
Una volta completato il modulo Reboot, Image Builder passa alla fase successiva della compilazione.
SetRegistry
Il modulo di SetRegistryazione accetta un elenco di input e consente di impostare il valore per la chiave di registro specificata. Se una chiave di registro non esiste, viene creata nel percorso definito. Questa funzionalità si applica solo a Windows.
Nome chiave | Descrizione | Tipo | Richiesto |
---|---|---|---|
path |
Percorso della chiave di registro. | Stringa | Sì |
name |
Nome della chiave di registro. | Stringa | Sì |
value |
Valore della chiave di registro. | String/Number/Array | Sì |
type |
Tipo di valore della chiave di registro. | Stringa | Sì |
Prefissi di percorso supportati
-
HKEY_CLASSES_ROOT / HKCR:
-
HKEY_USERS / HKU:
-
HKEY_LOCAL_MACHINE / HKLM:
-
HKEY_CURRENT_CONFIG / HKCC:
-
HKEY_CURRENT_USER / HKCU:
Tipi supportati
-
BINARY
-
DWORD
-
QWORD
-
SZ
-
EXPAND_SZ
-
MULTI_SZ
Esempio di input: imposta i valori delle chiavi di registro
- name: SetRegistryKeyValues action: SetRegistry maxAttempts: 3 inputs: - path: HKLM:\SOFTWARE\
MySoftWare
name:MyName
value: FirstVersionSoftware type: SZ - path: HKEY_CURRENT_USER\Software\Test name: Version value: 1.1 type: DWORD
Output
Nessuna.
Aggiorna il sistema operativo
Il modulo di azione UpdateOS aggiunge il supporto per l'installazione degli aggiornamenti di Windows e Linux. Installa tutti gli aggiornamenti disponibili per impostazione predefinita. In alternativa, è possibile configurare un elenco di uno o più aggiornamenti specifici per l'installazione del modulo di azione. È inoltre possibile specificare gli aggiornamenti da escludere dall'installazione.
Se vengono forniti entrambi gli elenchi «includi» ed «escludi», l'elenco di aggiornamenti risultante può includere solo quelli elencati nell'elenco «include» che non sono elencati nell'elenco «escludi».
Nota
UpdateOS non supporta Amazon Linux 2023 (AL2023). Ti consigliamo di aggiornare la tua base AMI alla nuova versione fornita con ogni versione. Per altre alternative, consulta Controllare gli aggiornamenti ricevuti dalle versioni principali e secondarie nella Guida per l'utente di Amazon Linux 2023.
-
Windows. Gli aggiornamenti vengono installati dalla fonte degli aggiornamenti configurata sul computer di destinazione.
-
Linux. L'applicazione verifica la presenza del gestore di pacchetti supportato nella piattaforma Linux e utilizza uno dei due
yum
o il gestore diapt-get
pacchetti. Se nessuno dei due è supportato, viene restituito un errore. È necessario disporresudo
delle autorizzazioni per eseguire il modulo di azione UpdateOS. Se non si dispone dellesudo
autorizzazioni, viene restituito.error.Input
Nome chiave | Descrizione | Tipo | Richiesto |
---|---|---|---|
include |
Per Windows, è possibile specificare quanto segue:
Per Linux, è possibile specificare uno o più pacchetti da includere nell'elenco degli aggiornamenti per l'installazione. |
Elenco di stringhe | No |
exclude |
Per Windows, è possibile specificare quanto segue:
Per Linux, è possibile specificare uno o più pacchetti da escludere dall'elenco degli aggiornamenti per l'installazione. |
Elenco di stringhe | No |
Esempio di input: aggiungi il supporto per l'installazione degli aggiornamenti Linux
- name: UpdateMyLinux action: UpdateOS onFailure: Abort maxAttempts: 3 inputs: exclude: - ec2-hibinit-agent
Esempio di input: aggiungere il supporto per l'installazione degli aggiornamenti di Windows
- name: UpdateWindowsOperatingSystem action: UpdateOS onFailure: Abort maxAttempts: 3 inputs: include: - KB1234567 - '*Security*'
Output
Nessuna.