Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aktionsmodule, die vom AWSTOE Komponentenmanager unterstützt werden
Image-Building-Services wie EC2 Image Builder verwenden AWSTOE Aktionsmodule, um die EC2 Instanzen zu konfigurieren, die zum Erstellen und Testen von benutzerdefinierten Computer-Images verwendet werden. In diesem Abschnitt werden die Funktionen häufig verwendeter AWSTOE Aktionsmodule und deren Konfiguration sowie Beispiele beschrieben.
Komponenten werden mit YAML Klartext-Dokumenten erstellt. Weitere Hinweise zur Dokumentensyntax finden Sie unter. Verwenden Sie das AWSTOE Component Document Framework für benutzerdefinierte Komponenten
Anmerkung
Alle Aktionsmodule verwenden dasselbe Konto wie der Systems Manager Manager-Agent, wenn sie ausgeführt werden, was root
unter Linux und NT Authority\SYSTEM
unter Windows der Fall ist.
Der folgende Querverweis kategorisiert Aktionsmodule nach der Art der Aktionen, die sie ausführen.
Allgemeine Ausführung
Datei herunterladen und hochladen
Operationen im Dateisystem
Aktionen zur Softwareinstallation
Systemaktionen
Allgemeine Ausführungsmodule
Der folgende Abschnitt enthält Einzelheiten zu Aktionsmodulen, die Befehle ausführen und den Ausführungsablauf steuern.
Allgemeine Aktionsmodule für die Ausführung
Assert
Das Assert-Aktionsmodul führt Wertvergleiche mit Vergleichsoperatoren oder Logische Operatoren als Eingabe durch. Das Ergebnis des Operatorausdrucks (wahr oder falsch) gibt den allgemeinen Erfolgs- oder Fehlschlagstatus für den Schritt an.
Ergibt der Vergleich oder der Ausdruck des logischen Operators das Ergebnistrue
, wird der Schritt als Success
markiert. Andernfalls ist der Schritt als Failed
markiert. Wenn der Schritt fehlschlägt, entscheidet der onFailure
Parameter über das Ergebnis des Schritts.
Tastenname | Beschreibung | Typ | Erforderlich |
---|---|---|---|
input |
Enthält einen einzelnen Vergleichs- oder logischen Operator. Beachten Sie, dass logische Operatoren mehr als einen Vergleichsoperator enthalten können. | Dies ist je nach Operator variabel | Ja |
Eingabebeispiel: Ein einfacher Vergleich mit dem stringEquals
Vergleichsoperator
In diesem Beispiel wird als ausgewertet. true
- name: StringComparison action: Assert inputs: stringEquals: '2.1.1' value: '{{ validate.ApplicationVersion.outputs.stdout }}'
Eingabebeispiel: Regex-Vergleiche mit dem Vergleichsoperator patternMatches
Diese Beispiele werden alle zu ausgewertet. 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'
Eingabebeispiel: Verschachtelte Vergleiche mit logischen Operatoren und verketteten Variablen
Das folgende Beispiel zeigt verschachtelte Vergleiche mit logischen Operatoren, die Vergleiche mit verketteten Variablen verwenden. Das gibt Assert
an, true
ob eine der folgenden Aussagen zutrifft:
-
Das
ApplicationVersion
ist größer als2.0
und das istCPUArchitecture
gleicharm64
. -
Das
CPUArchitecture
Gleichex86_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 }}'
Ausgabe:
Die Ausgabe von an Assert
ist Erfolg oder Misserfolg des Schritts.
ExecuteBash
Das ExecuteBashAktionsmodul ermöglicht es Ihnen, Bash-Skripte mit Inline-Shell-Code/Befehlen auszuführen. Dieses Modul unterstützt Linux.
Alle Befehle und Anweisungen, die Sie im Befehlsblock angeben, werden in eine Datei konvertiert (zum Beispielinput.sh
) und mit der Bash-Shell ausgeführt. Das Ergebnis der Ausführung der Shell-Datei ist der Exit-Code des Schritts.
Das ExecuteBashModul verarbeitet Systemneustarts, wenn das Skript mit dem Exit-Code beendet wird. 194
Nach der Initiierung führt das Programm eine der folgenden Aktionen aus:
-
Die Anwendung übergibt dem Aufrufer den Exit-Code, wenn er vom Systems Manager Agent ausgeführt wird. Der Systems Manager Agent führt den Systemneustart durch und führt denselben Schritt aus, der den Neustart initiiert hat, wie unter Managed Instance from Scripts neu starten beschrieben.
-
Die Anwendung speichert die aktuellen Daten
executionstate
, konfiguriert einen Neustart-Trigger, um die Anwendung erneut auszuführen, und startet das System neu.
Nach dem Systemneustart führt die Anwendung denselben Schritt aus, der den Neustart initiiert hat. Wenn Sie diese Funktionalität benötigen, müssen Sie idempotente Skripten schreiben, die mehrere Aufrufe desselben Shell-Befehls verarbeiten können.
Tastenname | Beschreibung | Typ | Erforderlich |
---|---|---|---|
commands |
Enthält eine Liste von Anweisungen oder Befehlen, die gemäß der Bash-Syntax ausgeführt werden sollen. Mehrzeilig YAML ist zulässig. | Auflisten | Ja |
Eingabebeispiel: Vor und nach einem Neustart
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
Feld | Beschreibung | Typ |
---|---|---|
stdout |
Standardausgabe der Befehlsausführung. | Zeichenfolge |
Wenn Sie einen Neustart starten und den Exit-Code 194
als Teil des Aktionsmoduls zurückgeben, wird der Build mit demselben Aktionsmodulschritt fortgesetzt, der den Neustart initiiert hat. Wenn Sie einen Neustart ohne den Exit-Code starten, schlägt der Build-Prozess möglicherweise fehl.
Ausgabebeispiel: Vor dem Neustart (zum ersten Mal über das Dokument)
{ “stdout”: “The reboot file does not exist. Creating it and triggering a restart." }
Ausgabebeispiel: Nach dem Neustart (zweites Mal durch das Dokument)
{ “stdout”: “The reboot file exists. Deleting it and exiting with success." }
ExecuteBinary
Das ExecuteBinaryAktionsmodul ermöglicht es Ihnen, Binärdateien mit einer Liste von Befehlszeilenargumenten auszuführen.
Das ExecuteBinaryModul verarbeitet Systemneustarts, wenn die Binärdatei mit dem Exit-Code 194
(Linux) oder 3010
(Windows) beendet wird. In diesem Fall führt das Programm eine der folgenden Aktionen aus:
-
Die Anwendung übergibt dem Aufrufer den Exit-Code, wenn er vom Systems Manager Agent ausgeführt wird. Der Systems Manager Agent übernimmt den Neustart des Systems und führt denselben Schritt aus, der den Neustart initiiert hat, wie unter Managed Instance from Scripts neu starten beschrieben.
-
Die Anwendung speichert den aktuellen Status
executionstate
, konfiguriert einen Neustart-Trigger, um die Anwendung erneut auszuführen, und startet das System neu.
Nach dem Neustart des Systems führt die Anwendung denselben Schritt aus, der den Neustart initiiert hat. Wenn Sie diese Funktionalität benötigen, müssen Sie idempotente Skripten schreiben, die mehrere Aufrufe desselben Shell-Befehls verarbeiten können.
Tastenname | Beschreibung | Typ | Erforderlich |
---|---|---|---|
path |
Der Pfad zur Binärdatei für die Ausführung. | String | Ja |
arguments |
Enthält eine Liste von Befehlszeilenargumenten, die beim Ausführen der Binärdatei verwendet werden sollen. | Liste der Zeichenketten | Nein |
Eingabebeispiel: installieren. NET
- name: "InstallDotnet" action: ExecuteBinary inputs: path: C:\PathTo\dotnet_installer.exe arguments: - /qb - /norestart
Feld | Beschreibung | Typ |
---|---|---|
stdout |
Standardausgabe der Befehlsausführung. | Zeichenfolge |
Output example
{ "stdout": "success" }
ExecuteDocument
Das ExecuteDocumentAktionsmodul bietet Unterstützung für verschachtelte Komponentendokumente, sodass mehrere Komponentendokumente von einem Dokument aus ausgeführt werden. AWSTOE validiert das Dokument, das zur Laufzeit im Eingabeparameter übergeben wird.
Einschränkungen
-
Dieses Aktionsmodul wird einmal ausgeführt. Wiederholungen sind nicht zulässig und es besteht keine Option zum Festlegen von Timeoutlimits. ExecuteDocumentlegt die folgenden Standardwerte fest und gibt einen Fehler zurück, wenn Sie versuchen, sie zu ändern.
-
timeoutSeconds
: -1 -
maxAttempts
: 1
Anmerkung
Sie können diese Werte leer lassen und AWSTOE die Standardwerte verwenden.
-
-
Das Verschachteln von Dokumenten ist bis zu drei Ebenen zulässig, jedoch nicht mehr. Drei Verschachtelungsebenen bedeuten vier Dokumentebenen, da die oberste Ebene nicht verschachtelt ist. In diesem Szenario darf das Dokument der untersten Ebene keine anderen Dokumente aufrufen.
-
Die zyklische Ausführung von Komponentendokumenten ist nicht zulässig. Jedes Dokument, das sich selbst außerhalb eines sich wiederholenden Konstrukts aufruft oder ein anderes Dokument aufruft, das in der aktuellen Ausführungskette weiter oben steht, leitet einen Zyklus ein, der zu einer Endlosschleife führen kann. Wenn eine zyklische Ausführung AWSTOE erkannt wird, stoppt es die Ausführung und zeichnet den Fehler auf.
Wenn ein Komponentendokument versucht, sich selbst oder eines der Komponentendokumente auszuführen, die in der aktuellen Ausführungskette weiter oben stehen, schlägt die Ausführung fehl.
Eingabe
Tastenname | Beschreibung | Typ | Erforderlich |
---|---|---|---|
document |
Pfad des Komponentendokuments. Gültige Optionen sind unter anderem:
|
String | Ja |
document-s3-bucket-owner |
Die Konto-ID des S3-Bucket-Besitzers für den S3-Bucket, in dem Komponentendokumente gespeichert sind. (Empfohlen, wenn Sie S3 URIs in Ihrem Komponentendokument verwenden.) |
String | Nein |
phases |
Phasen, die im Komponentendokument ausgeführt werden sollen, ausgedrückt als kommagetrennte Liste. Wenn keine Phasen angegeben sind, werden alle Phasen ausgeführt. |
String | Nein |
parameters |
Eingabeparameter, die zur Laufzeit als Schlüsselwertpaare an das Komponentendokument übergeben werden. |
Liste der Parameterzuordnungen | Nein |
Eingabe der Parameterzuweisung
Tastenname | Beschreibung | Typ | Erforderlich |
---|---|---|---|
name |
Der Name des Eingabeparameters, der an das Komponentendokument übergeben werden soll, das das ExecuteDocumentAktionsmodul ausführt. |
String | Ja |
value |
Der Wert des Eingabeparameters. |
String | Ja |
Beispiele für die Eingabe
Die folgenden Beispiele zeigen Variationen der Eingaben für Ihr Komponentendokument, abhängig von Ihrem Installationspfad.
Eingabebeispiel: Lokaler Dokumentpfad
# 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
Eingabebeispiel: S3 URI als Dokumentenpfad
# 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
Eingabebeispiel: EC2 Image Builder Builder-Komponente ARN als Dokumentpfad
# 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
Dokumente mithilfe einer ForEach Schleife ausführen
# 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
Verwenden einer For-Schleife zum Ausführen von Dokumenten
# 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 erstellt eine Ausgabedatei, die detailedoutput.json
bei jeder Ausführung aufgerufen wird. Die Datei enthält Details zu jeder Phase und jedem Schritt jedes Komponentendokuments, das während der Ausführung aufgerufen wird. Für das ExecuteDocumentAktionsmodul finden Sie in dem outputs
Feld eine kurze Zusammenfassung der Laufzeit sowie Einzelheiten zu den Phasen, Schritten und Dokumenten, in denen es ausgeführt wird. detailedOutput
{ \"executedStepCount\":1,\"executionId\":\"97054e22-06cc-11ec-9b14-acde48001122\",\"failedStepCount\":0,\"failureMessage\":\"\",\"ignoredFailedStepCount\":0,\"logUrl\":\"\",\"status\":\"success\" }",
Das Ausgabe-Übersichtsobjekt jedes Komponentendokuments enthält die folgenden Details, wie hier gezeigt, mit Beispielwerten:
-
executedStepCount„:1
-
„executionId:"12345a67-89bc-01de-2f34-abcd56789012"
-
failedStepCount„:0
-
"failureMessage":""
-
„ignoredFailedStepAnzahl“ :0
-
"logUrl":""
-
„status“: „erfolgreich“
Ausgabebeispiel
Das folgende Beispiel zeigt die Ausgabe des ExecuteDocumentAktionsmoduls, wenn eine verschachtelte Ausführung stattfindet. In diesem Beispiel führt das main.yaml
Komponentendokument das Komponentendokument erfolgreich aus. Sample-1.yaml
{ "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
Das ExecutePowerShellAktionsmodul ermöglicht es Ihnen, PowerShell Skripts mit Inline-Shell-Code/Befehlen auszuführen. Dieses Modul unterstützt die Windows-Plattform und Windows. PowerShell
Alle im Befehlsblock angegebenen Befehle/Anweisungen werden in eine Skriptdatei konvertiert (z. B.input.ps1
) und unter Windows ausgeführt. PowerShell Das Ergebnis der Ausführung der Shell-Datei ist der Exit-Code.
Das ExecutePowerShellModul verarbeitet Systemneustarts, wenn der Shell-Befehl mit dem Exit-Code von beendet wird. 3010
Nach der Initiierung führt das Programm eine der folgenden Aktionen aus:
-
Übergibt dem Anrufer den Exit-Code, wenn er vom Systems Manager Agent ausgeführt wird. Der Systems Manager Agent führt den Systemneustart durch und führt denselben Schritt aus, der den Neustart initiiert hat, wie unter Managed Instance from Scripts neu starten beschrieben.
-
Speichert den aktuellen Status
executionstate
, konfiguriert einen Neustart-Trigger, um die Anwendung erneut auszuführen, und startet das System neu.
Nach dem Systemneustart führt die Anwendung denselben Schritt aus, der den Neustart initiiert hat. Wenn Sie diese Funktionalität benötigen, müssen Sie idempotente Skripten schreiben, die mehrere Aufrufe desselben Shell-Befehls verarbeiten können.
Tastenname | Beschreibung | Typ | Erforderlich |
---|---|---|---|
commands |
Enthält eine Liste von Anweisungen oder Befehlen, die gemäß der Syntax ausgeführt werden sollen. PowerShell Mehrzeilig YAML ist zulässig. | Liste der Zeichenketten | Ja. Muss |
file |
Enthält den Pfad zu einer PowerShell Skriptdatei. PowerShell wird mit dem -file Befehlszeilenargument gegen diese Datei ausgeführt. Der Pfad muss auf eine .ps1 Datei verweisen. |
String | Ja. Muss |
Eingabebeispiel: Vor und nach einem Neustart
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)
Feld | Beschreibung | Typ |
---|---|---|
stdout |
Standardausgabe der Befehlsausführung. | Zeichenfolge |
Wenn Sie einen Neustart ausführen und den Exit-Code 3010
als Teil des Aktionsmoduls zurückgeben, wird der Build mit demselben Aktionsmodulschritt fortgesetzt, der den Neustart initiiert hat. Wenn Sie einen Neustart ohne den Exit-Code ausführen, schlägt der Build-Prozess möglicherweise fehl.
Ausgabebeispiel: Vor dem Neustart (zum ersten Mal über das Dokument)
{ “stdout”: “The reboot file does not exist. Creating it and triggering a restart." }
Ausgabebeispiel: Nach dem Neustart (zweites Mal durch das Dokument)
{ “stdout”: “The reboot file exists. Deleting it and exiting with success." }
Module zum Herunterladen und Hochladen von Dateien
Der folgende Abschnitt enthält Informationen zu Aktionsmodulen, die Dateien hoch- oder herunterladen.
Laden Sie Aktionsmodule herunter und laden Sie sie hoch
S3 herunterladen
Mit dem S3Download
Aktionsmodul können Sie ein Amazon S3 S3-Objekt oder eine Reihe von Objekten in eine lokale Datei oder einen Ordner herunterladen, den Sie mit dem destination
Pfad angeben. Wenn am angegebenen Speicherort bereits eine Datei vorhanden ist und das overwrite
Flag auf true gesetzt ist, wird die Datei S3Download
überschrieben.
Ihr source
Standort kann auf ein bestimmtes Objekt in Amazon S3 verweisen, oder Sie können ein key prefix mit einem Sternchen als Platzhalter (*
) verwenden, um eine Reihe von Objekten herunterzuladen, die dem Schlüsselpräfixpfad entsprechen. Wenn Sie an Ihrem source
Standort ein key prefix angeben, lädt das S3Download
Aktionsmodul alles herunter, was dem Präfix entspricht (einschließlich Dateien und Ordner). Stellen Sie sicher, dass das key prefix mit einem Schrägstrich endet, gefolgt von einem Sternchen (/*
), damit Sie alles herunterladen, was dem Präfix entspricht. Beispiel:
.s3://my-bucket/my-folder/*
Anmerkung
Alle Ordner im Zielpfad müssen vor dem Herunterladen vorhanden sein, andernfalls schlägt der Download fehl.
Wenn die S3Download
Aktion für ein bestimmtes key prefix während eines Downloads fehlschlägt, wird der Ordnerinhalt nicht auf den Zustand vor dem Fehler zurückgesetzt. Der Zielordner bleibt so, wie er zum Zeitpunkt des Fehlers war.
Unterstützte Anwendungsfälle
Das S3Download
Aktionsmodul unterstützt die folgenden Anwendungsfälle:
-
Das Amazon S3 S3-Objekt wird in einen lokalen Ordner heruntergeladen, wie im Download-Pfad angegeben.
-
Amazon S3 S3-Objekte (mit einem key prefix im Amazon S3 S3-Dateipfad) werden in den angegebenen lokalen Ordner heruntergeladen, der rekursiv alle Amazon S3 S3-Objekte, die dem key prefix entsprechen, in den lokalen Ordner kopiert.
IAMAnforderungen
Die IAM Rolle, die Sie Ihrem Instanzprofil zuordnen, muss über Berechtigungen zum Ausführen des S3Download
Aktionsmoduls verfügen. Die folgenden IAM Richtlinien müssen der IAM Rolle zugewiesen werden, die dem Instanzprofil zugeordnet ist:
-
Einzelne Datei: für
s3:GetObject
den Bucket/das Objekt (z. B.).arn:aws:s3:::
BucketName
/* -
Mehrere Dateien:
s3:ListBucket
gegen den Bucket/das Objekt (zum Beispielarn:aws:s3:::
) undBucketName
s3:GetObject
gegen den Bucket/das Objekt (zum Beispiel).arn:aws:s3:::
BucketName
/*
Schlüssel |
Beschreibung |
Typ |
Erforderlich |
Standard |
---|---|---|---|---|
|
Der Amazon S3 S3-Bucket, der die Quelle für Ihren Download ist. Sie können einen Pfad zu einem bestimmten Objekt angeben oder ein key prefix verwenden, das mit einem Schrägstrich endet, gefolgt von einem Sternchen-Platzhalter ( |
String |
Ja |
N/A |
|
Der lokale Pfad, in den die Amazon S3 S3-Objekte heruntergeladen werden. Um eine einzelne Datei herunterzuladen, müssen Sie den Dateinamen als Teil des Pfads angeben. Beispiel, |
String |
Ja |
N/A |
|
Erwartete Besitzerkonto-ID des im |
String |
Nein |
N/A |
|
Wenn diese Einstellung auf true gesetzt ist und bereits eine Datei mit demselben Namen im Zielordner für den angegebenen lokalen Pfad existiert, überschreibt die Download-Datei die lokale Datei. Wenn der Wert auf false gesetzt ist, ist die vorhandene Datei auf dem lokalen System davor geschützt, überschrieben zu werden, und das Aktionsmodul schlägt mit einem Download-Fehler fehl. Beispiel: |
Boolesch |
Nein |
true |
Anmerkung
In den folgenden Beispielen kann der Windows-Ordnerpfad durch einen Linux-Pfad ersetzt werden.
Kann beispielsweise durch ersetzt werdenC:\myfolder\package.zip
./myfolder/package.zip
Eingabebeispiel: Kopieren Sie ein Amazon S3 S3-Objekt in eine lokale Datei
Das folgende Beispiel zeigt, wie ein Amazon S3 S3-Objekt in eine lokale Datei kopiert wird.
- 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
Eingabebeispiel: Alle Amazon S3 S3-Objekte in einem Amazon S3 S3-Bucket mit key prefix in einen lokalen Ordner kopieren
Das folgende Beispiel zeigt, wie alle Amazon S3 S3-Objekte in einem Amazon S3-Bucket mit dem key prefix in einen lokalen Ordner kopiert werden. Amazon S3 hat kein Ordnerkonzept, daher werden alle Objekte kopiert, die dem key prefix entsprechen. Die maximale Anzahl von Objekten, die heruntergeladen werden können, beträgt 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
Keine.
S3 Upload
Mit dem Aktionsmodul S3Upload können Sie eine Datei aus einer Quelldatei oder einem Quellordner an einen Amazon S3 S3-Speicherort hochladen. Sie können einen Platzhalter (*
) in dem für Ihren Quellspeicherort angegebenen Pfad verwenden, um alle Dateien hochzuladen, deren Pfad dem Platzhaltermuster entspricht.
Wenn die rekursive S3Upload-Aktion fehlschlägt, verbleiben alle Dateien, die bereits hochgeladen wurden, im Amazon S3-Ziel-Bucket.
Unterstützte Anwendungsfälle
-
Lokale Datei zum Amazon S3 S3-Objekt.
-
Lokale Dateien im Ordner (mit Platzhalter) zum Amazon S3 S3-Schlüsselpräfix.
-
Kopieren Sie den lokalen Ordner (muss auf
recurse
eingestellt seintrue
) in das Amazon S3 S3-Schlüsselpräfix.
IAMAnforderungen
Die IAM Rolle, die Sie Ihrem Instanzprofil zuordnen, muss über Berechtigungen zum Ausführen des S3Upload
Aktionsmoduls verfügen. Die folgende IAM Richtlinie muss der IAM Rolle zugewiesen werden, die dem Instanzprofil zugeordnet ist. Die Richtlinie muss dem Amazon S3 S3-Ziel-Bucket s3:PutObject
Berechtigungen gewähren. Beispiel, arn:aws:s3:::
).BucketName
/*
Schlüssel |
Beschreibung |
Typ |
Erforderlich |
Standard |
---|---|---|---|---|
|
Der lokale Pfad, aus dem die Quelldateien/-ordner stammen. Der |
String |
Ja |
N/A |
|
Der Pfad für den Amazon S3-Ziel-Bucket, in den Quelldateien/-ordner hochgeladen werden. |
String |
Ja |
N/A |
|
Wenn auf gesetzt, wird |
String |
Nein |
|
|
Die erwartete Besitzerkonto-ID für den Amazon S3 S3-Bucket, der im Zielpfad angegeben ist. Wir empfehlen Ihnen, die Inhaberschaft des Amazon S3 S3-Buckets zu überprüfen, der im Ziel angegeben ist. |
String |
Nein |
N/A |
Eingabebeispiel: Eine lokale Datei in ein Amazon S3 S3-Objekt kopieren
Das folgende Beispiel zeigt, wie eine lokale Datei in ein Amazon S3 S3-Objekt kopiert wird.
- 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
Eingabebeispiel: Kopieren Sie alle Dateien in einem lokalen Ordner in einen Amazon S3 S3-Bucket mit key prefix
Das folgende Beispiel zeigt, wie Sie alle Dateien im lokalen Ordner in einen Amazon S3 S3-Bucket mit key prefix kopieren. In diesem Beispiel werden keine Unterordner oder deren Inhalt kopiert, da dies nicht angegeben recurse
ist. Die Standardeinstellung ist. false
- name: MyS3UploadMultipleFiles action: S3Upload onFailure: Abort maxAttempts: 3 inputs: - source: C:\
myfolder\*
destination: s3://amzn-s3-demo-destination-bucket/path/to/
expectedBucketOwner:123456789022
Eingabebeispiel: Alle Dateien und Ordner rekursiv von einem lokalen Ordner in einen Amazon S3 S3-Bucket kopieren
Das folgende Beispiel zeigt, wie alle Dateien und Ordner rekursiv von einem lokalen Ordner in einen Amazon S3 S3-Bucket mit key prefix kopiert werden.
- 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
Keine.
WebDownload
Das WebDownloadAktionsmodul ermöglicht es Ihnen, Dateien und Ressourcen über dasHTTP/HTTPS-Protokoll von einem entfernten Standort herunterzuladen (HTTPSwird empfohlen). Es gibt keine Beschränkungen für die Anzahl oder Größe der Downloads. Dieses Modul verarbeitet Wiederholungsversuche und exponentielle Backoff-Logik.
Jedem Download-Vorgang werden je nach Benutzereingabe maximal 5 Versuche zugewiesen, um erfolgreich zu sein. Diese Versuche unterscheiden sich von den im maxAttempts
Dokumentfeld angegebenen Versuchensteps
, die sich auf Fehler im Aktionsmodul beziehen.
Dieses Aktionsmodul verarbeitet implizit Weiterleitungen. Alle HTTP Statuscodes, mit Ausnahme von200
, führen zu einem Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standard |
---|---|---|---|---|
source |
Der gültige WertHTTP/HTTPSURL(HTTPSwird empfohlen), der dem RFC 3986-Standard entspricht. Verkettungsausdrücke sind zulässig. | String |
Ja |
N/A |
destination |
Ein absoluter oder relativer Datei- oder Ordnerpfad auf dem lokalen System. Ordnerpfade müssen mit enden/ . Wenn sie nicht mit enden/ , werden sie als Dateipfade behandelt. Das Modul erstellt alle erforderlichen Dateien oder Ordner für erfolgreiche Downloads. Verkettungsausdrücke sind zulässig. |
String | Ja | N/A |
overwrite |
Wenn diese Option aktiviert ist, werden alle vorhandenen Dateien auf dem lokalen System mit der heruntergeladenen Datei oder Ressource überschrieben. Wenn diese Option nicht aktiviert ist, werden alle vorhandenen Dateien auf dem lokalen System nicht überschrieben, und das Aktionsmodul schlägt mit einem Fehler fehl. Wenn Überschreiben aktiviert ist und Prüfsumme und Algorithmus angegeben sind, lädt das Aktionsmodul die Datei nur herunter, wenn die Prüfsumme und der Hash aller bereits vorhandenen Dateien nicht übereinstimmen. | Boolesch | Nein | true |
checksum |
Wenn Sie die Prüfsumme angeben, wird sie mit dem Hash der heruntergeladenen Datei verglichen, der mit dem mitgelieferten Algorithmus generiert wurde. Damit die Dateiüberprüfung aktiviert werden kann, müssen sowohl die Prüfsumme als auch der Algorithmus angegeben werden. Verkettungsausdrücke sind zulässig. | String | Nein | N/A |
algorithm |
Der zur Berechnung der Prüfsumme verwendete Algorithmus. Die Optionen sindMD5, SHA1SHA256, undSHA512. Damit die Dateiüberprüfung aktiviert werden kann, müssen sowohl die Prüfsumme als auch der Algorithmus angegeben werden. Verkettungsausdrücke sind zulässig. | String | Nein | N/A |
ignoreCertificateErrors |
SSLDie Zertifikatsvalidierung wird ignoriert, wenn sie aktiviert ist. | Boolesch | Nein | false |
Tastenname | Beschreibung | Typ |
---|---|---|
destination |
Zeichenfolge mit Zeilenumbruch, die durch Zeichen getrennt ist und den Zielpfad angibt, in dem die heruntergeladenen Dateien oder Ressourcen gespeichert sind. | String |
Eingabebeispiel: Laden Sie die Remote-Datei in ein lokales Ziel herunter
- name: DownloadRemoteFile action: WebDownload maxAttempts: 3 inputs: - source: https://testdomain/path/to/java14.zip destination: C:\testfolder\package.zip
Ausgabe:
{ "destination": "C:\\testfolder\\package.zip" }
Eingabebeispiel: Laden Sie mehr als eine Remote-Datei an mehr als ein lokales Ziel herunter
- 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/
Ausgabe:
{ "destination": "/tmp/create_new_folder/java14_renamed.zip\n/tmp/create_new_folder_and_add_java14_as_zip/java14.zip" }
Eingabebeispiel: Laden Sie eine Remote-Datei herunter, ohne das lokale Ziel zu überschreiben, und laden Sie eine weitere Remote-Datei mit Dateiüberprüfung herunter
- 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
Ausgabe:
{ "destination": "C:\\create_new_folder\\java14_renamed.zip\nC:\\create_new_folder_and_add_java14_as_zip\\java14.zip" }
Eingabebeispiel: Remote-Datei herunterladen und SSL Zertifizierungsvalidierung ignorieren
- name: DownloadRemoteIgnoreValidation action: WebDownload maxAttempts: 3 inputs: - source: https://www.bad-ssl.com/resource destination: /tmp/downloads/ ignoreCertificateErrors: true
Ausgabe:
{ "destination": "/tmp/downloads/resource" }
Module für den Betrieb des Dateisystems
Der folgende Abschnitt enthält Einzelheiten zu Aktionsmodulen, die Dateisystemoperationen ausführen.
Aktionsmodule für den Betrieb des Dateisystems
AppendFile
Das AppendFileAktionsmodul fügt dem bereits vorhandenen Inhalt einer Datei den angegebenen Inhalt hinzu.
Wenn sich der Dateicodierungswert vom Standardwert encoding (utf-8
) unterscheidet, können Sie den Dateicodierungswert mithilfe der encoding
Option angeben. Standardmäßig wird davon ausgegangen, utf-16
dass utf-32
sie die Little-Endian-Kodierung verwenden.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Die angegebene Datei ist zur Laufzeit nicht vorhanden.
-
Sie haben keine Schreibberechtigungen, um den Dateiinhalt zu ändern.
-
Das Modul stößt während des Dateivorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Dateipfad. | String | Ja | – | N/A | Ja |
content |
Der Inhalt, der an die Datei angehängt werden soll. | String | Nein | Leere Zeichenfolge | N/A | Ja |
encoding |
Der Kodierungsstandard. | String | Nein | 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 , und utf-32-BE . Der Wert der Kodierungsoption unterscheidet nicht zwischen Groß- und Kleinschreibung. |
Ja |
Eingabebeispiel: Datei ohne Kodierung anhängen (Linux)
- name: AppendingFileWithOutEncodingLinux action: AppendFile inputs: - path: ./Sample.txt content: "The string to be appended to the file"
Eingabebeispiel: Datei ohne Kodierung anhängen (Windows)
- name: AppendingFileWithOutEncodingWindows action: AppendFile inputs: - path: C:\MyFolder\MyFile.txt content: "The string to be appended to the file"
Eingabebeispiel: Datei mit Kodierung anhängen (Linux)
- name: AppendingFileWithEncodingLinux action: AppendFile inputs: - path: /FolderName/SampleFile.txt content: "The string to be appended to the file" encoding: UTF-32
Eingabebeispiel: Datei mit Kodierung anhängen (Windows)
- name: AppendingFileWithEncodingWindows action: AppendFile inputs: - path: C:\MyFolderName\SampleFile.txt content: "The string to be appended to the file" encoding: UTF-32
Eingabebeispiel: Datei mit leerer Zeichenfolge anhängen (Linux)
- name: AppendingEmptyStringLinux action: AppendFile inputs: - path: /FolderName/SampleFile.txt
Eingabebeispiel: Datei mit leerer Zeichenfolge anhängen (Windows)
- name: AppendingEmptyStringWindows action: AppendFile inputs: - path: C:\MyFolderName\SampleFile.txt
Output
Keine.
CopyFile
Das CopyFileAktionsmodul kopiert Dateien von der angegebenen Quelle zum angegebenen Ziel. Standardmäßig erstellt das Modul den Zielordner rekursiv, wenn er zur Laufzeit nicht vorhanden ist.
Wenn eine Datei mit dem angegebenen Namen bereits im angegebenen Ordner vorhanden ist, überschreibt das Aktionsmodul standardmäßig die vorhandene Datei. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false
Wenn die Option zum Überschreiben auf false
gesetzt ist und sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück. Diese Option funktioniert genauso wie der cp
Befehl unter Linux, der standardmäßig überschreibt.
Der Name der Quelldatei kann einen Platzhalter () *
enthalten. Platzhalterzeichen werden nur nach dem letzten Dateipfad-Trennzeichen (/
oder\
) akzeptiert. Wenn der Quelldateiname Platzhalterzeichen enthält, werden alle Dateien, die dem Platzhalter entsprechen, in den Zielordner kopiert. Wenn Sie mehr als eine Datei mithilfe eines Platzhalterzeichens verschieben möchten, muss die Eingabe der destination
Option mit einem Dateipfadtrennzeichen (/
oder\
) enden, das angibt, dass es sich bei der Zieleingabe um einen Ordner handelt.
Wenn sich der Zieldateiname vom Quelldateinamen unterscheidet, können Sie den Zieldateinamen mithilfe der destination
Option angeben. Wenn Sie keinen Zieldateinamen angeben, wird der Name der Quelldatei verwendet, um die Zieldatei zu erstellen. Jeder Text, der auf das letzte Dateipfadtrennzeichen (/
oder\
) folgt, wird als Dateiname behandelt. Wenn Sie denselben Dateinamen wie die Quelldatei verwenden möchten, muss die Eingabe der destination
Option mit einem Dateipfadtrennzeichen (/
oder\
) enden.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, eine Datei im angegebenen Ordner zu erstellen.
-
Die Quelldateien sind zur Laufzeit nicht vorhanden.
-
Es gibt bereits einen Ordner mit dem angegebenen Dateinamen und die
overwrite
Option ist auf eingestelltfalse
. -
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
source |
Der Pfad der Quelldatei. | String | Ja | – | N/A | Ja |
destination |
Der Zieldateipfad. | String | Ja | – | N/A | Ja |
overwrite |
Wenn der Wert auf false gesetzt ist, werden die Zieldateien nicht ersetzt, wenn sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet. | Boolesch | Nein | true |
N/A | Ja |
Eingabebeispiel: Eine Datei kopieren (Linux)
- name: CopyingAFileLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt
Eingabebeispiel: Eine Datei kopieren (Windows)
- name: CopyingAFileWindows action: CopyFile inputs: - source: C:\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt
Eingabebeispiel: Kopiert eine Datei unter Verwendung des Quelldateinamens (Linux)
- name: CopyingFileWithSourceFileNameLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/
Eingabebeispiel: Kopieren Sie eine Datei unter Verwendung des Quelldateinamens (Windows)
- name: CopyingFileWithSourceFileNameWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\
Eingabebeispiel: Kopiert eine Datei mit dem Platzhalterzeichen (Linux)
- name: CopyingFilesWithWildCardLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Eingabebeispiel: Kopiert eine Datei mit dem Platzhalterzeichen (Windows)
- name: CopyingFilesWithWildCardWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\
Eingabebeispiel: Eine Datei kopieren, ohne sie zu überschreiben (Linux)
- name: CopyingFilesWithoutOverwriteLinux action: CopyFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt overwrite: false
Eingabebeispiel: Eine Datei kopieren, ohne sie zu überschreiben (Windows)
- name: CopyingFilesWithoutOverwriteWindows action: CopyFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt overwrite: false
Output
Keine.
CopyFolder
Das CopyFolderAktionsmodul kopiert einen Ordner von der angegebenen Quelle zum angegebenen Ziel. Die Eingabe für die source
Option ist der zu kopierende Ordner, und die Eingabe für die destination
Option ist der Ordner, in den der Inhalt des Quellordners kopiert wird. Standardmäßig erstellt das Modul den Zielordner rekursiv, wenn er zur Laufzeit nicht vorhanden ist.
Wenn im angegebenen Ordner bereits ein Ordner mit dem angegebenen Namen vorhanden ist, überschreibt das Aktionsmodul standardmäßig den vorhandenen Ordner. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false
Wenn die Option zum Überschreiben auf false
gesetzt ist und sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück.
Der Name des Quellordners kann einen Platzhalter () *
enthalten. Platzhalterzeichen werden nur nach dem letzten Dateipfad-Trennzeichen (/
oder\
) akzeptiert. Wenn Platzhalterzeichen im Quellordnernamen enthalten sind, werden alle Ordner, die dem Platzhalter entsprechen, in den Zielordner kopiert. Wenn Sie mehr als einen Ordner mithilfe eines Platzhalterzeichens kopieren möchten, muss die Eingabe für die destination
Option mit einem Dateipfadtrennzeichen (/
oder\
) enden, was darauf hinweist, dass es sich bei der Zieleingabe um einen Ordner handelt.
Wenn sich der Name des Zielordners vom Namen des Quellordners unterscheidet, können Sie den Namen des Zielordners mithilfe der destination
Option angeben. Wenn Sie keinen Zielordnernamen angeben, wird der Name des Quellordners verwendet, um den Zielordner zu erstellen. Jeder Text, der auf das letzte Dateipfadtrennzeichen (/
oder\
) folgt, wird als Ordnername behandelt. Wenn Sie denselben Ordnernamen wie den Quellordner verwenden möchten, muss die Eingabe der destination
Option mit einem Dateipfadtrennzeichen (/
oder\
) enden.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, einen Ordner im angegebenen Ordner zu erstellen.
-
Die Quellordner sind zur Laufzeit nicht vorhanden.
-
Es gibt bereits einen Ordner mit dem angegebenen Ordnernamen und die
overwrite
Option ist auf gesetztfalse
. -
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
source |
Der Pfad des Quellordners. | String | Ja | – | N/A | Ja |
destination |
Der Pfad des Zielordners. | String | Ja | – | N/A | Ja |
overwrite |
Wenn der Wert auf False gesetzt ist, werden die Zielordner nicht ersetzt, wenn sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet. | Boolesch | Nein | true |
N/A | Ja |
Eingabebeispiel: Einen Ordner kopieren (Linux)
- name: CopyingAFolderLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/destinationFolder
Eingabebeispiel: Einen Ordner kopieren (Windows)
- name: CopyingAFolderWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\destinationFolder
Eingabebeispiel: Kopieren Sie einen Ordner unter Verwendung des Quellordnernamens (Linux)
- name: CopyingFolderSourceFolderNameLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/
Eingabebeispiel: Kopieren Sie einen Ordner unter Verwendung des Quellordnernamens (Windows)
- name: CopyingFolderSourceFolderNameWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\
Eingabebeispiel: Kopieren Sie einen Ordner mit dem Platzhalterzeichen (Linux)
- name: CopyingFoldersWithWildCardLinux action: CopyFolder inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Eingabebeispiel: Kopieren Sie einen Ordner mit dem Platzhalterzeichen (Windows)
- name: CopyingFoldersWithWildCardWindows action: CopyFolder inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\
Eingabebeispiel: Einen Ordner kopieren, ohne ihn zu überschreiben (Linux)
- name: CopyingFoldersWithoutOverwriteLinux action: CopyFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/destinationFolder overwrite: false
Eingabebeispiel: Einen Ordner kopieren, ohne ihn zu überschreiben (Windows)
- name: CopyingFoldersWithoutOverwrite action: CopyFolder inputs: - source: C:\Sample\MyFolder\SourceFolder destination: C:\MyFolder\destinationFolder overwrite: false
Output
Keine.
CreateFile
Das CreateFileAktionsmodul erstellt eine Datei an einem bestimmten Ort. Standardmäßig erstellt das Modul bei Bedarf auch rekursiv die übergeordneten Ordner.
Wenn die Datei bereits im angegebenen Ordner vorhanden ist, kürzt oder überschreibt das Aktionsmodul standardmäßig die vorhandene Datei. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false
Wenn die Option zum Überschreiben auf false
gesetzt ist und sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück.
Wenn sich der Wert für die Dateikodierung vom Standardwert für die Kodierung (utf-8
) unterscheidet, können Sie den Wert für die Dateikodierung mithilfe der encoding
Option angeben. Standardmäßig wird davon ausgegangen, utf-16
dass utf-32
sie die Little-Endian-Kodierung verwenden.
owner
, und sind group
optionale Eingaben. permissions
Die Eingabe für permissions
muss ein Zeichenkettenwert sein. Dateien werden mit Standardwerten erstellt, wenn sie nicht angegeben werden. Diese Optionen werden auf Windows-Plattformen nicht unterstützt. Dieses Aktionsmodul validiert und gibt einen Fehler zurück, wenn die permissions
Optionen owner
group
, und auf Windows-Plattformen verwendet werden.
Dieses Aktionsmodul kann eine Datei mit Berechtigungen erstellen, die durch den umask
Standardwert des Betriebssystems definiert sind. Sie müssen den umask
Wert festlegen, wenn Sie den Standardwert überschreiben möchten.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, eine Datei oder einen Ordner im angegebenen übergeordneten Ordner zu erstellen.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Dateipfad. | String | Ja | – | N/A | Ja |
content |
Der Textinhalt der Datei. | String | Nein | N/A | N/A | Ja |
encoding |
Der Kodierungsstandard. | String | Nein | 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 , und utf-32-BE . Der Wert der Kodierungsoption unterscheidet nicht zwischen Groß- und Kleinschreibung. |
Ja |
owner |
Der Benutzername oder die ID. | String | Nein | N/A | N/A | Wird unter Windows nicht unterstützt. |
group |
Der Gruppenname oder die ID. | String | Nein | Der aktuelle Benutzer. | N/A | Wird unter Windows nicht unterstützt. |
permissions |
Die Dateiberechtigungen. | String | Nein | 0666 |
N/A | Wird unter Windows nicht unterstützt. |
overwrite |
Wenn der Name der angegebenen Datei bereits existiert, wird durch das Einstellen dieses Werts auf false verhindert, dass die Datei standardmäßig gekürzt oder überschrieben wird. |
Boolesch | Nein | true |
N/A | Ja |
Eingabebeispiel: Eine Datei ohne Überschreiben erstellen (Linux)
- name: CreatingFileWithoutOverwriteLinux action: CreateFile inputs: - path: /home/UserName/Sample.txt content: The text content of the sample file. overwrite: false
Eingabebeispiel: Erstellen Sie eine Datei ohne Überschreiben (Windows)
- name: CreatingFileWithoutOverwriteWindows action: CreateFile inputs: - path: C:\Temp\Sample.txt content: The text content of the sample file. overwrite: false
Eingabebeispiel: Erstellen Sie eine Datei mit Dateieigenschaften
- 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
Eingabebeispiel: Erstellen Sie eine Datei ohne Dateieigenschaften
- name: CreatingFileWithoutFileProperties action: CreateFile inputs: - path: ./Sample.txt - path: Sample1.txt
Eingabebeispiel: Erstellen Sie eine leere Datei, um einen Abschnitt im Linux-Bereinigungsskript zu überspringen
- name: CreateSkipCleanupfile action: CreateFile inputs: - path:
<skip section file name>
Weitere Informationen finden Sie unter Überschreiben Sie das Linux-Bereinigungsskript
Output
Keine.
CreateFolder
Das CreateFolderAktionsmodul erstellt einen Ordner an einem bestimmten Ort. Standardmäßig erstellt das Modul bei Bedarf auch rekursiv die übergeordneten Ordner.
Wenn der Ordner bereits im angegebenen Ordner vorhanden ist, kürzt oder überschreibt das Aktionsmodul standardmäßig den vorhandenen Ordner. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false
Wenn die Option zum Überschreiben auf false
gesetzt ist und sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück.
owner
group
, und permissions
sind optionale Eingaben. Die Eingabe für permissions
muss ein Zeichenkettenwert sein. Diese Optionen werden auf Windows-Plattformen nicht unterstützt. Dieses Aktionsmodul validiert und gibt einen Fehler zurück, wenn die permissions
Optionen owner
group
, und auf Windows-Plattformen verwendet werden.
Dieses Aktionsmodul kann einen Ordner mit Berechtigungen erstellen, die durch den umask
Standardwert des Betriebssystems definiert sind. Sie müssen den umask
Wert festlegen, wenn Sie den Standardwert überschreiben möchten.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, einen Ordner am angegebenen Speicherort zu erstellen.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Ordnerpfad. | String | Ja | – | N/A | Ja |
owner |
Der Benutzername oder die ID. | String | Nein | Der aktuelle Benutzer. | N/A | Wird unter Windows nicht unterstützt. |
group |
Der Gruppenname oder die ID. | String | Nein | Die Gruppe des aktuellen Benutzers. | N/A | Wird unter Windows nicht unterstützt. |
permissions |
Die Ordnerberechtigungen. | String | Nein | 0777 |
N/A | Wird unter Windows nicht unterstützt. |
overwrite |
Wenn der Name der angegebenen Datei bereits existiert, wird durch das Einstellen dieses Werts auf false verhindert, dass die Datei standardmäßig gekürzt oder überschrieben wird. |
Boolesch | Nein | true |
N/A | Ja |
Eingabebeispiel: Erstellen Sie einen Ordner (Linux)
- name: CreatingFolderLinux action: CreateFolder inputs: - path: /Sample/MyFolder/
Eingabebeispiel: Erstellen Sie einen Ordner (Windows)
- name: CreatingFolderWindows action: CreateFolder inputs: - path: C:\MyFolder
Eingabebeispiel: Erstellen Sie einen Ordner, in dem die Ordnereigenschaften angegeben sind
- name: CreatingFolderWithFolderProperties action: CreateFolder inputs: - path: /Sample/MyFolder/Sample/ owner: SampleOwnerName group: SampleGroupName permissions: 0777 - path: /Sample/MyFolder/SampleFoler/ permissions: 777
Eingabebeispiel: Erstellen Sie einen Ordner, der den vorhandenen Ordner überschreibt, falls es einen gibt.
- name: CreatingFolderWithOverwrite action: CreateFolder inputs: - path: /Sample/MyFolder/Sample/ overwrite: true
Output
Keine.
CreateSymlink
Das CreateSymlinkAktionsmodul erstellt symbolische Links oder Dateien, die einen Verweis auf eine andere Datei enthalten. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.
Die Eingabe für die target
Optionen path
und kann entweder ein absoluter oder ein relativer Pfad sein. Handelt es sich bei der Eingabe für die path
Option um einen relativen Pfad, wird dieser bei der Erstellung des Links durch den absoluten Pfad ersetzt.
Wenn ein Link mit dem angegebenen Namen bereits im angegebenen Ordner vorhanden ist, gibt das Aktionsmodul standardmäßig einen Fehler zurück. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die force
Option auf setzentrue
. Wenn die force
Option auf gesetzt isttrue
, überschreibt das Modul den vorhandenen Link.
Wenn kein übergeordneter Ordner vorhanden ist, erstellt das Aktionsmodul den Ordner standardmäßig rekursiv.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Die Zieldatei ist zur Laufzeit nicht vorhanden.
-
Eine nichtsymbolische Linkdatei mit dem angegebenen Namen ist bereits vorhanden.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Dateipfad. | String | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
target |
Der Zieldateipfad, auf den der symbolische Link verweist. | String | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
force |
Erzwingt die Erstellung eines Links, wenn bereits ein Link mit demselben Namen vorhanden ist. | Boolesch | Nein | false |
N/A | Wird unter Windows nicht unterstützt. |
Eingabebeispiel: Erstellen Sie einen symbolischen Link, der die Erstellung eines Links erzwingt
- name: CreatingSymbolicLinkWithForce action: CreateSymlink inputs: - path: /Folder2/Symboliclink.txt target: /Folder/Sample.txt force: true
Eingabebeispiel: Erstellen Sie einen symbolischen Link, der die Erstellung eines Links nicht erzwingt
- name: CreatingSymbolicLinkWithOutForce action: CreateSymlink inputs: - path: Symboliclink.txt target: /Folder/Sample.txt
Output
Keine.
DeleteFile
Das DeleteFileAktionsmodul löscht eine oder mehrere Dateien an einem bestimmten Ort.
Die Eingabe von path
sollte ein gültiger Dateipfad oder ein Dateipfad mit einem Platzhalterzeichen (*
) im Dateinamen sein. Wenn Platzhalterzeichen im Dateinamen angegeben werden, werden alle Dateien innerhalb desselben Ordners, die dem Platzhalter entsprechen, gelöscht.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, Löschvorgänge durchzuführen.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Dateipfad. | String | Ja | – | N/A | Ja |
Eingabebeispiel: Eine einzelne Datei löschen (Linux)
- name: DeletingSingleFileLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/Sample.txt
Eingabebeispiel: Eine einzelne Datei löschen (Windows)
- name: DeletingSingleFileWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\Sample.txt
Eingabebeispiel: Lösche eine Datei, die mit „log“ endet (Linux)
- name: DeletingFileEndingWithLogLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/*log
Eingabebeispiel: Lösche eine Datei, die mit „log“ endet (Windows)
- name: DeletingFileEndingWithLogWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\*log
Eingabebeispiel: lösche alle Dateien in einem angegebenen Ordner (Linux)
- name: DeletingAllFilesInAFolderLinux action: DeleteFile inputs: - path: /SampleFolder/MyFolder/*
Eingabebeispiel: lösche alle Dateien in einem angegebenen Ordner (Windows)
- name: DeletingAllFilesInAFolderWindows action: DeleteFile inputs: - path: C:\SampleFolder\MyFolder\*
Output
Keine.
DeleteFolder
Das DeleteFolderAktionsmodul löscht Ordner.
Wenn der Ordner nicht leer ist, müssen Sie die force
Option auf setzen, true
um den Ordner und seinen Inhalt zu entfernen. Wenn Sie die force
Option nicht auf setzen und der Ordnertrue
, den Sie löschen möchten, nicht leer ist, gibt das Aktionsmodul einen Fehler zurück. Der Standardwert der force
Option istfalse
.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, Löschvorgänge durchzuführen.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Ordnerpfad. | String | Ja | – | N/A | Ja |
force |
Löscht den Ordner, unabhängig davon, ob der Ordner leer ist oder nicht. | Boolesch | Nein | false |
N/A | Ja |
Eingabebeispiel: Löschen Sie einen Ordner, der nicht leer ist, mit der force
Option (Linux)
- name: DeletingFolderWithForceOptionLinux action: DeleteFolder inputs: - path: /Sample/MyFolder/Sample/ force: true
Eingabebeispiel: Löschen Sie einen Ordner, der nicht leer ist, mit der force
Option (Windows)
- name: DeletingFolderWithForceOptionWindows action: DeleteFolder inputs: - path: C:\Sample\MyFolder\Sample\ force: true
Eingabebeispiel: einen Ordner löschen (Linux)
- name: DeletingFolderWithOutForceLinux action: DeleteFolder inputs: - path: /Sample/MyFolder/Sample/
Eingabebeispiel: einen Ordner löschen (Windows)
- name: DeletingFolderWithOutForce action: DeleteFolder inputs: - path: C:\Sample\MyFolder\Sample\
Output
Keine.
ListFiles
Das ListFilesAktionsmodul listet die Dateien in einem angegebenen Ordner auf. Wenn die Option rekursiv auf gesetzt isttrue
, listet sie die Dateien in Unterordnern auf. Dieses Modul listet standardmäßig keine Dateien in Unterordnern auf.
Um alle Dateien aufzulisten, deren Namen einem bestimmten Muster entsprechen, verwenden Sie die fileNamePattern
Option zur Angabe des Musters. Die fileNamePattern
Option akzeptiert den Platzhalterwert (*
). Wenn der angegeben fileNamePattern
ist, werden alle Dateien zurückgegeben, die dem angegebenen Dateinamenformat entsprechen.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Der angegebene Ordner ist zur Laufzeit nicht vorhanden.
-
Sie sind nicht berechtigt, eine Datei oder einen Ordner im angegebenen übergeordneten Ordner zu erstellen.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Ordnerpfad. | String | Ja | – | N/A | Ja |
fileNamePattern |
Das Muster, das abgeglichen werden soll, um alle Dateien aufzulisten, deren Namen dem Muster entsprechen. | String | Nein | N/A | N/A | Ja |
recursive |
Listet die Dateien im Ordner rekursiv auf. | Boolesch | Nein | false |
N/A | Ja |
Eingabebeispiel: listet Dateien im angegebenen Ordner auf (Linux)
- name: ListingFilesInSampleFolderLinux action: ListFiles inputs: - path: /Sample/MyFolder/Sample
Eingabebeispiel: Dateien im angegebenen Ordner auflisten (Windows)
- name: ListingFilesInSampleFolderWindows action: ListFiles inputs: - path: C:\Sample\MyFolder\Sample
Eingabebeispiel: listet Dateien auf, die mit „log“ enden (Linux)
- name: ListingFilesWithEndingWithLogLinux action: ListFiles inputs: - path: /Sample/MyFolder/ fileNamePattern: *log
Eingabebeispiel: listet Dateien auf, die mit „log“ enden (Windows)
- name: ListingFilesWithEndingWithLogWindows action: ListFiles inputs: - path: C:\Sample\MyFolder\ fileNamePattern: *log
Eingabebeispiel: Dateien rekursiv auflisten
- name: ListingFilesRecursively action: ListFiles inputs: - path: /Sample/MyFolder/ recursive: true
Tastenname | Beschreibung | Typ |
---|---|---|
files |
Die Liste der Dateien. | String |
Output example
{ "files": "/sample1.txt,/sample2.txt,/sample3.txt" }
MoveFile
Das MoveFileAktionsmodul verschiebt Dateien von der angegebenen Quelle zum angegebenen Ziel.
Wenn die Datei bereits im angegebenen Ordner vorhanden ist, überschreibt das Aktionsmodul standardmäßig die vorhandene Datei. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false
Wenn die Option zum Überschreiben auf false
gesetzt ist und sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück. Diese Option funktioniert genauso wie der mv
Befehl unter Linux, der standardmäßig überschreibt.
Der Name der Quelldatei kann einen Platzhalter () *
enthalten. Platzhalterzeichen werden nur nach dem letzten Dateipfad-Trennzeichen (/
oder\
) akzeptiert. Wenn der Quelldateiname Platzhalterzeichen enthält, werden alle Dateien, die dem Platzhalter entsprechen, in den Zielordner kopiert. Wenn Sie mehr als eine Datei mithilfe eines Platzhalterzeichens verschieben möchten, muss die Eingabe der destination
Option mit einem Dateipfadtrennzeichen (/
oder\
) enden, das angibt, dass es sich bei der Zieleingabe um einen Ordner handelt.
Wenn sich der Zieldateiname vom Quelldateinamen unterscheidet, können Sie den Zieldateinamen mithilfe der destination
Option angeben. Wenn Sie keinen Zieldateinamen angeben, wird der Name der Quelldatei verwendet, um die Zieldatei zu erstellen. Jeder Text, der auf das letzte Dateipfadtrennzeichen (/
oder\
) folgt, wird als Dateiname behandelt. Wenn Sie denselben Dateinamen wie die Quelldatei verwenden möchten, muss die Eingabe der destination
Option mit einem Dateipfadtrennzeichen (/
oder\
) enden.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, eine Datei im angegebenen Ordner zu erstellen.
-
Die Quelldateien sind zur Laufzeit nicht vorhanden.
-
Es gibt bereits einen Ordner mit dem angegebenen Dateinamen und die
overwrite
Option ist auf eingestelltfalse
. -
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
source |
Der Pfad der Quelldatei. | String | Ja | – | N/A | Ja |
destination |
Der Zieldateipfad. | String | Ja | – | N/A | Ja |
overwrite |
Wenn der Wert auf false gesetzt ist, werden die Zieldateien nicht ersetzt, wenn sich am angegebenen Speicherort bereits eine Datei mit dem angegebenen Namen befindet. | Boolesch | Nein | true |
N/A | Ja |
Eingabebeispiel: Eine Datei verschieben (Linux)
- name: MovingAFileLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt
Eingabebeispiel: Eine Datei verschieben (Windows)
- name: MovingAFileWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt
Eingabebeispiel: Verschieben Sie eine Datei unter Verwendung des Quelldateinamens (Linux)
- name: MovingFileWithSourceFileNameLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/
Eingabebeispiel: Verschieben Sie eine Datei unter Verwendung des Quelldateinamens (Windows)
- name: MovingFileWithSourceFileNameWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder
Eingabebeispiel: Verschieben Sie eine Datei mit einem Platzhalterzeichen (Linux)
- name: MovingFilesWithWildCardLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Eingabebeispiel: Verschieben Sie eine Datei mit einem Platzhalterzeichen (Windows)
- name: MovingFilesWithWildCardWindows action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder
Eingabebeispiel: Eine Datei verschieben, ohne sie zu überschreiben (Linux)
- name: MovingFilesWithoutOverwriteLinux action: MoveFile inputs: - source: /Sample/MyFolder/Sample.txt destination: /MyFolder/destinationFile.txt overwrite: false
Eingabebeispiel: Eine Datei verschieben, ohne sie zu überschreiben (Windows)
- name: MovingFilesWithoutOverwrite action: MoveFile inputs: - source: C:\Sample\MyFolder\Sample.txt destination: C:\MyFolder\destinationFile.txt overwrite: false
Output
Keine.
MoveFolder
Das MoveFolderAktionsmodul verschiebt Ordner von der angegebenen Quelle zum angegebenen Ziel. Die Eingabe für die source
Option ist der Ordner, der verschoben werden soll, und die Eingabe für die destination
Option ist der Ordner, in den der Inhalt der Quellordner verschoben wird.
Wenn der übergeordnete Zielordner oder die Eingabe für die destination
Option zur Laufzeit nicht vorhanden sind, besteht das Standardverhalten des Moduls darin, den Ordner rekursiv am angegebenen Ziel zu erstellen.
Wenn im Zielordner bereits ein Ordner vorhanden ist, der mit dem Quellordner identisch ist, überschreibt das Aktionsmodul standardmäßig den vorhandenen Ordner. Sie können dieses Standardverhalten außer Kraft setzen, indem Sie die Option Überschreiben auf setzen. false
Wenn die Option zum Überschreiben auf false
gesetzt ist und sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet, gibt das Aktionsmodul einen Fehler zurück.
Der Name des Quellordners kann einen Platzhalter () *
enthalten. Platzhalterzeichen werden nur nach dem letzten Dateipfad-Trennzeichen (/
oder\
) akzeptiert. Wenn Platzhalterzeichen im Quellordnernamen enthalten sind, werden alle Ordner, die dem Platzhalter entsprechen, in den Zielordner kopiert. Wenn Sie mehr als einen Ordner mithilfe eines Platzhalterzeichens verschieben möchten, muss die Eingabe für die destination
Option mit einem Dateipfadtrennzeichen (/
oder\
) enden, was darauf hinweist, dass es sich bei der Zieleingabe um einen Ordner handelt.
Wenn sich der Name des Zielordners vom Namen des Quellordners unterscheidet, können Sie den Namen des Zielordners mithilfe der destination
Option angeben. Wenn Sie keinen Zielordnernamen angeben, wird der Name des Quellordners verwendet, um den Zielordner zu erstellen. Jeder Text, der auf das letzte Dateipfadtrennzeichen (/
oder\
) folgt, wird als Ordnername behandelt. Wenn Sie denselben Ordnernamen wie den Quellordner verwenden möchten, muss die Eingabe der destination
Option mit einem Dateipfadtrennzeichen (/
oder\
) enden.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, einen Ordner im Zielordner zu erstellen.
-
Die Quellordner sind zur Laufzeit nicht vorhanden.
-
Es gibt bereits einen Ordner mit dem angegebenen Namen und die
overwrite
Option ist auf gesetztfalse
. -
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
source |
Der Pfad des Quellordners. | String | Ja | – | N/A | Ja |
destination |
Der Pfad des Zielordners. | String | Ja | – | N/A | Ja |
overwrite |
Wenn der Wert auf False gesetzt ist, werden die Zielordner nicht ersetzt, wenn sich am angegebenen Speicherort bereits ein Ordner mit dem angegebenen Namen befindet. | Boolesch | Nein | true |
N/A | Ja |
Eingabebeispiel: Einen Ordner verschieben (Linux)
- name: MovingAFolderLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SourceFolder destination: /MyFolder/destinationFolder
Eingabebeispiel: Einen Ordner verschieben (Windows)
- name: MovingAFolderWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SourceFolder destination: C:\MyFolder\destinationFolder
Eingabebeispiel: Verschieben Sie einen Ordner unter Verwendung des Quellordnernamens (Linux)
- name: MovingFolderWithSourceFolderNameLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/
Eingabebeispiel: Verschieben Sie einen Ordner mit dem Namen des Quellordners (Windows)
- name: MovingFolderWithSourceFolderNameWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\
Eingabebeispiel: Verschieben Sie einen Ordner mithilfe eines Platzhalterzeichens (Linux)
- name: MovingFoldersWithWildCardLinux action: MoveFolder inputs: - source: /Sample/MyFolder/Sample* destination: /MyFolder/
Eingabebeispiel: Verschieben Sie einen Ordner mithilfe eines Platzhalterzeichens (Windows)
- name: MovingFoldersWithWildCardWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\Sample* destination: C:\MyFolder\
Eingabebeispiel: Einen Ordner verschieben, ohne ihn zu überschreiben (Linux)
- name: MovingFoldersWithoutOverwriteLinux action: MoveFolder inputs: - source: /Sample/MyFolder/SampleFolder destination: /MyFolder/destinationFolder overwrite: false
Eingabebeispiel: Einen Ordner verschieben, ohne ihn zu überschreiben (Windows)
- name: MovingFoldersWithoutOverwriteWindows action: MoveFolder inputs: - source: C:\Sample\MyFolder\SampleFolder destination: C:\MyFolder\destinationFolder overwrite: false
Output
Keine.
ReadFile
Das ReadFileAktionsmodul liest den Inhalt einer Textdatei vom Typ Zeichenfolge. Dieses Modul kann verwendet werden, um den Inhalt einer Datei zur Verwendung in nachfolgenden Schritten durch Verkettung oder zum Lesen von Daten in die console.log
Datei zu lesen. Wenn der angegebene Pfad ein symbolischer Link ist, gibt dieses Modul den Inhalt der Zieldatei zurück. Dieses Modul unterstützt nur Textdateien.
Wenn sich der Dateicodierungswert vom Standardwert encoding (utf-8
) unterscheidet, können Sie den Dateicodierungswert mithilfe der encoding
Option angeben. Standardmäßig wird davon ausgegangen, utf-16
dass utf-32
sie die Little-Endian-Kodierung verwenden.
Standardmäßig kann dieses Modul den Dateiinhalt nicht in die Datei drucken. console.log
Sie können diese Einstellung überschreiben, indem Sie die printFileContent
Eigenschaft auf setzentrue
.
Dieses Modul kann nur den Inhalt einer Datei zurückgeben. Es kann keine Dateien wie Excel oder JSON Dateien analysieren.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Die Datei ist zur Laufzeit nicht vorhanden.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Dateipfad. | String | Ja | – | N/A | Ja |
encoding |
Der Kodierungsstandard. | String | Nein | 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 , und utf-32-BE . Der Wert der Kodierungsoption unterscheidet nicht zwischen Groß- und Kleinschreibung. |
Ja |
printFileContent |
Druckt den Dateiinhalt in die console.log Datei. |
Boolesch | Nein | false | N/A | Ja. |
Eingabebeispiel: Eine Datei lesen (Linux)
- name: ReadingFileLinux action: ReadFile inputs: - path: /home/UserName/SampleFile.txt
Eingabebeispiel: eine Datei lesen (Windows)
- name: ReadingFileWindows action: ReadFile inputs: - path: C:\Windows\WindowsUpdate.log
Eingabebeispiel: Eine Datei lesen und den Kodierungsstandard angeben
- name: ReadingFileWithFileEncoding action: ReadFile inputs: - path: /FolderName/SampleFile.txt encoding: UTF-32
Eingabebeispiel: Eine Datei lesen und in die console.log
Datei drucken
- name: ReadingFileToConsole action: ReadFile inputs: - path: /home/UserName/SampleFile.txt printFileContent: true
Feld | Beschreibung | Typ |
---|---|---|
content |
Der Inhalt der Datei. | Zeichenfolge |
Output example
{ "content" : "The file content" }
SetFileEncoding
Das SetFileEncodingAktionsmodul ändert die Kodierungseigenschaft einer vorhandenen Datei. Dieses Modul kann die Dateikodierung von utf-8
zu einem bestimmten Kodierungsstandard konvertieren. Standardmäßig wird davon ausgegangen, utf-16
dass utf-32
es sich um Little-Endian-Kodierung handelt.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.
-
Die Datei ist zur Laufzeit nicht vorhanden.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Dateipfad. | String | Ja | – | N/A | Ja |
encoding |
Der Kodierungsstandard. | String | Nein | 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 , und utf-32-BE . Der Wert der Kodierungsoption unterscheidet nicht zwischen Groß- und Kleinschreibung. |
Ja |
Eingabebeispiel: Legen Sie die Eigenschaft für die Dateikodierung fest
- name: SettingFileEncodingProperty action: SetFileEncoding inputs: - path: /home/UserName/SampleFile.txt encoding: UTF-16
Output
Keine.
SetFileOwner
Das SetFileOwnerAktionsmodul ändert die Eigenschaften owner
und group
Eigentümer einer vorhandenen Datei. Wenn es sich bei der angegebenen Datei um einen symbolischen Link handelt, ändert das Modul die owner
Eigenschaft der Quelldatei. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.
Dieses Modul akzeptiert Benutzer- und Gruppennamen als Eingaben. Wenn der Gruppenname nicht angegeben wird, weist das Modul den Gruppeneigentümer der Datei der Gruppe zu, zu der der Benutzer gehört.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.
-
Der angegebene Benutzer- oder Gruppenname ist zur Laufzeit nicht vorhanden.
-
Die Datei ist zur Laufzeit nicht vorhanden.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Dateipfad. | String | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
owner |
Der Benutzername | Zeichenfolge | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
group |
Der Name der Benutzergruppe. | String | Nein | Der Name der Gruppe, zu der der Benutzer gehört. | N/A | Wird unter Windows nicht unterstützt. |
Eingabebeispiel: Legen Sie die Eigenschaft des Dateibesitzers fest, ohne den Namen der Benutzergruppe anzugeben
- name: SettingFileOwnerPropertyNoGroup action: SetFileOwner inputs: - path: /home/UserName/SampleText.txt owner: LinuxUser
Eingabebeispiel: Legen Sie die Eigenschaft des Dateibesitzers fest, indem Sie den Eigentümer und die Benutzergruppe angeben
- name: SettingFileOwnerProperty action: SetFileOwner inputs: - path: /home/UserName/SampleText.txt owner: LinuxUser group: LinuxUserGroup
Output
Keine.
SetFolderOwner
Das SetFolderOwnerAktionsmodul ändert rekursiv die Eigenschaften owner
und group
Eigentümer eines vorhandenen Ordners. Standardmäßig kann das Modul die Eigentümerschaft für den gesamten Inhalt eines Ordners ändern. Sie können die recursive
Option auf setzen, false
um dieses Verhalten zu überschreiben. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.
Dieses Modul akzeptiert Benutzer- und Gruppennamen als Eingaben. Wenn der Gruppenname nicht angegeben wird, weist das Modul den Gruppeneigentümer der Datei der Gruppe zu, zu der der Benutzer gehört.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.
-
Der angegebene Benutzer- oder Gruppenname ist zur Laufzeit nicht vorhanden.
-
Der Ordner ist zur Laufzeit nicht vorhanden.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Ordnerpfad. | String | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
owner |
Der Benutzername | Zeichenfolge | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
group |
Der Name der Benutzergruppe. | String | Nein | Der Name der Gruppe, zu der der Benutzer gehört. | N/A | Wird unter Windows nicht unterstützt. |
recursive |
Setzt das Standardverhalten beim Ändern der Eigentümerschaft für den gesamten Inhalt eines Ordners außer Kraft, wenn diese Einstellung auf false gesetzt ist. |
Boolesch | Nein | true |
N/A | Wird unter Windows nicht unterstützt. |
Eingabebeispiel: Legen Sie die Eigenschaft des Ordnerbesitzers fest, ohne den Namen der Benutzergruppe anzugeben
- name: SettingFolderPropertyWithOutGroup action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser
Eingabebeispiel: Legen Sie die Eigenschaft des Ordnerbesitzers fest, ohne die Eigentümerschaft aller Inhalte in einem Ordner zu überschreiben
- name: SettingFolderPropertyWithOutRecursively action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser recursive: false
Eingabebeispiel: Legen Sie die Eigenschaft „Dateibesitz“ fest, indem Sie den Namen der Benutzergruppe angeben
- name: SettingFolderPropertyWithGroup action: SetFolderOwner inputs: - path: /SampleFolder/ owner: LinuxUser group: LinuxUserGroup
Output
Keine.
SetFilePermissions
Das SetFilePermissionsAktionsmodul ändert die permissions
einer vorhandenen Datei. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.
Die Eingabe für permissions
muss ein Zeichenkettenwert sein.
Dieses Aktionsmodul kann eine Datei mit Berechtigungen erstellen, die durch den Standard-Umask-Wert des Betriebssystems definiert sind. Sie müssen den umask
Wert festlegen, wenn Sie den Standardwert überschreiben möchten.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.
-
Die Datei ist zur Laufzeit nicht vorhanden.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Dateipfad. | String | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
permissions |
Die Dateiberechtigungen. | String | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
Eingabebeispiel: Dateiberechtigungen ändern
- name: ModifyingFilePermissions action: SetFilePermissions inputs: - path: /home/UserName/SampleFile.txt permissions: 766
Output
Keine.
SetFolderPermissions
Das SetFolderPermissionsAktionsmodul ändert rekursiv den permissions
eines vorhandenen Ordners und all seiner Unterdateien und Unterordner. Standardmäßig kann dieses Modul die Berechtigungen für den gesamten Inhalt des angegebenen Ordners ändern. Sie können die recursive
Option auf setzen, false
um dieses Verhalten zu überschreiben. Dieses Modul wird auf Windows-Plattformen nicht unterstützt.
Die Eingabe für permissions
muss ein Zeichenkettenwert sein.
Dieses Aktionsmodul kann Berechtigungen entsprechend dem Standard-Umask-Wert des Betriebssystems ändern. Sie müssen den umask
Wert festlegen, wenn Sie den Standardwert überschreiben möchten.
Das Aktionsmodul gibt einen Fehler zurück, wenn Folgendes eintritt:
-
Sie sind nicht berechtigt, die angegebene Änderung durchzuführen.
-
Der Ordner ist zur Laufzeit nicht vorhanden.
-
Das Aktionsmodul stößt bei der Ausführung des Vorgangs auf einen Fehler.
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte | Wird auf allen Plattformen unterstützt |
---|---|---|---|---|---|---|
path |
Der Ordnerpfad. | String | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
permissions |
Die Ordnerberechtigungen. | String | Ja | – | N/A | Wird unter Windows nicht unterstützt. |
recursive |
Setzt das Standardverhalten beim Ändern von Berechtigungen für den gesamten Inhalt eines Ordners außer Kraft, wenn diese Einstellung auf false gesetzt ist. |
Boolesch | Nein | true |
N/A | Wird unter Windows nicht unterstützt. |
Eingabebeispiel: Ordnerberechtigungen festlegen
- name: SettingFolderPermissions action: SetFolderPermissions inputs: - path: SampleFolder/ permissions: 0777
Eingabebeispiel: Ordnerberechtigungen festlegen, ohne die Berechtigungen für den gesamten Inhalt eines Ordners zu ändern
- name: SettingFolderPermissionsNoRecursive action: SetFolderPermissions inputs: - path: /home/UserName/SampleFolder/ permissions: 777 recursive: false
Output
Keine.
Aktionen zur Softwareinstallation
Im folgenden Abschnitt werden Aktionsmodule beschrieben, mit denen Software installiert oder deinstalliert wird.
IAMAnforderungen
Wenn Ihr Installations-Download-Pfad ein S3 istURI, muss die IAM Rolle, die Sie Ihrem Instanzprofil zuordnen, über die Berechtigung verfügen, das S3Download
Aktionsmodul auszuführen. Um die erforderliche Berechtigung zu erteilen, fügen Sie die S3:GetObject
IAM Richtlinie der IAM Rolle hinzu, die Ihrem Instanzprofil zugeordnet ist, und geben Sie den Pfad für Ihren Bucket an. Beispiel,
).arn:aws:s3:::
BucketName
/*
Komplexe MSI Eingaben
Wenn Ihre Eingabezeichenfolgen doppelte Anführungszeichen ("
) enthalten, müssen Sie eine der folgenden Methoden verwenden, um sicherzustellen, dass sie korrekt interpretiert werden:
-
Sie können einfache Anführungszeichen (') außerhalb Ihrer Zeichenfolge verwenden, um sie zu enthalten, und doppelte Anführungszeichen („) innerhalb Ihrer Zeichenfolge verwenden, wie im folgenden Beispiel gezeigt.
properties: COMPANYNAME: '"Acme ""Widgets"" and ""Gizmos."""'
Wenn Sie in diesem Fall einen Apostroph innerhalb Ihrer Zeichenfolge verwenden müssen, müssen Sie ihn maskieren. Das bedeutet, dass Sie vor dem Apostroph ein weiteres einfaches Anführungszeichen (') verwenden.
-
Sie können doppelte Anführungszeichen („) an der Außenseite Ihrer Zeichenfolge verwenden, um sie zu enthalten. Und Sie können alle doppelten Anführungszeichen innerhalb Ihrer Zeichenfolge maskieren, indem Sie den umgekehrten Schrägstrich (
\
) verwenden, wie im folgenden Beispiel gezeigt.properties: COMPANYNAME: "\"Acme \"\"Widgets\"\" and \"\"Gizmos.\"\"\""
Beide Methoden übergeben den Wert COMPANYNAME="Acme ""Widgets""
and ""Gizmos."""
an den msiexec Befehl.
Aktionsmodule zur Softwareinstallation
Installieren MSI
Das InstallMSI
Aktionsmodul installiert eine Windows-Anwendung mithilfe einer MSI Datei. Sie können die MSI Datei mithilfe eines lokalen Pfads, eines S3-Objekts URI oder eines Webs angebenURL. Die Neustartoption konfiguriert das Neustartverhalten des Systems.
AWSTOE generiert den msiexec Befehl auf der Grundlage der Eingabeparameter für das Aktionsmodul. Werte für die Eingabeparameter path
(MSIDateispeicherort) und logFile
(Speicherort der Protokolldatei) müssen in Anführungszeichen („) eingeschlossen werden.
Die folgenden MSI Exit-Codes werden als erfolgreich angesehen:
-
0 (Erfolg)
-
1614 (ERROR_ PRODUCT _UNINSTALLED)
-
1641 (Neustart eingeleitet)
-
3010 (Neustart erforderlich)
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte |
---|---|---|---|---|---|
path |
Geben Sie den Speicherort der MSI Datei mit einer der folgenden Optionen an:
Verkettungsausdrücke sind zulässig. |
String | Ja | – | N/A |
reboot |
Konfigurieren Sie das Verhalten beim Systemneustart, das auf eine erfolgreiche Ausführung des Aktionsmoduls folgt. Einstellungen:
|
String | Nein | Allow |
Allow, Force, Skip |
logOptions |
Geben Sie die Optionen an, die für die MSI Installationsprotokollierung verwendet werden sollen. Die angegebenen Flags werden zusammen mit den Weitere Informationen zu Protokolloptionen für MSI finden Sie unter Befehlszeilenoptionen |
String | Nein | *VX |
i,w,e,a,r,u,c,m,o,p,v,x,+,!,* |
logFile |
Ein absoluter oder relativer Pfad zum Speicherort der Protokolldatei. Wenn der Protokolldateipfad nicht existiert, wird er erstellt. Wenn der Protokolldateipfad nicht angegeben wird, AWSTOE wird das MSI Installationsprotokoll nicht gespeichert. |
String | Nein | N/A | N/A |
properties |
MSISchlüssel-Wert-Paare für die Protokollierung von Eigenschaften, zum Beispiel:
Hinweis: Die Änderung der folgenden Eigenschaften ist nicht zulässig:
|
Map [Zeichenfolge] Zeichenfolge | Nein | N/A | N/A |
ignoreAuthenticodeSignatureErrors |
Markierung zum Ignorieren von Fehlern bei der Überprüfung der Authenticode-Signatur für das im Pfad angegebene Installationsprogramm. Der Get-AuthenticodeSignature Befehl wird verwendet, um Installationsprogramme zu validieren. Einstellungen:
|
Boolesch | Nein | false |
true, false |
allowUnsignedInstaller |
Markierung, die die Ausführung des im Pfad angegebenen unsignierten Installationsprogramms ermöglicht. Der Get-AuthenticodeSignature Befehl wird verwendet, um Installationsprogramme zu validieren. Einstellungen:
|
Boolesch | Nein | false |
true, false |
Beispiele
Die folgenden Beispiele zeigen Varianten des Eingabeabschnitts für Ihr Komponentendokument, abhängig von Ihrem Installationspfad.
Eingabebeispiel: Installation im lokalen Dokumentpfad
- 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
Eingabebeispiel: Amazon S3 S3-Pfadinstallation
- 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
Eingabebeispiel: Installation eines Webpfads
- 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
Das Folgende ist ein Beispiel für die Ausgabe des InstallMSI
Aktionsmoduls.
{ "logFile": "web-path-install.log", "msiExitCode": 0, "stdout": "" }
Deinstallieren MSI
Das UninstallMSI
Aktionsmodul ermöglicht es Ihnen, eine Windows-Anwendung mithilfe einer MSI Datei zu entfernen. Sie können den Speicherort der MSI Datei mithilfe eines lokalen Dateipfads, eines S3-Objekts URI oder eines Webs angebenURL. Die Neustartoption konfiguriert das Neustartverhalten des Systems.
AWSTOE generiert den msiexec Befehl auf der Grundlage der Eingabeparameter für das Aktionsmodul. Der Speicherort der MSI Datei (path
) und der Speicherort der Protokolldatei (logFile
) werden bei der Generierung des msiexec Befehls explizit in doppelte Anführungszeichen („) eingeschlossen.
Die folgenden MSI Exit-Codes werden als erfolgreich angesehen:
-
0 (Erfolg)
-
1605 (ERROR_ UNKNOWN _PRODUCT)
-
1614 (ERROR_ _PRODUCT) UNINSTALLED
-
1641 (Neustart eingeleitet)
-
3010 (Neustart erforderlich)
Tastenname | Beschreibung | Typ | Erforderlich | Standardwert | Zulässige Werte |
---|---|---|---|---|---|
path |
Geben Sie den Speicherort der MSI Datei mit einer der folgenden Optionen an:
Verkettungsausdrücke sind zulässig. |
String | Ja | – | N/A |
reboot |
Konfiguriert das Verhalten beim Systemneustart, das auf eine erfolgreiche Ausführung des Aktionsmoduls folgt. Einstellungen:
|
String | Nein | Allow |
Allow, Force, Skip |
logOptions |
Geben Sie die Optionen an, die für die MSI Installationsprotokollierung verwendet werden sollen. Die angegebenen Flags werden zusammen mit den Weitere Informationen zu Protokolloptionen für MSI finden Sie unter Befehlszeilenoptionen |
String | Nein | *VX |
i,w,e,a,r,u,c,m,o,p,v,x,+,!,* |
logFile |
Ein absoluter oder relativer Pfad zum Speicherort der Protokolldatei. Wenn der Protokolldateipfad nicht existiert, wird er erstellt. Wenn der Protokolldateipfad nicht angegeben wird, AWSTOE wird das MSI Installationsprotokoll nicht gespeichert. |
String | Nein | N/A | N/A |
properties |
MSISchlüssel-Wert-Paare für die Protokollierung von Eigenschaften, zum Beispiel:
Hinweis: Die Änderung der folgenden Eigenschaften ist nicht zulässig:
|
Map [Zeichenfolge] Zeichenfolge | Nein | N/A | N/A |
ignoreAuthenticodeSignatureErrors |
Markierung zum Ignorieren von Fehlern bei der Überprüfung der Authenticode-Signatur für das im Pfad angegebene Installationsprogramm. Der Get-AuthenticodeSignature Befehl wird verwendet, um Installationsprogramme zu validieren. Einstellungen:
|
Boolesch | Nein | false |
true, false |
allowUnsignedInstaller |
Markierung, die die Ausführung des im Pfad angegebenen unsignierten Installationsprogramms ermöglicht. Der Get-AuthenticodeSignature Befehl wird verwendet, um Installationsprogramme zu validieren. Einstellungen:
|
Boolesch | Nein | false |
true, false |
Beispiele
Die folgenden Beispiele zeigen Varianten des Eingabeabschnitts für Ihr Komponentendokument, abhängig von Ihrem Installationspfad.
Eingabebeispiel: Installation des lokalen Dokumentpfads entfernen
- 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
Eingabebeispiel: Amazon S3 S3-Pfadinstallation entfernen
- 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
Eingabebeispiel: Webpfad-Installation entfernen
- 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
Das Folgende ist ein Beispiel für die Ausgabe des UninstallMSI
Aktionsmoduls.
{ "logFile": "web-path-uninstall.log", "msiExitCode": 0, "stdout": "" }
Aktionsmodule des Systems
Im folgenden Abschnitt werden Aktionsmodule beschrieben, die Systemaktionen ausführen oder Systemeinstellungen aktualisieren.
Systemaktionsmodule
Neustart
Das Aktionsmodul Reboot startet die Instanz neu. Es verfügt über eine konfigurierbare Option, um den Start des Neustarts zu verzögern. Standardmäßig delaySeconds
ist auf eingestellt, was bedeutet0
, dass es keine Verzögerung gibt. Das Schrittzeitlimit wird für das Aktionsmodul Neustart nicht unterstützt, da es nicht gilt, wenn die Instanz neu gestartet wird.
Wenn die Anwendung vom Systems Manager Agent aufgerufen wird, übergibt sie den Exit-Code (3010
für Windows, 194
für Linux) an den Systems Manager Agent. Der Systems Manager Agent führt den Systemneustart wie unter Managed Instance from Scripts neu starten beschrieben durch.
Wenn die Anwendung auf dem Host als eigenständiger Prozess aufgerufen wird, speichert sie den aktuellen Ausführungsstatus, konfiguriert einen Auslöser für die automatische Ausführung nach dem Neustart, sodass die Anwendung nach dem Neustart erneut ausgeführt wird, und startet dann das System neu.
Automatischer Start-Trigger nach dem Neustart:
-
Windows. AWSTOE erstellt einen Windows Taskplaner-Eintrag mit einem Trigger, der automatisch ausgeführt wird unter
SystemStartup
-
Linux. AWSTOE fügt einen Job in Crontab hinzu, der nach dem Neustart des Systems automatisch ausgeführt wird.
@reboot /download/path/awstoe run --document s3://bucket/key/doc.yaml
Dieser Trigger wird bereinigt, wenn die Anwendung gestartet wird.
Wiederholversuche
Standardmäßig ist die maximale Anzahl von Wiederholungen auf den Systems Manager CommandRetryLimit
festgelegt. Wenn die Anzahl der Neustarts das Wiederholungslimit überschreitet, schlägt die Automatisierung fehl. Sie können das Limit ändern, indem Sie die Konfigurationsdatei (Mds.CommandRetryLimit
) des Systems Manager Manager-Agenten bearbeiten. Weitere Informationen finden Sie unter Laufzeitkonfiguration
Um das Reboot-Aktionsmodul für Schritte zu verwenden, die einen Neustart beinhalten exitcode
(z. B.3010
), müssen Sie die Anwendungsbinärdatei als ausführensudo user
.
Tastenname | Beschreibung | Typ | Erforderlich | Standard |
---|---|---|---|---|
delaySeconds |
Verzögert eine bestimmte Zeit, bevor ein Neustart initiiert wird. | Ganzzahl |
Nein |
|
Eingabebeispiel: Neustart-Schritt
- name: RebootStep action: Reboot onFailure: Abort maxAttempts: 2 inputs: delaySeconds: 60
Ausgabe
Keine.
Wenn das Reboot-Modul abgeschlossen ist, fährt Image Builder mit dem nächsten Schritt im Build fort.
SetRegistry
Das SetRegistryAktionsmodul akzeptiert eine Liste von Eingaben und ermöglicht es Ihnen, den Wert für den angegebenen Registrierungsschlüssel festzulegen. Wenn ein Registrierungsschlüssel nicht existiert, wird er im definierten Pfad erstellt. Diese Funktion gilt nur für Windows.
Tastenname | Beschreibung | Typ | Erforderlich |
---|---|---|---|
path |
Pfad des Registrierungsschlüssels. | String | Ja |
name |
Name des Registrierungsschlüssels. | String | Ja |
value |
Wert des Registrierungsschlüssels. | String/Number/Array | Ja |
type |
Werttyp des Registrierungsschlüssels. | String | Ja |
Unterstützte Pfadpräfixe
-
HKEY_CLASSES_ROOT / HKCR:
-
HKEY_USERS / HKU:
-
HKEY_LOCAL_MACHINE / HKLM:
-
HKEY_CURRENT_CONFIG / HKCC:
-
HKEY_CURRENT_USER / HKCU:
Unterstützte -Typen
-
BINARY
-
DWORD
-
QWORD
-
SZ
-
EXPAND_SZ
-
MULTI_SZ
Eingabebeispiel: Legen Sie die Werte der Registrierungsschlüssel fest
- 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
Ausgabe
Keine.
OS aktualisieren
Das UpdateOS-Aktionsmodul bietet Unterstützung für die Installation von Windows- und Linux-Updates. Es installiert standardmäßig alle verfügbaren Updates. Alternativ können Sie eine Liste mit einem oder mehreren spezifischen Updates konfigurieren, die das Aktionsmodul installieren soll. Sie können auch Updates angeben, die von der Installation ausgeschlossen werden sollen.
Wenn sowohl die Listen „Einschließen“ als auch „Ausschließen“ bereitgestellt werden, kann die resultierende Liste von Updates nur die Updates enthalten, die in der „Einschluss“ -Liste aufgeführt sind und nicht in der Ausschlussliste aufgeführt sind.
Anmerkung
UpdateOS unterstützt Amazon Linux 2023 (AL2023) nicht. Wir empfehlen Ihnen, Ihre Basis AMI auf die neue Version zu aktualisieren, die mit jeder Version geliefert wird. Weitere Alternativen finden Sie unter Steuern der Updates von Haupt- und Nebenversionen im Amazon Linux 2023-Benutzerhandbuch.
-
Windows. Updates werden von der auf dem Zielcomputer konfigurierten Update-Quelle installiert.
-
Linux. Die Anwendung sucht nach dem unterstützten Paketmanager auf der Linux-Plattform und verwendet entweder den
apt-get
Paketmanageryum
oder. Wenn keiner von beiden unterstützt wird, wird ein Fehler zurückgegeben. Sie sollten über diesudo
erforderlichen Berechtigungen verfügen, um das UpdateOS-Aktionsmodul auszuführen. Wenn Sie keinesudo
Berechtigungen haben,error.Input
wird ein zurückgegeben.
Tastenname | Beschreibung | Typ | Erforderlich |
---|---|---|---|
include |
Für Windows können Sie Folgendes angeben:
Für Linux können Sie ein oder mehrere Pakete angeben, die in die Liste der zu installierenden Updates aufgenommen werden sollen. |
Liste der Zeichenketten | Nein |
exclude |
Für Windows können Sie Folgendes angeben:
Für Linux können Sie ein oder mehrere Pakete angeben, die von der Liste der Updates für die Installation ausgeschlossen werden sollen. |
Liste der Zeichenketten | Nein |
Eingabebeispiel: Unterstützung für die Installation von Linux-Updates hinzufügen
- name: UpdateMyLinux action: UpdateOS onFailure: Abort maxAttempts: 3 inputs: exclude: - ec2-hibinit-agent
Eingabebeispiel: Unterstützung für die Installation von Windows-Updates hinzufügen
- name: UpdateWindowsOperatingSystem action: UpdateOS onFailure: Abort maxAttempts: 3 inputs: include: - KB1234567 - '*Security*'
Ausgabe
Keine.