Ich versuche, Objekte aus Gletschern wiederherzustellen aws-cli wie folgt verwendet:AWS S3 - aws-cli s3api nicht akzeptiert Parameter in einem Bash-Variable
aws s3api restore-object --restore-request Days=7 --bucket mybucket --key some-file.ext
Dieses schönen funktioniert. Allerdings mag ich dies in einer Reihe von Dateien per Skript tun, aber wenn versuchen, so etwas wie:
$ export I="some-file.ext"
$ aws s3api restore-object --restore-request Days=7 --bucket mybucket --key $I
aws-cli gibt diesen Fehler zurück:
An error occurred (404) when calling the RestoreObject operation: Not Found
Egal welche $I
enthält, wenn ich manualy nehmen geben sie den Wert und aws-cli es funktioniert:
$ echo $I
some-other-file.ext
$ aws s3api restore-object --restore-request Days=7 --bucket mybucket --key some-other-file.ext
Wenn ich den Betrieb über den gleichen Schlüssel wiederholen gibt es eine Bestätigung:
$ aws s3api restore-object --restore-request Days=7 --bucket mybucket --key some-other-file.ext
An error occurred (RestoreAlreadyInProgress) when calling the RestoreObject operation: Object restore is already in progress
Meine Version von aws-cli ist wie folgt:
$ aws --version
aws-cli/1.10.50 Python/2.7.6 Linux/3.13.0-92-generic botocore/1.4.40
Wie kann ich -key
Parameter mit bash Variable übergeben? Andere Vorschläge? Xargs versagt auch wenn auch mit einem anderen Fehler:
$ {echo list of files one per line} | xargs -L 1 aws s3api restore-object --restore-request Days=7 --bucket mybucket --key
An error occurred (404) when calling the RestoreObject operation: Not Found xargs: aws: exited with status 255; aborting
oder auch ohne -L 1
xargs die Liste der Dateien, die von ,
getrennt drucken und:
xargs: aws: exited with status 255; aborting
Auch this answer versuchen nicht als 404
wie oben.
Gibt es eine Idee, wie kann ich Dateipfade in einer "Skript-Mode" zu aws-CLI übergeben?