Tüm bir S3 grubunu mu indiriyorsunuz?


705

AWS Yönetim Konsolu'ndan tüm bir S3 grubunu indirmek için bir seçenek olmadığını fark ettim.

Kovalarımdan birindeki her şeyi almanın kolay bir yolu var mı? Kök klasörü herkese açık hale getirmeyi, wgethepsini kapmayı ve sonra tekrar özel yapmayı düşünüyordum ama daha kolay bir yol olup olmadığını bilmiyorum.


4
Burada birçok insanın dediği gibi aws s3 sync, en iyisi. Ama kimse güçlü seçeneği dikkat çekti: dryrun. Bu seçenek, kullanırken s3'ten s3'e ne indirileceğini / yükleneceğini görmenizi sağlar sync. Bu, yerel veya bir s3 grubundaki içeriğin üzerine yazmak istemediğinizde gerçekten yararlıdır. Bu nasıl kullanılır: aws s3 sync <source> <destination> --dryrunİstenmeyen değişiklikleri yüklememek için yeni içeriği bir kovaya göndermeden önce her zaman kullandım.
Perimosh

Yanıtlar:


1337

AWS CLI

Daha fazla bilgi için bkz. " AWS CLI Komut Referansı ".

AWS yakın zamanda boto gibi çalışan ve kullanılarak kurulabilen Komut Satırı Araçlarını yayınladı

sudo easy_install awscli

veya

sudo pip install awscli

Kurulduktan sonra, basitçe çalıştırabilirsiniz:

aws s3 sync s3://<source_bucket> <local_destination>

Örneğin:

aws s3 sync s3://mybucket .

içindeki tüm nesneleri mybucketgeçerli dizine indirir .

Ve çıktı:

download: s3://mybucket/test.txt to test.txt
download: s3://mybucket/test2.txt to test2.txt

Bu, tüm dosyalarınızı tek yönlü bir senkronizasyon kullanarak indirir. Bu olacak değil belirttiğiniz sürece geçerli dizinde herhangi mevcut dosyaları silmek ve S3 üzerinde herhangi bir dosyayı değiştirmek veya silmez. --delete

S3 kovasını S3 kovasına veya yerelden S3 kovası senkronizasyonuna da yapabilirsiniz.

Belgelere ve diğer örneklere göz atın .

Yukarıdaki örnekte tam bir kova nasıl indirilirken, aynı zamanda bir klasörü tekrar tekrar indirebilirsiniz.

aws s3 cp s3://BUCKETNAME/PATH/TO/FOLDER LocalFolderName --recursive

Bu yinelemeli içindeki tüm dosya ve klasör anahtarlarını indirmek için CLI talimat verir PATH/TO/FOLDERiçinde dizinden BUCKETNAMEkova.


223
İlk çalıştırmak aws configureve keşfetmenize ekleyebilir access keyve secret access keybulunabilir hangi burada .
Erwin Rooijakkers

12
Aws.amazon.com/cli Windows Installer için buraya gidin . "AWS_ACCESS_KEY_ID" ortam değişkeninden erişim anahtarı kimliğini ve "AWS_SECRET_ACCESS_KEY" ortamındaki gizli anahtarınızı alır.
Matt Bond

7
Denedim s3cmdve Cyberduck, ama benim awscliiçin ~ 70.000 dosyaları benim kovadan indirmek için en hızlı yoluydu.
Arjen

11
Sadece indirme hakkında sorulan sorulara rağmen, bu komutun dizininiz ile S3 arasında 2 yönlü bir senkronizasyon yapacağına inanıyorum. Hiçbir şey yüklemeye çalışmıyorsanız, geçerli dizinin boş olduğundan emin olun.
Jesse Crossen

15
@JesseCrossen Bu aws s3 synckomut hiçbir şey yüklemez , ancak S3'te yoksa yerel olarak dosyaları siler. Belgelere bakın .
Flimm

168

s3cmdKepçenizi indirmek için kullanabilirsiniz :

s3cmd --configure
s3cmd sync s3://bucketnamehere/folder /destination/folder

Kullanabileceğiniz başka bir araç var rclone. Bu Rclone belgelerinde bir kod örneğidir:

rclone sync /home/local/directory remote:bucket

