Wir haben in Amazon S3 mehr als 10.000 Bilder in einem Bucket. Wie kann ich den Expires-Header für alle Bilder gleichzeitig festlegen?
Kurz gesagt, ich habe mit der AWS CLI eine großartige Lösung gefunden:
aws s3 cp s3://bucketname/optional_path s3://bucketname/optional_path --recursive --acl public-read --metadata-directive REPLACE --cache-control max-age=2592000
Dadurch wird das Cache-Control für 30 Tage festgelegt. Beachten Sie, dass Sie die Option haben, die vorherigen Kopfdaten zu kopieren oder zu ersetzen. Da AWS automatisch die richtigen Meta-Inhaltstyp-Daten für jeden Medientyp enthält und ich einige schlechte Kopfzeilen hatte, habe ich mich entschieden, alles zu überschreiben.
Sie können Massenänderungen an Bucket-Dateien mit Apps von Drittanbietern vornehmen, die die S3-API verwenden. Diese Apps setzen die Kopfzeilen nicht mit nur einer Anfrage, sondern automatisieren die über 10.000 erforderlichen Anforderungen.
Die, die ich derzeit verwende, ist Cloudberry Explorer . Dies ist ein Freeware-Dienstprogramm für die Interaktion mit Ihren S3-Buckets. In diesem Tool kann ich mehrere Dateien auswählen und HTTP-Header angeben, die auf alle angewendet werden.
Eine Alternative wäre die Entwicklung eines eigenen Skripts oder Tools mit den S3-API-Bibliotheken.
Eine alternative Lösung ist das Hinzufügen eines response-expires
-Parameters in Ihre URL. Es setzt den Expires
-Header der Antwort.
Weitere Informationen finden Sie im Abschnitt Anforderungsparameter in http://docs.aws.Amazon.com/AmazonS3/latest/API/RESTObjectGET.html .
Cyberduck wird auch Header bearbeiten.
Es wurden nur 6000 Bilder in einem Eimer ohne Probleme verarbeitet.