9 εντολές AWS S3 με παραδείγματα για τη διαχείριση κάδου και δεδομένων
Ο έλεγχος και η διαχείριση των δεδομένων μπορεί να είναι μια επίπονη εργασία. Αυτές οι εντολές AWS S3 θα σας βοηθήσουν να διαχειριστείτε γρήγορα και αποτελεσματικά τους κάδους και τα δεδομένα AWS S3.
AWS S3 είναι η υπηρεσία αποθήκευσης αντικειμένων που παρέχεται από την AWS. Είναι η πιο ευρέως χρησιμοποιούμενη υπηρεσία αποθήκευσης από το AWS που μπορεί ουσιαστικά να κρατήσει άπειρο όγκο δεδομένων. Είναι εξαιρετικά διαθέσιμο, ανθεκτικό και εύκολο να ενσωματωθεί με πολλές άλλες Υπηρεσίες AWS.
Το AWS S3 μπορεί να χρησιμοποιηθεί από άτομα με οποιεσδήποτε απαιτήσεις, όπως αποθήκευση εφαρμογών για κινητά/ιστό, αποθήκευση μεγάλων δεδομένων, αποθήκευση δεδομένων μηχανικής εκμάθησης, φιλοξενία στατικών ιστότοπων και πολλά άλλα.
Εάν χρησιμοποιείτε το S3 στο έργο σας, θα ξέρετε ότι δεδομένης της τεράστιας χωρητικότητας αποθήκευσης, η διαχείριση 100 κουβάδων και terabyte δεδομένων σε αυτούς τους κάδους μπορεί να είναι μια απαιτητική δουλειά. Έχουμε μια λίστα με εντολές AWS S3 με παραδείγματα που μπορείτε να χρησιμοποιήσετε για να διαχειριστείτε αποτελεσματικά τους κάδους και τα δεδομένα AWS S3.
Ρύθμιση AWS CLI
Αφού κατεβάσετε και εγκαταστήσετε με επιτυχία το AWS CLI, πρέπει να διαμορφώσετε τα διαπιστευτήρια AWS για να έχετε πρόσβαση στον λογαριασμό και τις υπηρεσίες AWS σας. Ας δούμε γρήγορα πώς μπορείτε να διαμορφώσετε το AWS CLI.
Το πρώτο βήμα είναι να δημιουργήσετε έναν χρήστη με πρόσβαση μέσω προγραμματισμού στον λογαριασμό AWS. Θυμηθείτε να επιλέξετε αυτό το πλαίσιο όταν δημιουργείτε έναν χρήστη για το AWS CLI.
Δώστε τα δικαιώματα και δημιουργήστε έναν χρήστη. Στην τελική οθόνη, αφού δημιουργήσατε με επιτυχία αυτόν τον χρήστη, αντιγράψτε το αναγνωριστικό του κλειδιού πρόσβασης και το μυστικό κλειδί πρόσβασης για αυτόν τον χρήστη. Θα χρησιμοποιήσουμε αυτά τα διαπιστευτήρια για να συνδεθείτε μέσω του AWS CLI.
Τώρα μεταβείτε στο τερματικό της επιλογής σας και εκτελέστε την ακόλουθη εντολή.
aws configure
Εισαγάγετε το αναγνωριστικό του κλειδιού πρόσβασης και το μυστικό κλειδί πρόσβασης όταν σας ζητηθεί. Επιλέξτε οποιαδήποτε περιοχή AWS της επιλογής σας και τη μορφή εξόδου εντολών. Προσωπικά προτιμώ να χρησιμοποιώ τη μορφή JSON. Δεν είναι μεγάλη υπόθεση, μπορείτε πάντα να αλλάξετε αυτές τις τιμές αργότερα.
Τώρα μπορείτε να εκτελέσετε οποιαδήποτε εντολή AWS CLI στην κονσόλα. Ας δούμε τώρα τις εντολές AWS S3.
cp
Η εντολή cp απλώς αντιγράφει τα δεδομένα από και προς τους κάδους S3. Μπορεί να χρησιμοποιηθεί για την αντιγραφή αρχείων από τοπικό σε S3, από S3 σε τοπικό και μεταξύ δύο κουβάδων S3. Υπάρχουν πολλές άλλες παράμετροι που μπορείτε να παρέχετε με τις εντολές.
Για παράδειγμα, -dryrun παράμετρος για να δοκιμάσετε την εντολή, -storage-class παράμετρος για να καθορίσετε την κατηγορία αποθήκευσης των δεδομένων σας στο S3, άλλες παραμέτρους για να ορίσετε την κρυπτογράφηση και πολλά άλλα. ο εντολή cp σας δίνει τον πλήρη έλεγχο του τρόπου με τον οποίο διαμορφώνετε την ασφάλεια των δεδομένων σας στο S3.
Χρήση
aws s3 cp <SOURCE> <DESTINATION> [--options]
Παραδείγματα
Αντιγράψτε δεδομένα από το τοπικό στο S3
aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt
Αντιγράψτε δεδομένα από το S3 στο τοπικό
aws s3 cp s3://bucket_name/file_name_2.txt file_name.txt
Αντιγραφή δεδομένων μεταξύ κάδου S3
aws s3 cp s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt
Αντιγράψτε δεδομένα από τοπικό στο S3 – IA
aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA
Αντιγράψτε όλα τα δεδομένα από έναν τοπικό φάκελο στο S3
aws s3 cp ./local_folder s3://bucket_name --recursive
ls
ο εντολή ls χρησιμοποιείται για τη λίστα των κουβάδων ή των περιεχομένων των κάδων. Έτσι, εάν θέλετε απλώς να δείτε πληροφορίες σχετικά με τους κάδους σας ή τα δεδομένα σε αυτούς τους κάδους, μπορείτε να χρησιμοποιήσετε την εντολή ls.
Χρήση:
aws s3 ls NONE or <BUCKET_NAME> [--options]
Παραδείγματα
Καταχωρίστε όλους τους κάδους στον λογαριασμό
aws s3 ls Output: 2022-02-02 18:20:14 BUCKET_NAME_1 2022-03-20 13:12:43 BUCKET_NAME_2 2022-03-29 10:52:33 BUCKET_NAME_3
Αυτή η εντολή παραθέτει όλους τους κάδους στο λογαριασμό σας με την ημερομηνία δημιουργίας του κάδου.
Καταχωρίστε όλα τα αντικείμενα ανώτατου επιπέδου σε έναν κάδο
aws s3 ls BUCKET_NAME_1 or s3://BUCKET_NAME_1 Output: PRE samplePrefix/ 2021-12-09 12:23:20 8754 file_1.png 2021-12-09 12:23:21 1290 file_2.json 2021-12-09 12:23:21 3088 file_3.html
Αυτή η εντολή παραθέτει όλα τα αντικείμενα ανώτατου επιπέδου σε έναν κάδο S3. Σημειώστε εδώ ότι τα αντικείμενα με το πρόθεμα samplePrefix/ δεν εμφανίζονται εδώ μόνο τα αντικείμενα ανώτατου επιπέδου.
Καταγράψτε όλα τα αντικείμενα σε έναν κουβά
aws s3 ls BUCKET_NAME_1 or s3://BUCKET_NAME_1 --recursive Output: 2021-12-09 12:23:20 8754 file_1.png 2021-12-09 12:23:21 1290 file_2.json 2021-12-09 12:23:21 3088 file_3.html 2021-12-09 12:23:20 16328 samplePrefix/file_1.txt 2021-12-09 12:23:20 29325 samplePrefix/sampleSubPrefix/file_1.css
Αυτή η εντολή παραθέτει όλα τα αντικείμενα σε έναν κάδο S3. Σημειώστε εδώ ότι εμφανίζονται επίσης τα αντικείμενα με το πρόθεμα samplePrefix/ και όλα τα δευτερεύοντα προθέματα.
mb
ο εντολή mb χρησιμοποιείται απλώς για τη δημιουργία νέων κουβάδων S3. Αυτή είναι μια αρκετά απλή εντολή, αλλά για να δημιουργήσετε νέους κάδους, το όνομα του νέου κάδου θα πρέπει να είναι μοναδικό σε όλους τους κάδους S3.
Χρήση
aws s3 mb <BUCKET_NAME>
Παράδειγμα
Δημιουργήστε έναν νέο κάδο σε μια συγκεκριμένη περιοχή
aws s3 mb myUniqueBucketName --region eu-west-1
mv
ο εντολή mv απλά μετακινεί τα δεδομένα από και προς τους κάδους S3. Ακριβώς όπως η εντολή cp, η εντολή mv χρησιμοποιείται για τη μετακίνηση δεδομένων από τοπικό σε S3, S3 σε τοπικό ή ανάμεσα σε δύο κάδους S3.
Η μόνη διαφορά μεταξύ της εντολής mv και της εντολής cp είναι ότι όταν χρησιμοποιείται η εντολή mv το αρχείο διαγράφεται από την πηγή. Το AWS μετακινεί αυτό το αρχείο στον προορισμό. Υπάρχουν πολλές επιλογές που μπορείτε να καθορίσετε με την εντολή.
Χρήση
aws s3 mv <SOURCE> <DESTINATION> [--options]
Παραδείγματα
Μετακίνηση δεδομένων από τοπικό στο S3
aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt
Μετακινήστε δεδομένα από το S3 στο τοπικό
aws s3 mv s3://bucket_name/file_name_2.txt file_name.txt
Μετακινήστε δεδομένα ανάμεσα σε κάδους S3
aws s3 mv s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt
Μετακίνηση δεδομένων από τοπικό στο S3 – IA
aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA
Μετακινήστε όλα τα δεδομένα από ένα πρόθεμα στο S3 σε έναν τοπικό φάκελο.
aws s3 mv s3://bucket_name/somePrefix ./localFolder --recursive
προτάσσω
Η εντολή presign δημιουργεί μια προ-υπογεγραμμένη διεύθυνση URL για ένα κλειδί στον κάδο S3. Μπορείτε να χρησιμοποιήσετε αυτήν την εντολή για να δημιουργήσετε διευθύνσεις URL που μπορούν να χρησιμοποιηθούν από άλλους για πρόσβαση σε ένα αρχείο στο καθορισμένο κλειδί κάδου S3.
Χρήση
aws s3 presign
Παράδειγμα
Δημιουργήστε μια προ-υπογεγραμμένη διεύθυνση URL που ισχύει για 1 ώρα για ένα αντικείμενο στον κάδο.
aws s3 presign s3://bucket_name/samplePrefix/file_name.png --expires-in 3600 Output: https://s3.ap-south-1.amazonaws.com/bucket_name/samplePrefix/file_name.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA4MCZT73PAX7ZMVFW%2F20220314%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20220314T054113Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=f14608bbf3e1f9f8d215eb5b439b87e167b1055bcd7a45c13a33debd3db1be96
rb
Η εντολή rb χρησιμοποιείται απλώς για τη διαγραφή κάδου S3.
Χρήση
aws rb <BUCKET_NAME>
Παράδειγμα
Διαγράψτε έναν κάδο S3.
aws s3 mb myBucketName # This command fails if there is any data in this bucket.
Διαγράψτε έναν κάδο S3 μαζί με τα δεδομένα στον κάδο S3.
aws s3 mb myBucketName --force
rm
Η εντολή rm χρησιμοποιείται απλώς για τη διαγραφή των αντικειμένων στους κάδους S3.
Χρήση
aws s3 rm <S3Uri_To_The_File>
Παραδείγματα
Διαγράψτε ένα αρχείο από τον κάδο S3.
aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt
Διαγράψτε όλα τα αρχεία με ένα συγκεκριμένο πρόθεμα σε έναν κάδο S3.
aws s3 rm s3://bucket_name/sample_prefix --recursive
Διαγράψτε όλα τα αρχεία σε έναν κάδο S3.
aws s3 rm s3://bucket_name --recursive
συγχρονισμός
Η εντολή συγχρονισμού αντιγράφει και ενημερώνει τα αρχεία από την πηγή στον προορισμό ακριβώς όπως η εντολή cp. Είναι σημαντικό να κατανοήσουμε τη διαφορά μεταξύ της εντολής cp και της εντολής συγχρονισμού. Όταν χρησιμοποιείτε cp, αντιγράφει δεδομένα από την πηγή στον προορισμό, ακόμα κι αν τα δεδομένα υπάρχουν ήδη στον προορισμό.
Επίσης, δεν θα διαγράψει αρχεία από τον προορισμό εάν διαγραφούν από την πηγή. Ωστόσο, ο συγχρονισμός εξετάζει τον προορισμό πριν αντιγράψει τα δεδομένα σας και αντιγράφει μόνο τα νέα και ενημερωμένα αρχεία. ο εντολή συγχρονισμού είναι παρόμοια με τη δέσμευση και την προώθηση αλλαγών σε έναν απομακρυσμένο κλάδο στο git. Η εντολή συγχρονισμού προσφέρει πολλές επιλογές για την προσαρμογή της εντολής.
Χρήση
aws s3 sync <SOURCE> <DESTINATION> [--options]
Παραδείγματα
Συγχρονίστε τον τοπικό φάκελο με το S3
aws s3 sync ./local_folder s3://bucket_name
Συγχρονίστε τα δεδομένα S3 σε έναν τοπικό φάκελο
aws s3 sync s3://bucket_name ./local_folder
Συγχρονίστε δεδομένα μεταξύ δύο κάδου S3
aws s3 sync s3://bucket_name s3://bucket_name_2
Μετακινήστε δεδομένα ανάμεσα σε δύο κάδους S3 εξαιρουμένων όλων των αρχείων .txt
aws s3 sync s3://bucket_name s3://bucket_name_2 --exclude "*.txt
δικτυακός τόπος
Μπορείτε να χρησιμοποιήσετε κουβάδες S3 για να φιλοξενήσετε στατικούς ιστότοπους. Η εντολή ιστότοπου χρησιμοποιείται για τη διαμόρφωση της στατικής φιλοξενίας ιστότοπου S3 για τον κάδο σας.
Καθορίζετε το ευρετήριο και τα αρχεία σφαλμάτων και το S3 σας δίνει μια διεύθυνση URL όπου μπορείτε να προβάλετε το αρχείο.
Χρήση
aws s3 website <S3_URI> [--options]
Παράδειγμα:
Διαμορφώστε τη στατική φιλοξενία για έναν κάδο S3 και καθορίστε τα αρχεία ευρετηρίου και σφαλμάτων
aws s3 website s3://bucket_name --index-document index.html --error-document error.html
συμπέρασμα
Ελπίζω τα παραπάνω να σας δώσουν μια ιδέα σχετικά με ορισμένες από τις συχνά χρησιμοποιούμενες εντολές AWS S3 για τη διαχείριση των κουβάδων. Εάν ενδιαφέρεστε να μάθετε περισσότερα, μπορείτε να ελέγξετε τις λεπτομέρειες της πιστοποίησης AWS.