Diese Dokumentation bezieht sich AWS CLI nur auf Version 1 von. Dokumentation zu Version 2 von finden Sie im Benutzerhandbuch für Version 2. AWS CLI
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.
Laden von AWS CLI-Parametern aus einer Datei
Einige Parameter erwarten Dateinamen als Argumente, aus denen die AWS CLI Daten lädt. Mit anderen Parametern können Sie den Parameterwert als Text angeben, der in die Befehlszeile eingegeben wird oder aus einer Datei gelesen wird. Unabhängig davon, ob eine Datei erforderlich oder optional ist, müssen Sie die Datei korrekt codieren, damit die AWS CLI sie verstehen kann. Die Kodierung der Datei muss mit dem Standardgebietsschema des Lesesystems übereinstimmen. Sie können dies mithilfe der Python-Methode locale.getpreferredencoding()
bestimmen.
Anmerkung
Standardmäßig gibt Windows PowerShell Text als UTF-16 aus. Dies steht mit der UTF-8-Kodierung in Konflikt, die von JSON-Dateien und vielen Linux-Systemen verwendet wird. Wir empfehlen, -Encoding ascii
mit Ihren Out-File
-PowerShell-Befehlen zu verwenden, um sicherzustellen, dass die AWS CLI die resultierende Datei lesen kann.
Laden von Parametern aus einer Datei
Manchmal ist es praktisch, einen Parameterwert aus einer Datei zu laden, anstatt den gesamten Wert in die Befehlszeile einzugeben, beispielsweise, wenn es sich bei dem Parameterwert um eine komplexe JSON-Zeichenfolge handelt. Um eine Datei anzugeben, die den Wert enthält, geben Sie eine Datei-URL im folgenden Format an.
file://
complete/path/to/file
-
Die ersten beiden Schrägstriche "/" sind Teil der Spezifikation. Wenn der erforderliche Pfad mit einem "/" beginnt, besteht das Ergebnis aus drei Schrägstrichen:
file://
./folder/file
-
Die URL gibt den Pfad zu der Datei mit dem tatsächlichen Parameterinhalt an.
-
Wenn Sie Dateien mit Leerzeichen oder Sonderzeichen verwenden, befolgen Sie die Anführungszeichen- und Escape-Regeln Ihres Terminals.
Anmerkung
Dieses Verhalten ist für Parameter, die bereits eine URL erwarten, automatisch deaktiviert, beispielsweise für einen Parameter, der eine AWS CloudFormation-Vorlagen-URL bezeichnet. Sie können dieses Verhalten auch deaktivieren, indem Sie die cli_follow_urlparamEinstellung Ihrer AWS CLI-Konfigurationsdatei verwenden.
Die Dateipfade in den folgenden Beispielen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Die Präfixoption file://
unterstützt Erweiterungen im Unix-Stil, einschließlich "~/
", "./
" und "../
". Unter Windows erfolgt mit dem Ausdruck "~/
" die Erweiterung zu Ihrem Benutzerverzeichnis, das in der Umgebungsvariablen %USERPROFILE%
gespeichert ist. Beispielsweise befindet sich das Benutzerverzeichnis in Windows 10 in der Regel unter C:\Users\
.UserName
\
JSON-Dokumente, die als Wert eines anderen JSON-Dokuments eingebettet sind, müssen weiterhin durch ein Escape-Zeichen geschützt werden.
$
aws sqs create-queue --queue-name my-queue --attributes
file://attributes.json
attributes.json
{ "RedrivePolicy": "{
\
"deadLetterTargetArn\
":\
"arn:aws:sqs:us-west-2:0123456789012:deadletter\
",\
"maxReceiveCount\
":\
"5\
"}" }
Binärdateien
Für Befehle, die Binärdaten als Parameter annehmen, geben Sie mit dem Präfix fileb://
an, dass es sich bei den Daten um binäre Inhalte handelt. Zu den Befehlen, die Binärdaten akzeptieren, zählen:
-
aws ec2 run-instances:
--user-data
-Parameter. -
aws s3api put-object:
--sse-customer-key
-Parameter. -
aws kms decrypt:
--ciphertext-blob
-Parameter.
Das folgende Beispiel generiert mit einem Linux-Befehlszeilen-Tool einen binären 256-Bit-AES-Schlüssel und stellt diesen dann in Amazon S3 bereit, um eine hochgeladene Datei serverseitig zu verschlüsseln.
$
dd if=/dev/urandom bs=1 count=32 > sse.key
32+0 records in 32+0 records out 32 bytes (32 B) copied, 0.000164441 s, 195 kB/s
$
aws s3api put-object \ --bucket my-bucket \ --key test.txt \ --body test.txt \
--sse-customer-key fileb://sse.key
\ --sse-customer-algorithm AES256{ "SSECustomerKeyMD5": "iVg8oWa8sy714+FjtesrJg==", "SSECustomerAlgorithm": "AES256", "ETag": "\"a6118e84b76cf98bf04bbe14b6045c6c\"" }
Remote-Dateien
Die AWS CLI unterstützt auch das Laden von Parametern aus einer im Internet gehosteten Datei mit einer http://
- oder https://
-URL. Im folgenden Beispiel wird eine Datei, die in einem Amazon-S3-Bucket gespeichert ist, referenziert. Auf diese Weise können Sie von jedem Computer aus auf Parameterdateien zugreifen. Dabei muss der Container öffentlich zugänglich sein.
$
aws ec2 run-instances \ --image-id ami-12345678 \ --block-device-mappings
http://my-bucket.s3.amazonaws.com/filename.json
Im vorherigen Beispiel wird davon ausgegangen, dass die Datei filename.json
die folgenden JSON-Daten enthält.
[ { "DeviceName": "/dev/sdb", "Ebs": { "VolumeSize": 20, "DeleteOnTermination": false, "VolumeType": "standard" } } ]
Ein weiteres Beispiel mit einem Verweis auf eine Datei mit JSON-formatierten Parametern finden Sie unter Ordnen Sie einem Benutzer eine IAM verwaltete Richtlinie zu.