5
Bu oldukça yavaş. Özellikle kademeli olarak kullanmaya çalışırsanız. Bant genişliğini doyurabilmesi için çok iş parçacıklı bir çözüm var mı?
Peter Lada

bunun altındaki çözümler daha iyi, daha standart ve daha fazla platforma açık
abc123

Bu istekte bulunan kişi ödeme kovaları için işe yaramaz (bkz. Arxiv.org/help/bulk_data_s3 ) :-(
Martin Thoma

İndirmek için kalıp eşleştirme yapmam gerekirse çözümünüzü nasıl kullanabilirim? Benim sorum: stackoverflow.com/questions/25086722/…
Shrikant Kakani

84

Amazon S3 verilerini yerel bir makineye kopyalamak için birkaç farklı yöntem kullandım s3cmd, ve en kolayı Cyberduck .

Tüm yapmanız gereken Amazon kimlik bilgilerinizi girmek ve kova, klasör veya dosyalarınızı indirmek, yüklemek, senkronize etmek için basit arayüzü kullanmaktır.

Ekran görüntüsü


Harika çalışıyor! Windows ve Mac (GPL) için kullanılabilir.
craastad

Cyberduck ayrıca halka açık dosyaları anonim olarak indirmeyi kolaylaştırır - s3cmd kimlik bilgileri gerektiriyor gibi görünüyor
chrishiestand

Transmit ile de harika çalışıyor.
Dağılım

Kepçemi kurtarmaya çalışırken CLI bana bir hata veriyordu, bu mükemmel çalıştı!
Lazar Kukolj

Ah bu beklenmedik geldi. FTP için daha önce cyberduck kullandım, ancak S3 bağlantısı olmasını hiç beklemiyordum. Harika bir ipucu için teşekkürler!
jskierbi

51

Bunu yapmak için birçok seçeneğiniz var, ancak en iyisi AWS CLI kullanıyor.

İşte bir gözden geçirme:

  1. Makinenize AWS CLI'yi indirin ve yükleyin:

  2. AWS CLI'yi yapılandırın:

    resim açıklamasını buraya girin

    Hesabı oluştururken aldığınız geçerli erişim ve gizli anahtarları girdiğinizden emin olun .

  3. S3 kovasını aşağıdakileri kullanarak senkronize edin:

    aws s3 sync s3://yourbucket /local/path
    

    Yukarıdaki komutta aşağıdaki alanları değiştirin:

    • yourbucket >> indirmek istediğiniz S3 kepçeniz.
    • /local/path >> yerel sisteminizdeki tüm dosyaları indirmek istediğiniz yol.

Bunu cyberduck yerine kullandım, çünkü cyberduck dosyaları indirmeye başlamadan önce "hazırlamalıdır". Yaşları büyük gibi görünen büyük miktarlardaki dosyalar için "hazırlamanın" gerçekte ne yaptığı hakkında bilgi bulamadım. CLI anında indirmeye başladı
Tashows

s3://kova adında bu önek olduğundan emin olun !!! Bununla birlikte aws s3 lsbu s3://ön eke ihtiyacınız yok ama cpkomuta ihtiyacınız var .
cjmling

43

AWS S3 CLI kullanarak indirmek için:

aws s3 cp s3://WholeBucket LocalFolder --recursive
aws s3 cp s3://Bucket/Folder LocalFolder --recursive

Kod kullanarak indirmek için AWS SDK'yı kullanın.

GUI kullanarak indirmek için Cyberduck kullanın.


1
Bazı dosyalar veya klasörler nasıl yok sayılır?
Nabin

1
@Nabin, böyle bir dosya veya klasörü hariç tutmak için --include & --exclude komutunu kullanabilirsiniz: aws s3 cp s3://my-bucket-name ./local-folder --recursive --include "*" --exclude "excludeFolder/*" --exclude "includeFolder/excludeFile.txt"
DarkCenobyte

21

Windows için S3 Tarayıcı bulduğum en kolay yol. Mükemmel bir yazılımdır ve ticari olmayan kullanım için ücretsizdir.


3
Sadece "Tüm Dosyaları
Şuraya

2
Güncelleme: Ama kova içinde ihtiyaçlarım için yeterli olan tüm bir klasörü indirebildim ...
Jack Ukleja

evet ücretsiz sürümü oldukça sınırlıdır, hepsini seçebilir ve indirebilirsiniz, ancak sadece 2 eşzamanlı transfer ile sınırlı
Hayden Thring

Ubuntu 17.1 ve s3cmd'de bazı python3 destek hatası aldıktan sonra Windows basit bir sürümünü arıyordum, bu iyi çalıştı.
edencorbin

21

Visual Studio kullanıyorsanız, " Visual Studio için AWS Araç Seti " ni indirin.

Yüklendikten sonra Visual Studio - AWS Explorer - S3 - Kepçeniz - Çift tıklama seçeneğine gidin

Pencerede tüm dosyaları seçebilirsiniz. Dosyaları sağ tıklayın ve indirin.


13

@Layke'nin cevabı iyidir, ancak bir ton veriniz varsa ve sonsuza kadar beklemek istemiyorsanız, " AWS CLI S3 Yapılandırması " nı okumalısınız .

Aşağıdaki komutlar AWS CLI'ye işleri yürütmek için (her biri küçük bir dosya veya çok parçalı kopyanın bir parçası) 1.000 iş parçacığı kullanmasını söyler ve 100.000 iş için ileriye bakar:

aws configure set default.s3.max_concurrent_requests 1000
aws configure set default.s3.max_queue_size 100000

Bunları çalıştırdıktan sonra basit synckomutu kullanabilirsiniz :

aws s3 sync s3://source-bucket/source-path s3://destination-bucket/destination-path

veya

aws s3 sync s3://source-bucket/source-path c:\my\local\data\path

CPU 4 çekirdekli ve 16 GB RAM'e sahip bir sistemde, benimki gibi durumlarda (3-50GB dosya) senkronizasyon / kopyalama hızı, varsayılan yapılandırmadan 70x'lik bir hız artışı olan yaklaşık 9.5MiB / s'den 700 + MiB / s'ye yükseldi.


1
gerçek cevap budur. Sadece test etti, ec2'den yaklaşık 2.3GB / dakika aktardı. eşzamanlı seçenekler olmadan yaklaşık 1GB / dak. cankurtaran.
Karsten


12

Bazı OS X kullanıcılarına yardımcı olabilecek başka bir seçenek de İletim'dir.

S3 dosyalarınıza bağlanmanıza izin veren bir FTP programıdır. Ayrıca, herhangi bir FTP veya S3 depolama alanını Finder'da bir klasör olarak bağlama seçeneği vardır, ancak yalnızca sınırlı bir süre içindir.


9

S3 için biraz geliştirme yaptım ve bir kova indirmek için basit bir yol bulamadım.

Java ile kodlamak isterseniz jets3t bir kova listesi oluşturmak için kullanımı kolaydır ve indirmek için bu liste üzerinde tekrarlayın.

İlk olarak, bir S3service nesnesi oluşturabilmeniz için AWS yönetim konsülerinden genel bir özel anahtar kümesi alın:

AWSCredentials awsCredentials = new AWSCredentials(YourAccessKey, YourAwsSecretKey);
s3Service = new RestS3Service(awsCredentials);

Ardından, kova nesnelerinizin bir dizisini alın:

S3Object[] objects = s3Service.listObjects(YourBucketNameString);

Son olarak, nesneleri birer birer indirmek için bu dizi üzerinde tekrarlayın:

S3Object obj = s3Service.getObject(bucket, fileName);
            file = obj.getDataInputStream();

Bağlantı kodunu güvenli bir singletona koydum. Belli nedenlerle gerekli deneme / yakalama sözdizimi atlanmıştır.

Python'da kod yazmayı tercih ederseniz, bunun yerine Boto'yu kullanabilirsiniz.

BucketExplorer etrafına baktıktan sonra, " Tüm kovayı indirmek " istediğinizi yapabilir.


Bir Java çözümüne ihtiyacınız olmadığı sürece yukarıdaki aws cli yanıtını kullanın.
jeremyjjbrown

yeni bir klasör oluşturmak ve böylece aynı
Jisson

7

AWS sdk API sadece tüm klasörü yüklemek ve s3'e reppo yapmak ve tüm s3 kovasını yerel olarak indirmek için en iyi seçenektir.

Tüm klasörü s3'e yüklemek için

aws s3 sync . s3://BucketName

tüm s3 kovasını yerel olarak indirmek için

aws s3 sync s3://BucketName . 

ayrıca indirmek için s3 içindeki belirli bir klasör için BucketName / Path gibi yol atayabilirsiniz


6

Bunu https://github.com/minio/mc ile yapabilirsiniz :

mc cp -r https://s3-us-west-2.amazonaws.com/bucketName/ localdir

mc ayrıca oturumları, devam ettirilebilir yüklemeleri, yüklemeleri ve daha pek çok şeyi destekler. mcLinux, OS X ve Windows işletim sistemlerini destekler. Golang'da yazıldı ve Apache Sürüm 2.0 altında yayınlandı.


5

S3Fox ile Firefox kullanıyorsanız, tüm dosyaları seçmenizi sağlar (ilk ve son vardiyayı seç) ve sağ tıklayıp hepsini indir ... 500+ dosya ile sorunum var


Bu, bir kova içindeki alt klasörler için, AWS konsolunda "sözde klasörler" oluşturulmuş olsa bile çalışmaz. (Bu yorumun yazımı itibariyle)
Wesley

Çalışmadığı doğrulandı, yaklaşık 12k üst düzey anahtarım = alt klasörlerim var), S3Fox bile başlamıyor. Ayrıca tüm kovaları listeleme izninde ısrar!
Peter Lada


