OSSを操作するCLIツールのossutilを使う
Alibaba CloudのOSSの操作をossutilというCLIツールから行います。
ossutilのインストール
GOPATHとPATHが正しく設定されていたらgo getするだけでossutil
コマンドが使えるようになります。
$ go get github.com/aliyun/ossutil $ ossutil Usage: ossutil [command] [args...] [options...] Please use 'ossutil help command' to show help of command Commands: mb cloud_url [options] Make Bucket ls [cloud_url] [options] List Buckets or Objects rm cloud_url [options] Remove Bucket or Objects stat cloud_url [options] Display meta information of bucket or objects set-acl cloud_url [acl] [options] Set acl on bucket or objects set-meta cloud_url [meta] [options] set metadata on already uploaded objects cp src_url dest_url [options] Upload, Download or Copy Objects restore cloud_url [options] Restore Frozen State Object to Read Ready Status create-symlink cloud_url target_url [options] Create symlink of object read-symlink cloud_url [options] Display meta information of symlink object sign cloud_url [options] Generate download link for object Additional Commands: help [command] Get help about commands config [options] Create configuration file to store credentials hash file_url [options] Get crc64 or md5 of local file update [options] Update ossutil
ossutilの設定
まずOSSを使うための設定をします。
$ ossutil config The command creates a configuration file and stores credentials. Please enter the config file path(default /Users/ryouta/.ossutilconfig, carriage return will use the default path. If you specified this option to other path, you should specify --config-file option to the path when you use other commands):(空欄のままエンターでOK) No config file entered, will use the default config file /Users/ryouta/.ossutilconfig For the following settings, carriage return means skip the configuration. Please try "help config" to see the meaning of the settings. Please enter language(CH/EN, default is:EN, the configuration will go into effect after the command successfully executed):(空欄のままエンターでOK) Please enter accessKeyID:xxxxxxxxxxxxxxxxxx Please enter accessKeySecret:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Please enter stsToken:(空欄のままエンターでOK) Please enter endpoint:oss-cn-shanghai.aliyuncs.com
設定ファイルが~/.ossutilconfig
に保存されます。
ちなみに設定ファイル無しでもキーをオプションとして渡す事でコマンドを実行できます。
$ ossutil ls -i xxxxxxxxxxx -k xxxxxxxxxxxxxxx -e oss-cn-shanghai.aliyuncs.com
バケットの作成
ossutil mb
を使って新しくバケットを作ってossutil ls
でバケット一覧を確認します。
$ ossutil mb oss://test-cli 1.611435(s) elapsed $ ossutil ls CreationTime Region StorageClass BucketName 2018-07-26 21:06:57 +0900 JST oss-cn-shanghai Standard oss://asmsuechan-test 2018-07-27 15:11:33 +0900 JST oss-cn-shanghai Standard oss://test-cli Bucket Number is: 2 0.439196(s) elapsed
正常にバケットが作られています。
ファイルのアップロード
ファイルをアップロードするためにossutil cp
を実行します。詳しい使い方を見たい方はossutil help cp
でめちゃくちゃ長いヘルプを見られます。
$ ossutil cp dist/ oss://test-cli --recursive Succeed: Total num: 14, size: 725,292. OK num: 14(upload 11 files, 3 directories). 7.206872(s) elapsed
フォルダをアップロードするには--recursive
オプションを追加します。
アップロードしたファイルを確認するために再びossutil ls
を使います。
$ ossutil ls oss://test-cli LastModifiedTime Size(B) StorageClass ETAG ObjectName 2018-07-27 15:17:12 +0900 JST 8196 Standard D8001F81BBCC687AAACA833EA66CB065 oss://test-cli/.DS_Store 2018-07-27 15:17:12 +0900 JST 512 Standard 10E49BF0460DAC5697C308A346C53A41 oss://test-cli/index.html 2018-07-27 15:17:12 +0900 JST 0 Standard D41D8CD98F00B204E9800998ECF8427E oss://test-cli/static/ 2018-07-27 15:17:13 +0900 JST 10244 Standard E0C9BD48FEBAC2421F2C34C85465600B oss://test-cli/static/.DS_Store 2018-07-27 15:17:12 +0900 JST 0 Standard D41D8CD98F00B204E9800998ECF8427E oss://test-cli/static/css/ 2018-07-27 15:17:13 +0900 JST 432 Standard 9932FCAFDD19A1DD5F429F27F849AC9F oss://test-cli/static/css/app.30790115300ab27614ce176899523b62.css 2018-07-27 15:17:13 +0900 JST 828 Standard 8A61BB8901D198C272CA284E8B506C53 oss://test-cli/static/css/app.30790115300ab27614ce176899523b62.css.map 2018-07-27 15:17:13 +0900 JST 0 Standard D41D8CD98F00B204E9800998ECF8427E oss://test-cli/static/js/ 2018-07-27 15:17:13 +0900 JST 11602 Standard 8DF2FAF803D14D17CF3F35629298F1DF oss://test-cli/static/js/app.b22ce679862c47a75225.js 2018-07-27 15:17:14 +0900 JST 22225 Standard D9512476DCD0415349BEBED038BCD723 oss://test-cli/static/js/app.b22ce679862c47a75225.js.map 2018-07-27 15:17:14 +0900 JST 857 Standard 323055C248C0CBF6E12CF4B27D6DFD9B oss://test-cli/static/js/manifest.2ae2e69a05c33dfc65f8.js 2018-07-27 15:17:14 +0900 JST 4972 Standard 549EF9C1482F2D5944947F3D2C4B8CF1 oss://test-cli/static/js/manifest.2ae2e69a05c33dfc65f8.js.map 2018-07-27 15:17:15 +0900 JST 112107 Standard 0A693543CBAD654EF586AE02F0304905 oss://test-cli/static/js/vendor.7fed9fa7b7ba482410b7.js 2018-07-27 15:17:18 +0900 JST 553317 Standard 384C08584781091DA6A8FB3A4323AF51 oss://test-cli/static/js/vendor.7fed9fa7b7ba482410b7.js.map Object Number is: 14 0.545218(s) elapsed