Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Registrieren eines kostenlosen Accounts finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch spezifische Werte für Ihre Cloud-Umgebung.
Oracle Cloud Infrastructure Object Storage Python-Utilitys für Bulkvorgänge verwenden
Einführung
Mit Oracle Cloud Infrastructure (OCI) Object Storage können Kunden jeden Datentyp sicher in seinem nativen Format speichern. Mit integrierter Redundanz ist OCI Object Storage ideal für die Erstellung moderner Anwendungen geeignet, die Skalierung und Flexibilität erfordern, da es zur Konsolidierung mehrerer Datenquellen für Analyse-, Backup- oder Archivierungszwecke verwendet werden kann.
OCI Object Storage ist für Cloud-Workloads grundlegend. Dank seiner Elastizität, Skalierbarkeit, Zuverlässigkeit und Kosteneffizienz ist er der primäre Speicher für unstrukturierte Daten in der Cloud. Aufgrund seiner Beliebtheit gibt es ein riesiges Ökosystem von Tools für die Arbeit mit OCI Object Storage. Dieses Tutorial ist das erste in der Reihe von "Power Tools", die darauf abzielen, Benutzern einen Weg zu bieten, sich mit den verschiedenen verfügbaren Tools vertraut zu machen und sie in ihren Workloads zu verwenden.
In diesem ersten Tutorial werden die in GitHub verfügbaren Beispielskripte mit dem Python-SDK mit OCI Object Storage für Bulkvorgänge vorgestellt.
Zielgruppe
DevOps Ingenieure, Entwickler, OCI Object Storage-Administratoren und -Benutzer, IT-Manager, OCI-Poweruser und Anwendungsadministratoren.
Zielsetzung
- Verwenden Sie die Python-Skriptbeispiele, um Bulkvorgänge in OCI Object Storage wie Bulk Restore, Delete, Copy, Renaming zu verarbeiten und Objektinformationen aufzulisten.
Voraussetzungen
-
Ein OCI-Account.
-
Eine Arbeits-Konfigurationsdatei im Home-Verzeichnis in einem Unterverzeichnis mit dem Namen
.oci
. Weitere Informationen finden Sie unter Konfigurationsdatei einrichten. -
Zugriff auf einen OCI Object Storage-Bucket.
-
Benutzerberechtigungen in OCI zur Verwendung von OCI Object Storage, haben Zugriff auf die Verwaltung von Objekten in mindestens 1 Bucket. Weitere Informationen finden Sie unter Allgemeine Policys und in der Policy-Referenz.
-
Eine Ausführungsumgebung: Zugriff auf OCI Cloud Shell, eine Linux-OCI-Instanz.
-
Git-Package in Ausführungsumgebung installiert und mit
git
-Befehlen vertraut. -
Python 3 installiert.
-
Vertrautheit mit Python- und Python-Modulen.
Aufgabe 1: Umgebung einrichten
-
Installieren Sie das OCI Software Development Kit-(SDK-)Package.
pip3 install --user oci
-
Klonen Sie das OCI-SDK-Repository.
$ git clone https://github.com/oracle/oci-python-sdk Cloning into 'oci-python-sdk'... remote: Enumerating objects: 113452, done. remote: Counting objects: 100% (23584/23584), done. remote: Compressing objects: 100% (3022/3022), done. remote: Total 113452 (delta 20706), reused 23195 (delta 20521), pack-reused 89868 Receiving objects: 100% (113452/113452), 77.07 MiB | 12.78 MiB/s, done. Resolving deltas: 100% (104373/104373), done.
Hinweis: Dies sind Beispielskripte, die das OCI-Python-SDK verwenden. Sie sind keine offiziellen Oracle-Anwendungen und werden von Oracle nicht verwaltet oder unterstützt. Da es sich um Beispiele handelt, können Sie diese für Ihren Anwendungsfall in Ihrem eigenen Software-Repository prüfen, aktualisieren und anpassen.
-
Ändern Sie in das Beispielverzeichnis. Führen Sie bei der Installation im Home-Verzeichnis den folgenden Befehl aus.
cd $HOME/oci-python-sdk/examples/object_storage
Aufgabe 2: Objekt-Massenwiederherstellungsskript verwenden
Das Bulk Restore-Skript stellt archivierte Objekte im Quell-Bucket mit parallelen Threads wieder her.
-
Führen Sie das Bulk Restore-Skript ohne Argumente aus, um die erforderlichen Argumente anzuzeigen.
$ python object_storage_bulk_restore.py Source bucket parameter is required !!! usage: object_storage_bulk_restore.py [-h] [-t CONFIG_PROFILE] [-p PROXY] [-ip] [-dt] [-c CONFIG_FILE] [-sb SOURCE_BUCKET] [-sp SOURCE_PREFIX_INCLUDE] [-sr SOURCE_REGION] [-sn SOURCE_NAMESPACE] optional arguments: -h, --help show this help message and exit -t CONFIG_PROFILE Config file section to use (tenancy profile) -p PROXY Set Proxy (i.e. www-proxy-server.com:80) -ip Use Instance Principals for Authentication -dt Use Delegation Token for Authentication -c CONFIG_FILE Config File (default=~/.oci/config) -sb SOURCE_BUCKET Source Bucket Name -sp SOURCE_PREFIX_INCLUDE Source Prefix Include -sr SOURCE_REGION Source Region -sn SOURCE_NAMESPACE Source Namespace (Default current connection)
Hinweis: In diesem Tutorial wird die Konfigurationsdatei für alle Skripte verwendet. Die Skripte werden standardmäßig in der Region aufgeführt, die in der Konfigurationsdatei aufgeführt ist, wenn sie nicht als Skriptargument angegeben ist.
-
Führen Sie das Skript ohne das Präfixargument aus. Dadurch werden alle Archivierungsobjekte wiederhergestellt.
$ python object_storage_bulk_restore.py -c $HOME/.oci/config -sb MyBucket Connecting to Object Storage Service... Succeed. ########################################################################################## # Running Object Storage Bulk Restore # ########################################################################################## Written by Tim S and Adi Z, July 2020 Starts at : 2024-05-30 16:44:18 Command Line : -c /home/opc/.oci/config -sb MyBucket Source Namespace : namespace Source Bucket : MyBucket Source Prefix Include : ########################################################################################## # Start Processing # ########################################################################################## 16:44:18 - Creating 40 workers. 16:44:18 - Getting list of objects from source source_bucket (MyBucket). Restores will start immediately. 16:44:19 - Enqueued 9086 objects to be restored 16:44:19 - Waiting 60 seconds before checking status. 16:45:19 - Restoration of all objects has been requested. ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-30 16:45:19
Hinweis: Wiederhergestellte Objekte sind nicht sofort verfügbar. Die Wiederherstellung darf maximal eine Stunde vom Zeitpunkt der Archivspeicher-Wiederherstellungsanforderung bis zum Abruf des ersten Datenbytes dauern.
-
Führen Sie das Skript mit dem Präfixargument aus.
$ python object_storage_bulk_restore.py -c $HOME/.oci/config -sb MyBucket -sp folder1 Connecting to Object Storage Service... Succeed. ########################################################################################## # Running Object Storage Bulk Restore # ########################################################################################## Written by Tim S and Adi Z, July 2020 Starts at : 2024-05-30 17:00:09 Command Line : -c /home/opc/.oci/config -sb MyBucket -sp folder1 Source Namespace : namespace Source Bucket : MyBucket Source Prefix Include : folder1 ########################################################################################## # Start Processing # ########################################################################################## 17:00:09 - Creating 40 workers. 17:00:09 - Getting list of objects from source source_bucket (MyBucket). Restores will start immediately. 17:00:10 - Enqueued 1096 objects to be restored 17:00:10 - Waiting 60 seconds before checking status. 17:01:10 - Restoration of all objects has been requested. ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-30 17:01:10
Hinweis: Alle archivierten Objekte in dem benannten Präfix/Ordner und Unterpräfixen/Unterordnern werden wiederhergestellt.
Aufgabe 3: Globales Löschskript für Objekte verwenden
Das Skript zum globalen Löschen von Objekten löscht Objekte aus einem Bucket mit der Option zum Filtern.
-
Führen Sie das Skript ohne Argumente aus, um die Verwendung anzuzeigen.
$ python object_storage_bulk_delete.py Source bucket parameter is required !!! usage: object_storage_bulk_delete.py [-h] [-t CONFIG_PROFILE] [-p PROXY] [-ip] [-dt] [-c CONFIG_FILE] [-sb SOURCE_BUCKET] [-sp SOURCE_PREFIX] [-se SOURCE_PREFIX_EXCLUDE] [-exclude_dirs] [-sn SOURCE_NAMESPACE] [-sr SOURCE_REGION] optional arguments: -h, --help show this help message and exit -t CONFIG_PROFILE Config file section to use (tenancy profile) -p PROXY Set Proxy (i.e. www-proxy-server.com:80) -ip Use Instance Principals for Authentication -dt Use Delegation Token for Authentication -c CONFIG_FILE Config File (default=~/.oci/config) -sb SOURCE_BUCKET Source Bucket Name -sp SOURCE_PREFIX Source Prefix Include -se SOURCE_PREFIX_EXCLUDE Source Prefix Exclude -exclude_dirs Exclude Directories -sn SOURCE_NAMESPACE Source Namespace (Default current connection) -sr SOURCE_REGION Source Region
Hinweis: Wenn Sie das Skript ohne ein Ein- oder Ausschlusspräfix ausführen, werden alle Elemente im Bucket gelöscht.
-
Führen Sie das Bulk Delete-Skript aus, und legen Sie ein Include-Präfix fest. Prüfen Sie die Ausgabe, und antworten Sie auf die
y/N
-Eingabeaufforderung.Hinweis: Alle Objekte im Präfix/Ordner und in Unterpräfixen/Unterordnern werden gelöscht. Gehen Sie beim Ausführen des Befehls vorsichtig vor. Wenn keine Übereinstimmung gefunden wird, werden alle Elemente im Bucket gelöscht.
$ python object_storage_bulk_delete.py -c $HOME/.oci/config -sb MyBucket -sp folder1 Connecting to Object Storage Service... Succeed. ########################################################################################## # Running Object Storage Bulk Delete # ########################################################################################## Written by Adi Zohar, July 2020 Starts at : 2024-05-30 18:51:32 Command Line : -c /home/opc/.oci/config -sb MyBucket -sp folder1 Source Namespace : namespace Source Bucket : MyBucket Source Prefix Include : folder1 Source Prefix Exclude : Source Region : us-ashburn-1 Are you sure you want to continue deleting ? [y/N]: y ########################################################################################## # Start Processing # ########################################################################################## 18:51:38 - Creating 40 workers. 18:51:38 - Getting list of objects from source source_bucket (MyBucket). delete will start immediately. 18:51:38 - Enqueued 700 objects to be deleted 18:51:38 - Waiting 60 seconds before checking status. 18:52:38 - deletion of all objects has been requested. ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-30 18:52:38
-
Führen Sie das Massenlöschskript mit dem Ausschlusspräfix aus.
$ python object_storage_bulk_delete.py -c $HOME/.oci/config -sb MyBucket -se folder1 Connecting to Object Storage Service... Succeed. ########################################################################################## # Running Object Storage Bulk Delete # ########################################################################################## Written by Adi Zohar, July 2020 Starts at : 2024-05-30 19:02:53 Command Line : -c /home/opc/.oci/config -sb MyBucket -se folder1 Source Namespace : namespace Source Bucket : MyBucket Source Prefix Include : Source Prefix Exclude : folder1 Source Region : us-ashburn-1 Are you sure you want to continue deleting ? [y/N]: y ########################################################################################## # Start Processing # ########################################################################################## 19:02:58 - Creating 40 workers. 19:02:58 - Getting list of objects from source source_bucket (MyBucket). delete will start immediately. 19:02:58 - Enqueued 60 objects to be deleted 19:02:58 - Waiting 60 seconds before checking status. 19:03:58 - deletion of all objects has been requested. ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-30 19:03:58
Hinweis: Alle Objekte im Bucket, die nicht im Ausschlusspräfix/-ordner enthalten sind, werden gelöscht. Seien Sie vorsichtig, wenn Sie dieses Skript ausführen. Wenn keine Übereinstimmung gefunden wird, werden alle Objekte im Bucket gelöscht.
Aufgabe 4: Globales Umbenennungsskript für Objekte verwenden
Mit dem Bulk-Umbenennungsskript können Sie Objekte umbenennen oder in einen anderen Ordner/ein anderes Präfix verschieben. Es ist wichtig zu verstehen, dass das Umbenennungsskript einfach die Namensmetadaten auf dem Objekt ändert, es ist keine Kopie des Objekts, es ist nur eine Umbenennung.
-
Führen Sie das Objekt-Bulk-Umbenennungsskript ohne Argumente aus, um die erforderlichen Parameter anzuzeigen.
$ python object_storage_bulk_rename.py Source bucket parameter is required !!! usage: object_storage_bulk_rename.py [-h] [-t CONFIG_PROFILE] [-p PROXY] [-ip] [-dt] [-c CONFIG_FILE] [-sb SOURCE_BUCKET] [-sp SOURCE_PREFIX_INCLUDE] [-sr SOURCE_REGION] [-sn SOURCE_NAMESPACE] [-textrem TEXT_REMOVE] [-textadd TEXT_APPEND] optional arguments: -h, --help show this help message and exit -t CONFIG_PROFILE Config file section to use (tenancy profile) -p PROXY Set Proxy (i.e. www-proxy-server.com:80) -ip Use Instance Principals for Authentication -dt Use Delegation Token for Authentication -c CONFIG_FILE Config File (default=~/.oci/config) -sb SOURCE_BUCKET Source Bucket Name -sp SOURCE_PREFIX_INCLUDE Source Prefix Include -sr SOURCE_REGION Source Region -sn SOURCE_NAMESPACE Source Namespace (Default current connection) -textrem TEXT_REMOVE text remove prefix (can be used to remove folder) -textadd TEXT_APPEND text append prefix (can be used to add folder)
-
Führen Sie eine OS-Objektliste aus, um aktuelle Objekte im Bucket anzuzeigen.
Existing Objects:
$ oci os object list --bucket-name MyBucket --query "data[].name" [ "file_1.txt", "file_10.txt", "file_2.txt", "file_3.txt", "file_4.txt", "file_5.txt", "file_6.txt", "file_7.txt", "file_8.txt", "file_9.txt", "hello_world" ]
-
Führen Sie das Bulk-Umbenennungsskript für Objekte aus, um den Namen der Objekte mit Datei am Anfang zu ändern, und ersetzen Sie es durch Objekt.
$ python object_storage_bulk_rename.py -c $HOME/.oci/config -sb MyBucket -textrem file -textadd object Connecting to Object Storage Service... Succeed. ########################################################################################## # Running Object Storage Bulk Rename # ########################################################################################## Written by Adi Z, March 2021 Starts at : 2024-05-31 23:09:13 Command Line : -c /home/opc/.oci/config -sb MyBucket -textrem file -textadd object Source Namespace : namespace Source Bucket : MyBucket Source Prefix Include : file Text Remove Prefix : file Text Append Prefix : object ########################################################################################## # Start Processing # ########################################################################################## 23:09:13 - Creating 40 workers. 23:09:13 - Getting list of objects from source source_bucket (MyBucket). Rename will start immediately. 23:09:13 - Enqueued 10 objects to be Renamed 23:09:13 - Waiting 60 seconds before checking status. 23:10:13 - Rename of all objects has been requested. ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-31 23:10:13
-
Führen Sie eine OS-Objektliste aus, um aktuelle Objekte im Bucket anzuzeigen und die Namensänderungen zu bemerken.
$ oci os object list --bucket-name MyBucket --query "data[].name" [ "hello_world", "object_1.txt", "object_10.txt", "object_2.txt", "object_3.txt", "object_4.txt", "object_5.txt", "object_6.txt", "object_7.txt", "object_8.txt", "object_9.txt" ]
-
Verschieben Sie alle Objekte mit der Zeichenfolge
object
im Namen in ein Verzeichnis namensdir1
.$ python object_storage_bulk_rename.py -c $HOME/.oci/config -sb MyBucket -sp object -textadd dir1/ Connecting to Object Storage Service... Succeed. ########################################################################################## # Running Object Storage Bulk Rename # ########################################################################################## Written by Adi Z, March 2021 Starts at : 2024-05-31 23:16:14 Command Line : -c /home/opc/.oci/config -sb MyBucket -sp object -textadd dir1/ Source Namespace : namespace Source Bucket : MyBucket Source Prefix Include : object Text Remove Prefix : Text Append Prefix : dir1/ ########################################################################################## # Start Processing # ########################################################################################## 23:16:14 - Creating 40 workers. 23:16:14 - Getting list of objects from source source_bucket (MyBucket). Rename will start immediately. 23:16:15 - Enqueued 10 objects to be Renamed 23:16:15 - Waiting 60 seconds before checking status. 23:17:15 - Rename of all objects has been requested. ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-31 23:17:15
-
Führen Sie die os-Objektliste aus, um die aktuellen Objekte im Bucket erneut anzuzeigen, und beachten Sie die Objekte, die in den Ordner/das Präfix
dir1
verschoben wurden.$ oci os object list --bucket-name MyBucket --query "data[].name" [ "dir1/object_1.txt", "dir1/object_10.txt", "dir1/object_2.txt", "dir1/object_3.txt", "dir1/object_4.txt", "dir1/object_5.txt", "dir1/object_6.txt", "dir1/object_7.txt", "dir1/object_8.txt", "dir1/object_9.txt", "hello_world" ]
Aufgabe 5: Skript "Objekt global kopieren" verwenden
Das Bulkkopierskript kopiert Objekte zwischen Buckets. Es kann zum Kopieren von Objekten zwischen Buckets in verschiedenen Regionen oder in verschiedenen Mandanten verwendet werden. Dieses Tutorial zeigt eine Kopie zwischen Buckets in demselben Mandanten regionsübergreifend, einem Bucket in us-ashburn-1 und einem anderen Bucket in us-phoenix-1. Wenn Sie das Skript mandantenübergreifend verwenden möchten, finden Sie weitere Informationen unter Auf Object Storage-Ressourcen mandantenübergreifend zugreifen.
Hinweis: Es gibt robustere Tools zum Bulkkopieren von Objekten zwischen Buckets, wie Rklon oder Obect Storage Replication.
-
Führen Sie das Objekt-Bulkkopierskript ohne Argumente aus, um die erforderlichen Parameter zu verstehen.
$ python object_storage_bulk_copy.py usage: object_storage_bulk_copy.py [-h] [-t CONFIG_PROFILE] [-p PROXY] [-ip] [-dt] [-c CONFIG_FILE] [-sb SOURCE_BUCKET] [-sr SOURCE_REGION] [-sn SOURCE_NAMESPACE] [-sp SOURCE_PREFIX_INCLUDE] [-se SOURCE_PREFIX_EXCLUDE] [-db DESTINATION_BUCKET] [-dr DESTINATION_REGION] [-dn DESTINATION_NAMESPACE] [-ig] optional arguments: -h, --help show this help message and exit -t CONFIG_PROFILE Config file section to use (tenancy profile) -p PROXY Set Proxy (i.e. www-proxy-server.com:80) -ip Use Instance Principals for Authentication -dt Use Delegation Token for Authentication -c CONFIG_FILE Config File (default=~/.oci/config) -sb SOURCE_BUCKET Source Bucket Name -sr SOURCE_REGION Source Region (Default current connection) -sn SOURCE_NAMESPACE Source Namespace (Default current connection) -sp SOURCE_PREFIX_INCLUDE Source Prefix Include -se SOURCE_PREFIX_EXCLUDE Source Prefix Exclude -db DESTINATION_BUCKET Destination Bucket Name -dr DESTINATION_REGION Destination Region -dn DESTINATION_NAMESPACE Destination Namespace (Default current connection) -ig Ignore Check if files exist at Destination
-
Führen Sie den Befehl zum Kopieren von Objekt-Bulkobjekten aus, um Objekte in einem Ordner/Präfix in einen Bucket in einer anderen Region zu kopieren.
Hinweis: In diesem Beispiel ist der Ziel-Bucket leer.
$ python object_storage_bulk_copy.py -c $HOME/.oci/config -sb MySourceBucket -db MyDestBucket -dr us-phoenix-1 ########################################################################################## # Connecting to Object Storage # ########################################################################################## Connecting to Object Storage Service for source region - us-ashburn-1 Succeed. Connecting to Object Storage Service for destination region - us-phoenix-1 Succeed. ########################################################################################## # Running Object Storage Bulk Copy # ########################################################################################## Written by Tim S and Adi Z, July 2020 Starts at : 2024-05-31 19:38:52 Command Line : -c /home/opc/.oci/config -sb MySourceBucket -db MyDestBucket Source Namespace : namespace Source Region : us-ashburn-1 Source Bucket : MySourceBucket Source Prefix : Dest Namespace : namespace Dest Region : us-phoenix-1 Dest Bucket : MyDestBucket State File : MySourceBucket.bulk.wrk ########################################################################################## # Start Processing # ########################################################################################## 19:38:52 - Creating 50 copy request workers. 19:38:52 - Creating 50 status workers. 19:38:52 - Loading list of objects from destination bucket (MyDestBucket) to ignore exiting files. 19:38:52 - Loaded 0 files. 19:38:52 - Getting list of objects from source bucket (MySourceBucket). Copies will start immediately. 19:38:52 - Enqueued 5 objects to be copied [...snip...] ########################################################################################## # Finish queuing files, start checking # ########################################################################################## 19:38:52 - Waiting 60 seconds before checking status. 19:39:52 - Determining copy status 19:39:52 - KNOWN: 1, REQUESTED: 0, COMPLETED: 4, FAILED: 0, CANCELED: 0
Aufgabe 6: Skript für Object Storage-Listenordner verwenden
Das Skript für Objektspeicherlistenordner listet alle Ordner/Präfixe im Bucket, die Gesamtgröße aller Objekte (Kilobyte) in jedem Ordner und die Anzahl der Objekte in jedem Ordner auf. Es gibt eine Option zum Filtern nach Präfix/Ordner.
-
Führen Sie das Objektlistenordnerskript ohne Argumente aus, um die Befehlszeilenoptionen zu verstehen.
$ python object_storage_list_folders.py Source bucket parameter is required !!! usage: object_storage_list_folders.py [-h] [-t CONFIG_PROFILE] [-p PROXY] [-ip] [-dt] [-c CONFIG_FILE] [-sb SOURCE_BUCKET] [-sp SOURCE_PREFIX] [-sr SOURCE_REGION] [-sn SOURCE_NAMESPACE] [-f FILE] optional arguments: -h, --help show this help message and exit -t CONFIG_PROFILE Config file section to use (tenancy profile) -p PROXY Set Proxy (i.e. www-proxy-server.com:80) -ip Use Instance Principals for Authentication -dt Use Delegation Token for Authentication -c CONFIG_FILE Config File (default=~/.oci/config) -sb SOURCE_BUCKET Source Bucket Name -sp SOURCE_PREFIX Source Prefix Include -sr SOURCE_REGION Source Region -sn SOURCE_NAMESPACE Source Namespace (Default current connection) -f FILE Output to file (as csv)
-
Führen Sie das Skript für Objektlistenordner für einen gesamten Bucket aus.
$ python object_storage_list_folders.py -c $HOME/.oci/config -sb MyBucket Connecting to Object Storage Service... Success. ########################################################################################## # Running List/Count Objects # ########################################################################################## Written By Adi Zohar, June 2020 Starts at :2024-05-30 21:25:06 Command Line : -c /home/opc/.oci/config -sb MyBucket Source Namespace : namespace Source Bucket : MyBucket Source Prefix : ########################################################################################## # Start Processing... # ########################################################################################## Folder Name | Size (KB) | Count -------------------------------------------------------------------------------- dir_1/ | 10240000.00 | 10 dir_10/ | 10240000.00 | 10 dir_2/ | 10240000.00 | 10 dir_3/ | 10240000.00 | 10 dir_4/ | 10240000.00 | 10 dir_5/ | 10240000.00 | 10 dir_6/ | 10240000.00 | 10 dir_7/ | 10240000.00 | 10 dir_8/ | 10240000.00 | 10 dir_9/ | 10240000.00 | 10 ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-30 21:25:06 Total Files : 103 Total Size : 137,069,854,720
-
Führen Sie das Skript für Objektlistenordner für einen bestimmten Ordner/ein bestimmtes Präfix aus.
$ python object_storage_list_folders.py -c $HOME/.oci/config -sb MyBucket -sp dir_1/ Connecting to Object Storage Service... Success. ########################################################################################## # Running List/Count Objects # ########################################################################################## Written By Adi Zohar, June 2020 Starts at :2024-05-30 21:27:41 Command Line : -c /home/opc/.oci/config -sb MyBucket -sp dir_1/ Source Namespace : namespace Source Bucket : MyBucket Source Prefix : dir_1/ ########################################################################################## # Start Processing... # ########################################################################################## Folder Name | Size (KB) | Count -------------------------------------------------------------------------------- dir_1/ | 10240000.00 | 10 ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-30 21:27:42 Total Files : 10 Total Size : 10,485,760,000
Aufgabe 7: Objektspeicherskript für Listenobjekte verwenden
Das Objektlistenskript listet jedes Objekt im Bucket, die Größe in Byte jedes Objekts, die Gesamtgröße aller Objekte und die Anzahl aller Objekte auf. Es gibt eine Option zum Filtern nach Präfix/Ordner.
-
Führen Sie das Objektlistenskript für einen gesamten Bucket aus.
$ python object_storage_list_objects.py -c $HOME/.oci/config -sb MyBucket Connecting to Object Storage Service... Success. ########################################################################################## # Running List/Count Objects # ########################################################################################## Written By Adi Zohar, June 2020 Starts at :2024-05-31 18:25:16 Command Line : -c /home/opc/.oci/config -sb MyBucket Source Namespace : namespace Source Bucket : MyBucket Source Prefix : Source Pre-Exclude : ########################################################################################## # Start Processing... # ########################################################################################## 10,737,418,240 | C 2024-01-30 23:58 | U 2024-01-30 23:58 | Standard | 10GB-Testfile 10,737,418,240 | C 2024-01-25 19:41 | U 2024-01-25 19:41 | Standard | 10GB-file 10,737,418,240 | C 2024-01-24 22:13 | U 2024-01-24 22:13 | Standard | 10GB_file 1,048,576,000 | C 2024-01-24 22:13 | U 2024-01-24 22:13 | Standard | dir_1/file_1 1,048,576,000 | C 2024-01-24 22:14 | U 2024-01-24 22:14 | Standard | dir_1/file_10 [...snip...] 1,048,576,000 | C 2024-01-24 23:10 | U 2024-01-24 23:10 | Standard | dir_9/file_8 1,048,576,000 | C 2024-01-24 23:10 | U 2024-01-24 23:10 | Standard | dir_9/file_9 ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-31 18:25:16 Total Files : 103 Total Size : 137,069,854,720
-
Führen Sie das Listenobjektskript aus, und filtern Sie nach einem Ordner/Präfix.
$ python object_storage_list_objects.py -c $HOME/.oci/config -sb MyBucket -sp dir_1/ Connecting to Object Storage Service... Success. ########################################################################################## # Running List/Count Objects # ########################################################################################## Written By Adi Zohar, June 2020 Starts at :2024-05-31 18:49:49 Command Line : -c /home/opc/.oci/config -sb MyBucket -sp dir_1/ Source Namespace : namespace Source Bucket : MyBucket Source Prefix : dir_1/ Source Pre-Exclude : ########################################################################################## # Start Processing... # ########################################################################################## 1,048,576,000 | C 2024-01-24 22:13 | U 2024-01-24 22:13 | Standard | dir_1/file_1 1,048,576,000 | C 2024-01-24 22:14 | U 2024-01-24 22:14 | Standard | dir_1/file_10 1,048,576,000 | C 2024-01-24 22:15 | U 2024-01-24 22:15 | Standard | dir_1/file_2 1,048,576,000 | C 2024-01-24 22:16 | U 2024-01-24 22:16 | Standard | dir_1/file_3 1,048,576,000 | C 2024-01-24 22:17 | U 2024-01-24 22:17 | Standard | dir_1/file_4 1,048,576,000 | C 2024-01-24 22:17 | U 2024-01-24 22:17 | Standard | dir_1/file_5 1,048,576,000 | C 2024-01-24 22:17 | U 2024-01-24 22:17 | Standard | dir_1/file_6 1,048,576,000 | C 2024-01-24 22:18 | U 2024-01-24 22:18 | Standard | dir_1/file_7 1,048,576,000 | C 2024-01-24 22:19 | U 2024-01-24 22:19 | Standard | dir_1/file_8 1,048,576,000 | C 2024-01-24 22:20 | U 2024-01-24 22:20 | Standard | dir_1/file_9 ########################################################################################## # Completed # ########################################################################################## Completed at : 2024-05-31 18:49:49 Total Files : 10 Total Size : 10,485,760,000
Verwandte Links
Danksagungen
-
Autor - Melinda Centeno (Leitender Produktmanager)
-
Mitwirkende - Adi Zohar (Master Principal Cloud Architect), Tim Sammut (Beratungsmitglied des technischen Personals)
Weitere Lernressourcen
Lernen Sie andere Übungen auf docs.oracle.com/learn kennen, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube Channel zu. Außerdem können Sie education.oracle.com/learning-explorer besuchen, um Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Use Oracle Cloud Infrastructure Object Storage Python Utilities for Bulk Operations
F61295-01
June 2024