3

Yalnızca dosyalarınız varsa (alt dizinler yoksa) hızlı bir çözüm, tüm dosyaları ( clickilkinde, Shift+clicksonda) seçip Enterveya right clicktuşuna basıp seçmektir Open. Veri dosyalarının çoğu için bu doğrudan bilgisayarınıza indirilir.


3

Başka bir GUI seçeneği eklemek için WinSCP'nin S3 işlevini kullanıyoruz . Bağlanması çok kolaydır, yalnızca kullanıcı arayüzünde erişim anahtarınızı ve gizli anahtarınızı gerektirir. Ardından, iç içe klasörlerin özyinelemeli indirmeleri de dahil olmak üzere erişilebilir herhangi bir kovadan istediğiniz dosyalara göz atabilir ve indirebilirsiniz.

Güvenlik yoluyla yeni yazılımları temizlemek zor olabileceğinden ve WinSCP oldukça yaygın olduğundan, daha özel bir yardımcı program yüklemeye çalışmak yerine sadece kullanmak gerçekten yararlı olabilir.


1
  1. Windows Kullanıcısı, kurulum talimatlarını da içeren bu bağlantıdan S3EXPLORER'ı indirmelidir: - http://s3browser.com/download.aspx

  2. Ardından s3explorer için secretkey, accesskey ve region gibi AWS kimlik bilgilerini sağlayın, bu bağlantı s3explorer için yapılandırma talimatını içerir: Tarayıcıda Kopyala Yapıştır Bağlantısı: s3browser.com/s3browser-first-run.aspx

  3. Şimdi tüm s3 kovalarınız s3explorer'ın sol panelinde görünür olacaktı.

  4. Sadece grubu seçin ve sol üst köşedeki Kovalar menüsünü tıklayın, ardından menüden Tüm dosyaları buraya indir seçeneğini seçin. Aşağıda aynı ekran görüntüsü:

