Chargement de paramètres à partir d'un fichier dans AWS CLI - AWS Command Line Interface

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Chargement de paramètres à partir d'un fichier dans AWS CLI

Certains paramètres attendent des noms de fichiers comme arguments, à partir desquels ils AWS CLI chargent les données. D'autres paramètres vous permettent de spécifier la valeur du paramètre sous forme de texte saisi sur la ligne de commande ou de lecture à partir d'un fichier. Qu'un fichier soit obligatoire ou facultatif, vous devez le coder correctement pour qu'ils AWS CLI puissent le comprendre. L'encodage du fichier doit correspondre aux paramètres régionaux par défaut du système de lecture. Vous pouvez le déterminer à l'aide de la locale.getpreferredencoding() méthode Python.

Note

Par défaut, Windows PowerShell affiche le texte sous la forme UTF -16, ce qui est en conflit avec le codage UTF -8 utilisé par JSON les fichiers et de nombreux systèmes Linux. Nous vous recommandons de l'utiliser -Encoding ascii avec vos PowerShell Out-File commandes pour vous assurer qu' AWS CLI ils peuvent lire le fichier obtenu.

Comment charger des paramètres depuis un fichier

Il est parfois pratique de charger une valeur de paramètre à partir d'un fichier au lieu d'essayer de tout saisir sous forme de valeur de paramètre de ligne de commande, par exemple lorsque le paramètre est une JSON chaîne complexe. Pour spécifier un fichier contenant la valeur, spécifiez un fichier URL au format suivant.

file://complete/path/to/file
  • Les deux premières barres obliques « / » font partie de la spécification. Si le chemin d'accès requis commence par un caractère « / », le résultat contiendra trois barres obliques : file:///folder/file.

  • URLFournit le chemin d'accès au fichier contenant le contenu réel des paramètres.

  • Lorsque vous utilisez des fichiers contenant des espaces ou des caractères spéciaux, suivez les règles de citation et d'échappement de votre terminal.

Les chemins de fichiers des exemples suivants sont interprétés comme étant relatifs au répertoire de travail actuel.

Linux or macOS
// Read from a file in the current directory $ aws ec2 describe-instances --filters file://filter.json // Read from a file in /tmp $ aws ec2 describe-instances --filters file:///tmp/filter.json // Read from a file with a filename with whitespaces $ aws ec2 describe-instances --filters 'file://filter content.json'
Windows command prompt
// Read from a file in C:\temp C:\> aws ec2 describe-instances --filters file://C:\temp\filter.json // Read from a file with a filename with whitespaces C:\> aws ec2 describe-instances --filters "file://C:\temp\filter content.json"

L'option de préfixe file:// prend en charge les extensions de style Unix, dont « ~/ », « ./ » et « ../ ». Sous Windows, l'expression « ~/ » s'étend à votre répertoire utilisateur, stocké dans la variable d'environnement %USERPROFILE%. Par exemple, sous Windows 10, un répertoire utilisateur figure généralement sous C:\Users\UserName\.

Vous devez toujours éviter les JSON documents incorporés en tant que valeur d'un autre JSON document.

$ 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\"}" }

Fichiers binaires

Pour les commandes qui acceptent des données binaires comme paramètre, spécifiez que les données sont un contenu binaire à l'aide du préfixe fileb://. Les commandes qui acceptent des données binaires sont les suivantes :

  • aws ec2 run-instances:--user-dataparamètre.

  • aws s3api put-object:--sse-customer-keyparamètre.

  • aws kms decrypt:--ciphertext-blobparamètre.

L'exemple suivant génère une AES clé binaire 256 bits à l'aide d'un outil de ligne de commande Linux, puis la fournit à Amazon S3 pour chiffrer un fichier chargé côté serveur.

$ 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 amzn-s3-demo-bucket \ --key test.txt \ --body test.txt \ --sse-customer-key fileb://sse.key \ --sse-customer-algorithm AES256 { "SSECustomerKeyMD5": "iVg8oWa8sy714+FjtesrJg==", "SSECustomerAlgorithm": "AES256", "ETag": "\"a6118e84b76cf98bf04bbe14b6045c6c\"" }

Pour un autre exemple de référence à un fichier contenant des paramètres JSON formatés, consultez. Associer une politique IAM gérée à un utilisateur