: 3 Bu halletmek için yöntemler var AWS Konsolu aracılığıyla , komut satırı üzerinden veya s3cmd komut satırı aracı ile .
AWS Konsolu Talimatları
Bu artık önerilen çözümdür. Açıktır, ancak biraz zaman alabilir.
- AWS Management Console'da oturum açın
- S3 kovasına gidin
- Tüm dosyaları rotaya göre seçin
- Menüden "Diğer" i seçin
- "Meta veriyi değiştir" i seçin
- "Anahtar" alanında, açılır menüden "Önbellek Kontrolü" seçeneğini seçin max-age = 604800 Değer için Giriş (7 gün)
- "Kaydet" düğmesine basın
( @biplob'a teşekkürler - lütfen ona aşağıda biraz sevgi verin )
AWS Komut Satırı Çözümü
Başlangıçta, bu kova politikalarını oluşturduğumda işe yaramazdı, bu yüzden aws-cli kullanarak nasıl yapılacağını düşündüm ve oldukça kaygan. Araştırma yaparken vahşi doğada herhangi bir örnek bulamadım, bu yüzden ihtiyacı olanlara yardım etmek için çözümlerimden bazılarını göndereceğimi düşündüm.
NOT: Varsayılan olarak, aws-cli, YENİ META VERİLERİ BELİRSENİZ BİLE, bir dosyanın yalnızca mevcut meta verilerini kopyalar.
Komut satırında belirtilen meta verileri kullanmak için '--metadata-directive REPLACE' bayrağını eklemeniz gerekir. İşte bazı örnekler.
Tek bir dosya için
aws s3 cp s3://mybucket/file.txt s3://mybucket/file.txt --metadata-directive REPLACE \
--expires 2034-01-01T00:00:00Z --acl public-read --cache-control max-age=2592000,public
Bütün bir paket için (not - recursive flag):
aws s3 cp s3://mybucket/ s3://mybucket/ --recursive --metadata-directive REPLACE \
--expires 2034-01-01T00:00:00Z --acl public-read --cache-control max-age=2592000,public
Biraz anladım, sadece belirli bir dosya türüne uygulamak istiyorsanız, tüm dosyaları dışlamanız ve ardından istediğiniz dosyaları eklemeniz gerekir.
Yalnızca jpgs ve pngs:
aws s3 cp s3://mybucket/ s3://mybucket/ --exclude "*" --include "*.jpg" --include "*.png" \
--recursive --metadata-directive REPLACE --expires 2034-01-01T00:00:00Z --acl public-read \
--cache-control max-age=2592000,public
Daha fazla bilgiye ihtiyacınız varsa, işte kılavuza bazı bağlantılar:
Bilinen Sorunlar:
"Unknown options: --metadata-directive, REPLACE"
bunun nedeni güncel olmayan bir awscli olabilir - bkz. @ eliotRosewater'ın aşağıdaki cevabı
S3cmd aracı
S3cmd, "Amazon S3 ve CloudFront hizmetlerini yönetmek için bir komut satırı aracıdır". Bu çözüm bir git çekme gerektirse de daha basit ve daha kapsamlı bir çözüm olabilir.
Talimatların tamamı için aşağıdaki @ ashishyadaveee11 gönderisine bakın
Umarım yardımcı olur!