Kova Seçim Ekranı

  1. Ardından, belirli bir yerde grup indirmek için bir klasöre göz atın

  2. Tamam'ı tıkladığınızda indirme işleminiz başlayacaktır.


1

aws sync mükemmel bir çözümdür. İki yoldan yapmaz .. Kaynaktan hedefe tek yönlüdür. Ayrıca, kovada çok sayıda öğeniz varsa, indirme daha hızlı gerçekleşecek (çünkü indirme internet üzerinden değil, intranet üzerinden gerçekleşir) ve ücret ödemeden önce s3 bitiş noktası oluşturmak iyi bir fikir olacaktır.


1

İşte tüm kovaları indirmek, listelemek, içeriklerini listelemek için bazı şeyler.

    //connection string
    private static void dBConnection() {
    app.setAwsCredentials(CONST.getAccessKey(), CONST.getSecretKey());
    conn = new AmazonS3Client(app.getAwsCredentials());
    app.setListOfBuckets(conn.listBuckets());
    System.out.println(CONST.getConnectionSuccessfullMessage());
    }

    private static void downloadBucket() {

    do {
        for (S3ObjectSummary objectSummary : app.getS3Object().getObjectSummaries()) {
            app.setBucketKey(objectSummary.getKey());
            app.setBucketName(objectSummary.getBucketName());
            if(objectSummary.getKey().contains(CONST.getDesiredKey())){
                //DOWNLOAD
                try 
                {
                    s3Client = new AmazonS3Client(new ProfileCredentialsProvider());
                    s3Client.getObject(
                            new GetObjectRequest(app.getBucketName(),app.getBucketKey()),
                            new File(app.getDownloadedBucket())
                            );
                } catch (IOException e) {
                    e.printStackTrace();
                }

                do
                {
                     if(app.getBackUpExist() == true){
                        System.out.println("Converting back up file");
                        app.setCurrentPacsId(objectSummary.getKey());
                        passIn = app.getDataBaseFile();
                        CONVERT= new DataConversion(passIn);
                        System.out.println(CONST.getFileDownloadedMessage());
                    }
                }
                while(app.getObjectExist()==true);

                if(app.getObjectExist()== false)
                {
                    app.setNoObjectFound(true);
                }
            }
        }
        app.setS3Object(conn.listNextBatchOfObjects(app.getS3Object()));
    } 
    while (app.getS3Object().isTruncated());
}

