Alibab Cloud ossutilについて紹介します
ossutilの手順
本書は、ossutilの使用手順を記載します。
1.ossutilとは
1-1.ossutilとは
1)ossutilは、コマンドラインでOSSデータを管理するツールです。ストレージスペース(バケット)およびファイル(オブジェクト)に対し、便利で簡潔かつ豊富な管理コマンドを提供しています。
ossutilは下記機能を提供します。
①バケットの管理 例えば:バケットの作成、リスト、削除など。
②オブジェクトの管理 例えば:オブジェクトのアップロード、ダウンロード、リスト、コピー、削除など。
③フラグメント(パーツ)の管理 例えば:パーツのリストや削除など。
2)コマンドリスト
コマンド名 | 説明 |
---|---|
appendfromfile | ローカルファイル内容を追加アップロードの方法でOSSのappendable Objectにアップロードする |
bucket-encryption | 追加、変更、照会、または削除バケットの暗号化構成 |
bucket-policy | 追加、変更、照会、または削除バケットのポリシー構成 |
bucket-tagging | 追加、変更、照会、または削除バケットのラベル構成 |
bucket-versioning | 追加または照会バケットのバージョンコントロール構成 |
cat | テキストの内容をossutilに出力する |
config | OSSアクセス情報を保存するための構成ファイルを作成します |
cors | 追加、変更、照会、または削除バケットのCORS構成 |
cors-options | Bucketが指定されたクロスドメインアクセスリクエストを許可するかをテストするために使用される |
cp | ファイルのアップロード、ダウンロード、コピーに使用される |
create-symlink | シンボルリンクの作成(ソフトリンク) |
du | 指定のバケットオブジェクトまたはファイルディレクトリのストレージサイズを取得するために使用される |
getallpartsize | バケット内すべてアップロード未完成のMultipartタスクの各シャードサイズとシャード合計サイズを取得する |
hash | ローカルファイルのCRC64またはMD5を計算するために使用される |
help | コマンドのヘルプ情報を取得するコマンド |
inventory | 追加、照会、リストまたは削除バケットのリストルール |
lifecycle | ライフサイクルルールを追加、変更、照会、または削除するコマンド |
listpart | シャードアップロードを完了していないオブジェクトのフラグメント情報を表示する |
logging | 追加、変更、照会、または削除バケットのログ管理構成 |
ls | Bucket、ObjectとPartのリスト |
mb | バケットの作成 |
mkdir | Bucketにフォルダを作成する |
object-tagging | 追加、変更、照会、または削除オブジェクトのラベル構成 |
probe | ネットワーク故障またはパラメータ設定による問題の検証コマンド |
read-symlink | シンボルリンク(ソフトリンク)ファイルの情報を取得する |
referer | 追加、変更、照会、または削除バケットのreferer構成 |
restore | 凍結されたオブジェクトを読み取り可能な状態に復元する |
request-payment | Bucketのリクエスター支払いモード構成を設定または照会する |
revert-versioning | バージョン管理が有効になるバケットにファイルを最新バージョンに復元するために、オブジェクトの削除ステータスIS-LATESTの属性がtrueの削除フラグを削除するために使用される |
rm | Bucket、ObjectとPartの削除 |
set-acl | BucketまたはObjectのACLを設定する |
set-meta | アップロード済みのオブジェクトのメタデータを設定する |
sign | サードパーティユーザがバケット内のオブジェクトにアクセスする用の署名付きURLを生成するために使用される |
stat | 指定されたバケットまたはオブジェクトの説明情報を取得する |
update | ossutilのバージョンを更新する |
website | 追加、変更、照会、または削除バケットのWebサイトホスティング構成、リダイレクト構成、ソースにミラーバック |
1-2.ossutilのダウンロードリンク
ossutilは、Windows、Linux、macOSなどの環境でサポートしています。実際の環境に応じて、適切なバージョンをダウンロードしてインストールできます。
1)ダウンロードリンク Windows/Linux/macOS環境、x86(32bit、64bit)、ARM(32bit、64bit)アーキテクチャをサポートします |ossutilダウンロードリンク|バージョン| |--|--| |Linux x86 32bit|1.7.3| |Linux x86 64bit|1.7.3| |Windows x86 32bit|1.7.3| |Windows x86 64bit|1.7.3| |macOS x86 32bit|1.7.3| |macOS x86 64bit|1.7.3| |ARM 32bit|1.7.3| |ARM 64bit|1.7.3|
2.Windowsで64bitのossutilを紹介します
2-1.Windowsで64bitのossutilをインストールします
1)ossutilをダウンロードします ①下記リンクでossutilをダウンロードします Windows x86 64bit
②Zipファイルを解凍します
2)ossutilを設定します ①ossutil.batをダブルクリックして実行します
②下記コマンドを実行し、configファイルを設定します
#ossutil64.exe config
Config設定 | 値 |
---|---|
保存ファイル名とパス | なし |
Language | EN |
Endpoint | https://oss-ap-northeast-1.aliyuncs.com |
accessKeyID | LT****KwQ |
accessKeySecret | e****VU |
stsToken | なし |
Config設定方法をご参照ください
③configファイルがデフォルトのパス「C:\Users\Nancy.ossutilconfig」に作成される
④configファイルを確認します
## 2-2.Windowsでossutilのコマンドを実行します ### 2-2-1.mb―バケットを作成します ①コマンドフォーマット
./ossutil64 mb oss://bucketname [--acl <value>][--storage-class <value>][--redundancy-type <value>]
②ossutil64.exeのフォルダでCMDを開き、下記のコマンドを実行します
ossutil64 mb oss://winbucket202106
レスポンス:
1.030347(s) elapsed
③コンソール画面にバケットを確認します
### 2-2-2.mkdir―ディレクトリを作成します
コマンドフォーマット
./ossutil64 mkdir oss://bucketname dirname [--encoding-type <value>]
1)単一レベルのディレクトリを作成します
①下記のコマンドを実行します
ossutil64 mkdir oss://winbucket202106/winfolder
レスポンス:
0.416390(s) elapsed
②コンソール画面にディレクトリを確認します
2)マルチレベルディレクトリを作成します
①下記のコマンドを実行します
ossutil64 mkdir oss://winbucket202106/winmultifolder/2021/06
レスポンス:
0.369116(s) elapsed
②コンソール画面にバディレクトリを確認します
### 2-2-3.cp―ファイルをアップロードします 1)コマンドフォーマット
./ossutil cp file_url cloud_url [-r] [-f] [-u] [--enable-symlink-dir] [--disable-all-symlink] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--snapshot-path=sdir] [--payer requester] [--tagging]
説明: file_url:ローカルパスである。Linuxシステムのファイルパス /localfolder/examplefile.txt、Windowsシステムのファイルパス D:\localfolder\examplefile.txt cloud_url:OSSのファイルパス,フォーマットはoss://bucketname/objectname、例:oss://examplebucket/examplefile.txt
・cpコマンドでファイルをアップロードする際に、デフォルトでシャードアップロードと中断後継続アップロードの方法を使います。ユーザーの原因でアップロードが中断された場合、パートのファイルはOSSに保存され、費用もかかるため、必要でない場合、削除してください。rmコマンドまたはライフサイクルの設定で削除できます。 ・cpコマンドを使用してローカルファイルまたはフォルダーをOSSにアップロードします
2)単一ファイルをアップロードします
アップロードの際に、file名が指定しない場合、ローカルファイル名でアップロードする。指定する場合、指定されたファイル名としてアップロードします ①ローカルファイルを用意します
F:\ossutil64\example.txt
②ターゲットOSSパス
oss://winbucket202106/winfolder/
③下記のコマンドを実行します
ossutil64 cp F:\ossutil64\example.txt oss://winbucket202106/winfolder/
レスポンス:
F:\ossutil64>ossutil64 cp F:\ossutil64\example.txt oss://winbucket202106/winfolder/Succeed: Total num: 1, size: 27. OK num: 1(upload 1 files).average speed 0(byte/s)0.442846(s) elapsed
④ファイルを確認します
3)フォルダ内のファイルのみをアップロードします ①ローカルファイルを用意します
F:\ossutil64\folder2\example.txt
②ターゲットOSSパス
oss://winbucket202106/winmultifolder/
③下記のコマンドを実行します
ossutil64 cp folder2/ -r oss://winbucket202106/winmultifolder/
レスポンス:
F:\ossutil64>ossutil64 cp folder2/ -r oss://winbucket202106/winmultifolder/Succeed: Total num: 1, size: 27. OK num: 1(upload 1 files).average speed 0(byte/s)0.425603(s) elapsed
④ファイルを確認します
4)フォルダおよびフォルダ内のファイルをアップロードします
①ローカルファイルを用意します
F:\ossutil64\uploadtest\folder2\example.txtF:\ossutil64\uploadtest\folder2\example1.txtF:\ossutil64\uploadtest\folder2\ossutil64.exe
②ターゲットOSSパス
oss://winbucket202106/winmultifolder/2021/
③下記のコマンドを実行します
ossutil64 cp uploadtest/folder2/ -r oss://winbucket202106/winmultifolder/2021/folder2/
レスポンス:
F:\ossutil64>ossutil64 cp uploadtest/folder2/ -r oss://winbucket202106/winmultifolder/2021/folder2/Total num: 3, size: 10,295,862. Dealed num: 2(upload 2 files), OK size: 6,467,638, Progress: 62.818%, Speed: 1263.21KB/s Succeed: Total num: 3, size: 10,295,862. OK num: 3(upload 3 files).average speed 1284000(byte/s)8.026794(s) elapsedF:\ossutil64>
④ファイルを確認します
### 2-2-4.cp―ファイルをダウンロードします 1)コマンドフォーマット
./ossutil cp cloud_url file_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--range=x-y] [--payer requester] [--version-id versionId]
2) ①OSSファイル
②下記のコマンドを実行します
ossutil64 cp -r oss://winbucket202106/winmultifolder/2021/folder2/ download/
レスポンス
F:\ossutil64>ossutil64 cp -r oss://winbucket202106/winmultifolder/2021/folder2/ /download/Succeed: Total num: 3, size: 10,295,862. OK num: 3(download 3 objects).average speed 81000(byte/s)126.788321(s) elapsedF:\ossutil64>ossutil64 cp -r oss://winbucket202106/winmultifolder/2021/folder2/ download/Succeed: Total num: 3, size: 10,295,862. OK num: 3(download 3 objects).average speed 116000(byte/s)88.682866(s) elapsed
③ファイルを確認します
### 2-2-5.cp―ファイルをコピーします 1)コマンドフォーマット
./ossutil cp cloud_url cloud_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--payer requester] [--version-id versionId] [--tagging]
2)ファイルをコピーします ①コピー元ファイルを確認します
②コピー先を確認します
③下記のコマンドを実行します
ossutil64 cp oss://winbucket202106/winmultifolder/2021/folder2/ oss://winbucket202106/winmultifolder/2021/06/ -r
レスポンス
F:\ossutil64>ossutil64 cp oss://winbucket202106/winmultifolder/2021/folder2/ oss://winbucket202106/winmultifolder/2021/06/ -rSucceed: Total num: 3, size: 10,295,862. OK num: 3(copy 3 objects).average speed 10064000(byte/s)1.035505(s) elapsedF:\ossutil64>
④ファイルを確認します
### 2-2-6.rm-ファイルを削除します
1)コマンドフォーマット
./ossutil64 rm oss://bucketname[/prefix][-r,--recursive][-b,--bucket][-m,--multipart][-a,--all-type][-f,--force][--include <value>][--exclude <value>][--version-id <value>][--all-versions][--payer <value>][--encoding-type <value>]
2)ファイルを削除します ①ファイルを確認します
②rmコマンドを実行します
ossutil64 rm oss://winbucket202106/winmultifolder/2021/06/ -r
レスポンス
F:\ossutil64>ossutil64 rm oss://winbucket202106/winmultifolder/2021/06/ -rDo you really mean to remove recursively objects of oss://winbucket202106/winmultifolder/2021/06/(y or N)? ySucceed: Total 4 objects. Removed 4 objects.8.829980(s) elapsedF:\ossutil64>
③ファイルが削除されました
④フォルダも削除されました
3.Linuxで64bitのossutilを紹介します
## 3-1.Linuxで64bitのossutilをインストールします 1)Linux環境を用意します ①CentOS ECSを用意します
2)ossutilをダウンロードします ①下記リンクからLinuxのOSSutilをダウンロードします
②ダウンロードする際にはspmのパラメータを削除し、下記コマンドでossutilをダウンロードします
#wget http://gosspublic.alicdn.com/ossutil/1.7.3/ossutil64
②ossutil64の755権限を与える
#chmod 755 ossutil64
3)ossutilを設定します ①下記コマンドを実行し、configファイルを設定します
#./ossutil64 config
Config設定 | 値 |
---|---|
保存ファイル名とパス | デフォルト |
Language | EN |
Endpoint | https://oss-ap-northeast-1.aliyuncs.com |
accessKeyID | LT****KwQ |
accessKeySecret | e****VU |
stsToken | なし |
Config設定方法をご参照ください
②configファイルがデフォルトのパス「C:\Users\Nancy.ossutilconfig」に作成される
③configファイルを確認します
## 3-2.Linuxでossutilのコマンドを実行します ### 3-2-1.mb―バケットを作成します ①コマンドフォーマット
./ossutil64 mb oss://bucketname [--acl <value>][--storage-class <value>][--redundancy-type <value>]
②ossutil64.exeのフォルダでCMDを開き、下記のコマンドを実行します
./ossutil64 mb oss://linuxbucket202106
レスポンス:
# ./ossutil64 mb oss://linuxbucket2021060.742198(s) elapsed
③コンソール画面にバケットを確認します
### 3-2-2.mkdir―ディレクトリを作成します
コマンドフォーマット
./ossutil64 mkdir oss://bucketname dirname [--encoding-type <value>]
1)単一レベルのディレクトリを作成します
①下記のコマンドを実行します
./ossutil64 mkdir oss://linuxbucket202106/linuxfolder
レスポンス:
# ./ossutil64 mkdir oss://linuxbucket202106/linuxfolder0.052279(s) elapsed
②コンソール画面にディレクトリを確認します
2)マルチレベルディレクトリを作成します
①下記のコマンドを実行します
./ossutil64 mkdir oss://linuxbucket202106/linuxmultifolder/2021/06
レスポンス:
./ossutil64 mkdir oss://linuxbucket202106/linuxmultifolder/2021/060.035308(s) elapsed
②コンソール画面にディレクトリを確認します
### 3-2-3.cp―ファイルをアップロードします 1)コマンドフォーマット
./ossutil cp file_url cloud_url [-r] [-f] [-u] [--enable-symlink-dir] [--disable-all-symlink] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--snapshot-path=sdir] [--payer requester] [--tagging]
説明: file_url:ローカルパスである。Linuxシステムのファイルパス /localfolder/examplefile.txt、Windowsシステムのファイルパス D:\localfolder\examplefile.txt cloud_url:OSSのファイルパス,フォーマットはoss://bucketname/objectname、例:oss://examplebucket/examplefile.txt
・cpコマンドでファイルをアップロードする際に、デフォルトでシャードアップロードと中断後継続アップロードの方法を使います。ユーザーの原因でアップロードが中断された場合、パートのファイルはOSSに保存され、費用もかかるため、必要でない場合、削除してください。rmコマンドまたはライフサイクルの設定で削除できます。 ・cpコマンドを使用してローカルファイルまたはフォルダーをOSSにアップロードします
2)単一ファイルをアップロードします
アップロードの際に、file名が指定しない場合、ローカルファイル名でアップロードする。指定する場合、指定されたファイル名としてアップロードします ①ローカルファイルを用意します
root/example.txt
②ターゲットOSSパス
oss://linuxbucket202106/linuxfolder/
③下記のコマンドを実行します
./ossutil64 cp example.txt oss://linuxbucket202106/linuxfolder/
レスポンス:
./ossutil64 cp example.txt oss://linuxbucket202106/linuxfolder/Succeed: Total num: 1, size: 37. OK num: 1(upload 1 files).average speed 0(byte/s)0.053621(s) elapsed
④ファイルを確認します
3)フォルダ内のファイルのみをアップロードします ①ローカルファイルを用意します
root/folder2/example2.txt
②ターゲットOSSパス
oss://linuxbucket202106/linuxmultifolder/
③下記のコマンドを実行します
./ossutil64 cp folder2/ -r oss://linuxbucket202106/linuxmultifolder/
レスポンス:
# ./ossutil64 cp folder2/ -r oss://linuxbucket202106/linuxmultifolder/Succeed: Total num: 1, size: 34. OK num: 1(upload 1 files).average speed 0(byte/s)0.061058(s) elapsed
④ファイルを確認します
4)フォルダおよびフォルダ内のファイルをアップロードします
①ローカルファイルを用意します
root/folder2/example1.txtroot/folder2/example2.txtroot/folder2/ossutil64.exe
②ターゲットOSSパス
oss://linuxbucket202106/linuxmultifolder/2021/
③下記のコマンドを実行します
#./ossutil64 cp folder2/ -r oss://linuxbucket202106/linuxmultifolder/2021/folder2/
レスポンス:
# ./ossutil64 cp folder2/ -r oss://linuxbucket202106/linuxmultifolder/2021/folder2/Succeed: Total num: 3, size: 10,295,869. OK num: 3(upload 3 files).average speed 705000(byte/s)14.593219(s) elapsed
④ファイルを確認します
### 3-2-4.cp―ファイルをダウンロードします 1)コマンドフォーマット
./ossutil cp cloud_url file_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--range=x-y] [--payer requester] [--version-id versionId]
2)ファイルをダウンロードします ①OSSファイル
②Localフォルダ確認 ③下記のコマンドを実行します
./ossutil64 cp -r oss://linuxbucket202106/linuxmultifolder/2021/folder2/ download/
レスポンス
# ./ossutil64 cp -r oss://linuxbucket202106/linuxmultifolder/2021/folder2/ download/Succeed: Total num: 3, size: 10,295,869. OK num: 3(download 3 objects).average speed 63949000(byte/s)0.161218(s) elapsed
④ファイルを確認します
### 3-2-5.cp―ファイルをコピーします 1)コマンドフォーマット
./ossutil cp cloud_url cloud_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--payer requester] [--version-id versionId] [--tagging]
2)ファイルをコピーします ①コピー元ファイルを確認します
②コピー先を確認します
③下記のコマンドを実行します
./ossutil64 cp oss://linuxbucket202106/linuxmultifolder/2021/folder2/ oss://linuxbucket202106/linuxmultifolder/2021/06/ -r
レスポンス
# ./ossutil64 cp oss://linuxbucket202106/linuxmultifolder/2021/folder2/ oss://linuxbucket202106/linuxmultifolder/2021/06/ -rSucceed: Total num: 3, size: 10,295,869. OK num: 3(copy 3 objects).average speed 48565000(byte/s)0.212667(s) elapsed
④ファイルを確認します
### 3-2-6.rm-ファイルを削除します
1)コマンドフォーマット
./ossutil64 rm oss://bucketname[/prefix][-r,--recursive][-b,--bucket][-m,--multipart][-a,--all-type][-f,--force][--include <value>][--exclude <value>][--version-id <value>][--all-versions][--payer <value>][--encoding-type <value>]
2)ファイルを削除します ①ファイルを確認します
②rmコマンドを実行します
./ossutil64 rm oss://linuxbucket202106/linuxmultifolder/2021/06/ -r
レスポンス
# ./ossutil64 rm oss://linuxbucket202106/linuxmultifolder/2021/06/ -rDo you really mean to remove recursively objects of oss://linuxbucket202106/linuxmultifolder/2021/06/(y or N)? ySucceed: Total 4 objects. Removed 4 objects.4.547991(s) elapsed
③ファイルが削除されました
④フォルダも削除されました
macOSとARMの環境での使用手順はmacosとARMのossutilバージョンをダウンロードします。使用手順はLinuxのと同じです。
最後に
以上、ossutilについてをご紹介しました。ossutilを使った開発をする際、ご参考になれば幸いです。