[amazon-s3] एक संपूर्ण एस 3 बाल्टी डाउनलोड कर रहा है?



Answers

आप अपनी बाल्टी डाउनलोड करने के लिए s3cmd का उपयोग कर सकते हैं।

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

अद्यतन करें

एक और उपकरण है जिसे आप Rclone नामक उपयोग कर सकते हैं। नीचे Rclone दस्तावेज़ में एक कोड नमूना है।

rclone sync /home/local/directory remote:bucket
Question

मैंने देखा कि एडब्ल्यूएस प्रबंधन कंसोल से एक संपूर्ण एस 3 बाल्टी डाउनलोड करने का विकल्प प्रतीत नहीं होता है।

क्या मेरी बाल्टी में से किसी एक में सबकुछ पकड़ने का कोई आसान तरीका है? मैं रूट फ़ोल्डर को सार्वजनिक बनाने के बारे में सोच रहा था, इसे सभी को पकड़ने के लिए wget का उपयोग करके, और फिर इसे फिर से निजी बनाना लेकिन मुझे नहीं पता कि कोई आसान तरीका है या नहीं।




यहां सभी बाल्टी डाउनलोड करने के लिए कुछ सामान है, उन्हें सूचीबद्ध करें, उनकी सामग्री सूचीबद्ध करें।

    //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());
}

/ ---------------------------- विस्तार के तरीके ------------------- ------------------ /

//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.");
}

}




यदि आपके पास केवल फाइलें हैं (कोई उपनिर्देशिका नहीं) एक त्वरित समाधान सभी फ़ाइलों का चयन करना है (पहले पर click , Shift+click अंतिम पर Shift+click ) और Enter या right click और Open चयन करें। अधिकांश डेटा फ़ाइलों के लिए यह उन्हें सीधे आपके कंप्यूटर पर डाउनलोड करेगा।




एस 3 ब्राउज़र मुझे मिला सबसे आसान तरीका है। यह उत्कृष्ट सॉफ्टवेयर है ... और यह गैर वाणिज्यिक उपयोग के लिए स्वतंत्र है। केवल विंडोज़

http://s3browser.com/




एडब्ल्यूएस एस 3 सीएलआई का उपयोग करके डाउनलोड करने के लिए:

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

कोड का उपयोग करके डाउनलोड करने के लिए, एडब्ल्यूएस एसडीके का प्रयोग करें।

जीयूआई का उपयोग करके डाउनलोड करने के लिए, साइबरडक का प्रयोग करें।

आशा करता हूँ की ये काम करेगा.. :)




  1. विंडोज उपयोगकर्ता को इस लिंक से S3EXPLORER डाउनलोड करने की आवश्यकता है जिसमें इंस्टॉलेशन निर्देश भी हैं: - http://s3browser.com/download.aspx

  2. फिर आपको s3explorer में गुप्तकी, accesskey और क्षेत्र जैसे AWS प्रमाण-पत्र प्रदान करते हैं, इस लिंक में s3explorer के लिए कॉन्फ़िगरेशन निर्देश शामिल है: प्रतिलिपि पेस्ट लिंक ब्रॉवर में: s3browser.com/s3browser-first-run.aspx

  3. अब आपकी सभी एस 3 बाल्टी s3explorer के बाएं पैनल पर दिखाई देगी।

  4. बस बाल्टी का चयन करें, और बाएं कोने पर बाल्टी मेनू पर क्लिक करें, फिर मेनू से विकल्प में सभी फ़ाइलों को डाउनलोड करें का चयन करें। नीचे इसके लिए स्क्रीनशॉट है:

बाल्टी चयन स्क्रीन

  1. फिर किसी विशेष स्थान पर बाल्टी डाउनलोड करने के लिए फ़ोल्डर ब्राउज़ करें

  2. ठीक क्लिक करें और आपका डाउनलोड शुरू हो जाएगा।




यदि आप S3Fox के साथ फ़ायरफ़ॉक्स का उपयोग करते हैं, तो यह आपको सभी फ़ाइलों का चयन करने देता है (पहले और आखिरी बार शिफ्ट-चयन करें) और दाएं क्लिक करें और सभी डाउनलोड करें ... मैंने इसे 500+ फ़ाइलों के साथ किया है w / o समस्या




विंडोज़ में, इसके लिए मेरा पसंदीदा जीयूआई उपकरण एस 3 के लिए क्लाउडबेरी एक्सप्लोरर है। http://www.cloudberrylab.com/free-amazon-s3-explorer-cloudfront-IAM.aspx । एक काफी पॉलिश फ़ाइल एक्सप्लोरर, ftp- जैसे इंटरफ़ेस है।




मैंने एस 3 के लिए थोड़ा सा विकास किया है और मुझे पूरी बाल्टी डाउनलोड करने का एक आसान तरीका नहीं मिला है। यदि आप जावा में कोड करना चाहते हैं तो jets3t lib को बाल्टी की सूची बनाने के लिए उपयोग करना आसान है और उन्हें डाउनलोड करने के लिए उस सूची में पुनरावृत्त करना आसान है।

http://jets3t.s3.amazonaws.com/downloads.html

पहले एडब्ल्यूएस प्रबंधन कंसुल से एक सार्वजनिक निजी कुंजी सेट प्राप्त करें ताकि आप एक S3service ऑब्जेक्ट बना सकें ...

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

फिर अपने बाल्टी वस्तुओं की एक सरणी प्राप्त करें ...

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

अंत में, इस कोड के साथ एक समय में वस्तुओं को डाउनलोड करने के लिए उस सरणी पर फिर से चलाएं ...

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

मैंने कनेक्शन कोड को थ्रेडसेफ सिंगलटन में रखा है। स्पष्ट कारणों के लिए आवश्यक प्रयास / पकड़ वाक्यविन्यास छोड़ा गया है।

यदि आप पाइथन में कोड चाहते हैं तो आप इसके बजाय बोटो का उपयोग कर सकते हैं।

BucketExplorer के आसपास देखने के बाद पीएस जो आप चाहते हैं वह करो। https://forums.aws.amazon.com/thread.jspa?messageID=248429






Related