/ ---------------------------- Genişletme Yöntemleri ------------------- ------------------ /

//Unzip bucket after download 
public static void unzipBucket() throws IOException {
    unzip = new UnZipBuckets();
    unzip.unZipIt(app.getDownloadedBucket());
    System.out.println(CONST.getFileUnzippedMessage());
}

//list all S3 buckets
public static void listAllBuckets(){
    for (Bucket bucket : app.getListOfBuckets()) {
        String bucketName = bucket.getName();
        System.out.println(bucketName + "\t" + StringUtils.fromDate(bucket.getCreationDate()));
    }
}

//Get the contents from the auto back up bucket
public static void listAllBucketContents(){     
    do {
        for (S3ObjectSummary objectSummary : app.getS3Object().getObjectSummaries()) {
            if(objectSummary.getKey().contains(CONST.getDesiredKey())){
                System.out.println(objectSummary.getKey() + "\t" + objectSummary.getSize() + "\t" + StringUtils.fromDate(objectSummary.getLastModified()));
                app.setBackUpCount(app.getBackUpCount() + 1);   
            }
        }
        app.setS3Object(conn.listNextBatchOfObjects(app.getS3Object()));
    } 
    while (app.getS3Object().isTruncated());
    System.out.println("There are a total of : " + app.getBackUpCount() + " buckets.");
}

}



1

Neel Bhaat'ın bu blogda açıkladığı gibi , bu amaç için kullanılabilecek birçok farklı araç vardır. Bazıları AWS sağlanmıştır, çoğu üçüncü taraf araçlarıdır. Tüm bu araçlar AWS hesap anahtarınızı ve sırrınızı aracın kendisine kaydetmenizi gerektirir. Üçüncü taraf araçlarını kullanırken çok dikkatli olun, çünkü kaydettiğiniz kimlik bilgileri size, tüm değerinize mal olabilir ve sizi öldürebilir.

Bu nedenle, bu amaç için her zaman AWS CLI kullanmanızı öneririm . Bunu sadece bu bağlantıdan yükleyebilirsiniz . Ardından, aşağıdaki komutu çalıştırın ve anahtar, gizli değerlerinizi AWS CLI'ye kaydedin.

aws configure

Ve AWS S3 Kovasını yerel makinenizle senkronize etmek için aşağıdaki komutu kullanın. (Yerel makinede AWS CLI yüklü olmalıdır)

aws s3 sync <source> <destination>

Örnekler:

1) AWS S3'ten Yerel Depolama Alanına

aws s3 sync <S3Uri> <LocalPath>

2) Yerel Depolamadan AWS S3'e

aws s3 sync <LocalPath> <S3Uri>

3) AWS s3 kovadan başka bir kovaya

aws s3 sync <S3Uri> <S3Uri> 

Örneğin 3, bir Bucket klasörünü başka bir bucket klasörüne işaret edebilir miyim? Aslında, bir kova klasörünü başka bir kova klasörüne senkronize etmek istiyorum.
lukai

