バルク操作でのOracle Cloud Infrastructure Object Storage Pythonユーティリティの使用
はじめに
Oracle Cloud Infrastructure(OCI)Object Storageを使用すると、あらゆるタイプのデータをネイティブ形式で安全に格納できます。組み込みの冗長性により、OCI Object Storageは、分析、バックアップ、アーカイブの目的で複数のデータ・ソースを統合するために使用できるため、スケールと柔軟性を必要とする最新のアプリケーションの構築に最適です。
OCI Object Storageは、クラウド・ワークロードの基盤です。弾力性、スケーラビリティ、信頼性、コスト効率により、クラウド内の非構造化データのプライマリ・ストレージとなっています。その人気の結果、OCI Object Storageと連携するツールの広範なエコシステムがあります。このチュートリアルでは、利用可能なさまざまなツールとワークロードでそれらを使用する方法をよりよく理解するための経路を提供することを目的とした一連の「パワーツール」の最初のものです。
この最初のチュートリアルでは、バルク操作にOCI Object Storageを使用したPython SDKを使用したGitHubで使用可能なサンプル・スクリプトを紹介します。
対象読者
DevOpsエンジニア、開発者、OCI Object Storage管理者およびユーザー、ITマネージャー、OCIパワー・ユーザーおよびアプリケーション管理者。
目標
- Pythonスクリプトの例を使用して、一括リストア、削除、コピー、名前変更、オブジェクト情報のリストなど、OCI Object Storageでの一括操作を処理します。
前提条件
-
OCIアカウント。
-
.ociというサブディレクトリ内のホーム・ディレクトリ内の作業構成ファイル。詳細は、構成ファイルの設定に関する項を参照してください。 -
OCI Object Storageバケットへのアクセス。
-
OCIオブジェクト・ストレージを使用するためのOCIのユーザー権限には、少なくとも1つのバケット内のオブジェクトを管理するためのアクセス権があります。詳細は、共通ポリシーおよびポリシー・リファレンスを参照してください
-
実行環境: LinuxOCIインスタンスであるOCI Cloud Shellへのアクセス。
-
Gitパッケージが実行環境にインストールされ、
gitコマンドに精通しています。 -
Python 3がインストールされています。
-
PythonおよびPythonモジュールの使用に関する知識。
タスク1: 環境の設定
-
OCIソフトウェア開発キット(SDK)パッケージをインストールします。
pip3 install --user oci -
OCI SDKリポジトリをクローニングします。
$ 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.ノート:これらは、OCI Python SDKを使用するサンプル・スクリプトで、公式のOracle applicationsではなく、Oracleによって保守またはサポートされません。これらは例であるため、独自のソフトウェア・リポジトリのユース・ケースに合わせて確認、更新およびカスタマイズできます。
-
サンプル・ディレクトリに移動します。ホーム・ディレクトリにインストールされている場合は、次のコマンドを実行します。
cd $HOME/oci-python-sdk/examples/object_storage
タスク2: オブジェクトの一括リストア・スクリプトの使用
一括リストア・スクリプトは、ソース・バケット内のアーカイブ済オブジェクトをパラレル・スレッドでリストアします。
-
引数なしで一括リストア・スクリプトを実行して、必要な引数を確認します。
$ 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)ノート:このチュートリアルでは、すべてのスクリプトに構成ファイルを使用します。スクリプトは、スクリプト引数として指定されていない場合、構成ファイルにリストされているリージョンにデフォルト設定されます。
-
接頭辞引数を使用せずにスクリプトを実行します。これにより、すべてのアーカイブ・オブジェクトがリストアされます。
$ 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ノート:リストアされたオブジェクトはすぐには使用できません。リストアでは、アーカイブ・ストレージ・リストア・リクエストが行われた時点から、データの最初のバイトが取得される時点まで最大で1時間かかります。
-
prefix引数を指定してスクリプトを実行します。
$ 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ノート:指定された接頭辞/フォルダおよびサブ接頭辞/サブフォルダ内のすべてのアーカイブ・オブジェクトがリストアされます。
タスク3: オブジェクトの一括削除スクリプトの使用
オブジェクト一括削除スクリプトは、フィルタするオプションを使用してバケットからオブジェクトを削除します。
-
使用方法を確認するには、引数を指定せずにスクリプトを実行します。
$ 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ノート:包含または除外プリフィクスを指定せずにスクリプトを実行すると、バケット内のすべてのアイテムが削除されます。
-
一括削除スクリプトを実行して、インクルード接頭辞を設定し、出力を確認して
y/Nプロンプトに応答します。ノート:接頭辞/フォルダおよびサブ接頭辞/サブフォルダ内のすべてのオブジェクトは削除されます。コマンドの実行時には注意してください。一致するものが見つからない場合、バケット内のすべてのアイテムが削除されます。
$ 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 -
除外接頭辞を指定して一括削除スクリプトを実行します。
$ 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ノート:除外プリフィクス/フォルダにないバケット内のすべてのオブジェクトが削除されます。このスクリプトを実行するときは注意してください。一致するものが見つからない場合、バケット内のすべてのオブジェクトが削除されます。
タスク4: オブジェクトの一括名前変更スクリプトの使用
一括名前変更スクリプトを使用すると、オブジェクトの名前を変更したり、オブジェクトを別のフォルダ/接頭辞に移動できます。名前変更スクリプトは、オブジェクトの名前メタデータを単に変更するだけで、オブジェクトのコピーではなく、名前変更のみであることを理解することが重要です。
-
必要なパラメータを表示するには、引数を指定せずにオブジェクトの一括名前変更スクリプトを実行します。
$ 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) -
osオブジェクト・リストを実行して、バケット内の現在のオブジェクトを表示します。
既存のオブジェクト:
$ 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" ] -
オブジェクトの一括名前変更スクリプトを実行して、先頭にfileがあるオブジェクトの名前を変更し、それをobjectに置き換えます。
$ 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 -
osオブジェクト・リストを実行して、バケット内の現在のオブジェクトを表示し、名前が変更されていることを確認します。
$ 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" ] -
名前に文字列
objectが含まれるすべてのオブジェクトを、dir1という名前のディレクトリに移動します。$ 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 -
osオブジェクト・リストを実行して、バケット内の現在のオブジェクトを再度表示し、
dir1という名前のフォルダ/接頭辞に移動されたオブジェクトを確認します。$ 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" ]
タスク5: オブジェクトの一括コピー・スクリプトの使用
バルク・コピー・スクリプトはバケット間でオブジェクトをコピーし、異なるリージョンまたは異なるテナンシ内のバケット間でオブジェクトをコピーするために使用できます。このチュートリアルでは、リージョン間で同じテナンシ内のバケット間、us-ashburn-1内の1つのバケットとus-phoenix-1内の別のバケット間のコピーを示します。テナンシ間でスクリプトを使用する場合は、テナンシ間のオブジェクト・ストレージ・リソースへのアクセスを参照してください。
ノート: RcloneやObect Storage Replicationなどのバケット間でオブジェクトを一括コピーする、より堅牢なツールがあります。
-
必要なパラメータを理解するために、引数なしでオブジェクト・バルク・コピー・スクリプトを実行します。
$ 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 -
オブジェクト・バルク・オブジェクト・コピー・コマンドを実行して、フォルダ/接頭辞内のオブジェクトを別のリージョンのバケットにコピーします。
ノート:この例では、宛先バケットは空です。
$ 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
タスク6: オブジェクト・ストレージ・リスト・フォルダ・スクリプトの使用
オブジェクト・ストレージ・リスト・フォルダ・スクリプトでは、バケット内の各フォルダ/接頭辞、各フォルダ内のすべてのオブジェクトの合計サイズ(KB)、および各フォルダ内のオブジェクト数がリストされます。接頭辞/フォルダでフィルタするオプションがあります。
-
コマンドライン・オプションを理解するために、引数なしでオブジェクト・リスト・フォルダ・スクリプトを実行します。
$ 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) -
バケット全体に対してオブジェクト・リスト・フォルダ・スクリプトを実行します。
$ 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 -
特定のフォルダ/接頭辞に対してオブジェクト・リスト・フォルダ・スクリプトを実行します。
$ 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
タスク7: オブジェクト・ストレージのリスト・オブジェクト・スクリプトの使用
オブジェクト・リスト・スクリプトは、バケット内の各オブジェクト、各オブジェクトのサイズ(バイト単位)、すべてのオブジェクトの合計サイズおよびすべてのオブジェクトの数をリストします。接頭辞/フォルダでフィルタするオプションがあります。オブジェクト・リスト・スクリプトは、文字列に基づいてバケットまたは接頭辞内のオブジェクトを検索する場合にも使用できます。
-
バケット全体に対してオブジェクト・リスト・スクリプトを実行します。
$ 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 -
リスト・オブジェクト・スクリプトを実行し、フォルダ/接頭辞でフィルタします。
$ 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 -
リスト・オブジェクト・スクリプトを実行し、接頭辞/フォルダ内のオブジェクトの先頭にある文字列のフォルダ/接頭辞をフィルタします。
$ python object_storage_list_objects.py -sb MyBucket -sp dir2/foo
Connecting to Object Storage Service...
Success.
##########################################################################################
# Running List/Count Objects #
##########################################################################################
Written By Adi Zohar, June 2020
Starts at :2025-09-19 23:09:47
Command Line : -sb ash-30M -sp dir2/foo
Source Namespace : ocitsammut
Source Bucket : MyBucket
Source Prefix : dir2/foo
Source Pre-Exclude :
##########################################################################################
# Start Processing... #
##########################################################################################
4 | C 2025-09-19 21:34 | U 2025-09-19 21:34 | Standard | dirr2/foo.txt
4 | C 2025-09-19 21:34 | U 2025-09-19 21:34 | Standard | dir2/foo1.txt
4 | C 2025-09-19 21:34 | U 2025-09-19 21:34 | Standard | dir2/foo2.txt
##########################################################################################
# Completed #
##########################################################################################
Completed at : 2025-09-19 23:09:47
Total Files : 3
Total Size : 12
関連リンク
確認
-
著者 - Melinda Centeno (シニア・プリンシパル・プロダクト・マネージャー)
-
貢献者 - Adi Zohar氏(マスター・プリンシパル・クラウド・アーキテクト)、Tim Sammut氏(テクニカル・スタッフ・コンサルティング・メンバー)
その他の学習リソース
docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Use Oracle Cloud Infrastructure Object Storage Python Utilities for Bulk Operations
G10220-03