@lukai evet. İ Örnek 3'te verilen ne bu Basitçe var s3 kepçe URI'lann kaynak ve hedef gerekir ise
Keet Sugathadasa

1

Kovayı yalnızca AWS'den indirmek istiyorsanız, önce makinenize AWS CLI'yı takın. Terminalde, dosyaları indirmek istediğiniz dizini değiştirin ve bu komutu çalıştırın.

aws s3 sync s3://bucket-name .

Hem local hem de s3 dizinlerini de senkronize etmek istiyorsanız (yerel klasöre bazı dosyalar eklediyseniz), şu komutu çalıştırın:

aws s3 sync . s3://bucket-name

1

AWS CLI, tüm bir S3 grubunu yerel olarak indirmek için en iyi seçenektir.

  1. AWS CLI'yı yükleyin .

  2. AWS CLI'yı varsayılan güvenlik kimlik bilgilerini ve varsayılan AWS Bölgesi'ni kullanacak şekilde yapılandırın .

  3. S3 grubunun tamamını indirmek için komut kullan

    aws s3 sync s3: //bucketname yerelyolunuz

Farklı AWS hizmetleri için AWS cli kullanma referansı: https://docs.aws.amazon.com/cli/latest/reference/


1

S3 grup içeriğinin tamamını yerel klasöre indirmek için bu AWS cli komutunu kullanabilirsiniz

aws s3 sync s3://your-bucket-name "Local Folder Path"

Böyle bir hata görürseniz

fatal error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

--no-verify-ssl (boole)

Varsayılan olarak, AWS CLI, AWS hizmetleriyle iletişim kurarken SSL kullanır. Her SSL bağlantısı için AWS CLI, SSL sertifikalarını doğrular. Bu seçenek, SSL sertifikalarını doğrulama varsayılan davranışını geçersiz kılar. referans

Bu etiketi şu komutla kullan --no-verify-ssl

aws s3 sync s3://your-bucket-name "Local Folder Path" --no-verify-ssl

Kullanımı s3 syncyukarıda birden çok kez ele alınmıştır. + --no-verify-sslGüvenlik sonuçlarını açıklamadan kullanılmasını önermek suçtur.
Martin Prikryl

Güvenlik hakkında bilgi için teşekkürler. Bu sorunla karşılaştım ve bu referansı kullanarak çözdüm docs.aws.amazon.com/cli/latest/reference
Dimuthu

1

Grup oldukça büyükse s4cmd, paralel bağlantılar yapan ve indirme süresini geliştiren bir komut vardır :

Debian'a yüklemek için

apt install s4cmd

Pip'iniz varsa:

pip install s4cmd

~/.s3cfgVarsa (kur s3cmdve çalıştır değilse) dosyayı okuyacaktır s3cmd --configureveya --access-key=ACCESS_KEY --secret-key=SECRET_KEYkomutta belirtebilirsiniz .

Klips benzer s3cmd. Bu durumda syncindirmeyi iptal edip dosyaları yeniden indirmenize gerek kalmadan yeniden başlatabileceğiniz için a önerilir.

s4cmd [--access-key=ACCESS_KEY --secret-key=SECRET_KEY] sync s3://<your-bucket> /some/local/dir

Çok fazla veri indirirseniz dikkatli olun (> 1 TB), bu faturanızı etkileyebilir, önce hesaplayın, bu maliyet olacak


0

@Layke'nin söylediği gibi, dosyayı S3 cli'dan indirmek en iyi uygulamadır, güvenli ve güvenlidir. Ancak bazı durumlarda, insanların dosyayı indirmek için wget kullanmaları gerekir ve işte çözüm

aws s3 presign s3://<your_bucket_name/>

Bu, size, wget veya başka bir indirme istemcisi kullanarak, presign_url kullanarak S3'ten içerik indirmek için kullanabileceğiniz geçici bir genel URL gönderir.


0

Bu komutu deneyin:

aws s3 sync yourBucketnameDirectory yourLocalDirectory

Örneğin, grup adınız myBucketve yerel dizininiz ise c:\local:

aws s3 sync s3://myBucket c:\local

Awscli hakkında daha fazla bilgi için bu aws cli kurulumunu kontrol edin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.