はじめに
前回の記事「Aspera Transfer SDKを使ってIBM Cloud Object Storage (ICOS) へ高速転送を実現する」でSDKの使い方を紹介しましたが、この記事でAspera CLIの使い方を説明させていただきます。
Aspera CLIをInstallする
Aspera DownloadのページでIBM Aspera CLIのブロックをクリックします。
次はGitHubのIBM/aspera-cliのRepository Pageになります。
画面を下にスクロールすると、Aspera CLI のInstallと使用方法を説明するREADME.mdがあります。結構長いREADMEですが、先ずはInstallationの部分に行きます。
記載の通り、Aspera CLI はHost OS (Linux、macOS、Windows) に直接Installすることもできますし、ContainerとしてInstallすることもできます。
私のPCはWindowsなので、Host OSに直接Installするのを選択しました。よって、順番に下記の3つのコンポーネントのInstallしましょう:
- Ruby
- aspera-cli
- Aspera SDK (ascp)
基本的にはGitHubの手順に従えば良いと思います。ただし、手順が非常に長く、どこかで迷ってしまう恐れがありますので、主な手順を説明します。
1. RubyをInstallする
OSに応じてRubyのInstall方法が変わります。WindowやMacの場合には、READMEの下記のような部分にご参考ください。
私のWindow PCで、簡単にhttps://rubyinstaller.org/ Siteに行って、WITH DEVKITの最新版をDownloadしました。
Downloadしたrubyinstaller-devkit-3.2.2-1-x64.exe FileをDouble ClickしてRubyをInstall始めます。その流れの中で、Select ComponentsのStepで必ずMSYS2 development toolchain 2023-04-01をご選択ください。
後は、Finish ボタンを押す前に、Run 'ridk install' to set up MSYS2 and development toolchainとの選択しがCheckされたのをご確認ください。
次には、MSYS2のSet Up画面がPopupします。
最初の質問 Which components shall be installed? If unsure press ENTER [1,3] には、英語文字で1,3をご入力ください。
Install MSYS2 and MINGW development toolchain succeededという文字が見えたら、最後の質問に何も入力せずに、Enterを押して、画面をクロスします。これで、RubyのIntsallが完了しました。
2. aspera-cliをInstallする
Windows CMDでgem install aspera-cliを実行して、aspera-cliをInstallします。
情報保護のために、Pathの一部をxxxにしました。
C:\Users\xxx>gem install aspera-cli
3. Aspera SDK (ascp)をInstallする
最後に、Aspera CLIが利用できるAspera SDKをInstallします。
注: このAspera SDKは、記事「Aspera Transfer SDKを使ってIBM Cloud Object Storage (ICOS) へ高速転送を実現する」に紹介されたProgramが利用するAspera Transfer SDKとは別のものです。
C:\Users\xxx>ascli conf ascp install
以上は、Aspera CLIのInstall手順です。
Aspera CLIを使って、ICOS BucketへFileをUploadする
1. ICOS Bucketの情報を設定する
Aspera CLIは複数のICOS バケット情報を管理でき、各情報はconfigとして管理されます。
下記の例には、mycosというconfigを作成します。作成コマンドで update サブコマンドを使用するのは違和感を感じるかもしれません。
C:\Users\xxx>ascli conf id mycos update --bucket=testbucket-qiita --endpoint=https://s3.jp-tok.cloud-object-storage.appdomain.cloud --apikey=cjWF4fT3GWOBHaExxxxxxxxxxxxxxxxxxxxxxxx --crn=crn:v1:bluemix:public:cloud-object-storage:global:a/039dbe6794084c7cb514a276dd2345da:73ac0d0d-6c81-4e26-9645-50e988329b95::
コマンドの変数について説明します:
--bucket=testbucket-qitta :ICOS BucketのFull nameです。
注:ICOS Bucketを作成した際に、Bucketの名前をtestbucket-qiitaにしようと思ったのですが、間違ってtestbucket-qittaにしてしまいました。
--bucket=testbucket-qiita :ICOS BucketのFull nameです。
--endpoint=https://s3.jp-tok.cloud-object-storage.appdomain.cloud :本IBM Cloud RegionのICOS Service Public Endpointです。先頭に**https://**が必要ということをご注意ください。
--apikey=cjWF4fT3GWOBHaExxxxxxxxxxxxxxxxxxxxxxxx :ICOS Accessために、API Keyが必要です。情報保護のため、api_keyの一部はxxxにしました。
--crn=crn:v1:bluemix:public:cloud-object-storage:global:a/039dbe6794084c7cb514a276dd2345da:73ac0d0d-6c81-4e26-9645-50e988329b95:: :ICOS Service InstanceのCRNです。
続きまして、このmycos configをdefault configに設定します。
C:\Users\xxx>ascli conf id default set cos mycos
2. ICOS BucketへFileをUploadする
まずは、Upload対象Fileを準備します。下記の出力のように、testpictures folderには,101.jpgと102.jpgが存在します。
C:\Users\xxx>dir testpictures
Volume in drive C is Windows
Volume Serial Number is 94E2-EDBC
Directory of C:\Users\xxx\testpictures
07/04/2023 07:10 PM <DIR> .
07/04/2023 07:05 PM <DIR> ..
07/18/2022 09:08 AM 12,589 101.jpg
07/18/2022 09:08 AM 12,589 102.jpg
2 File(s) 25,178 bytes
2 Dir(s) 40,161,349,632 bytes free
次は、ascliでtestpictures folderをICOS BucketにUploadします。Folderを指定すると、Folder内すべてのFileをUpload対象になります。
C:\Users\xxx>ascli cos node upload testpictures
102.jpg 100% 12KB 00:01
101.jpg 100% 12KB 00:01
Completed: 24K bytes transferred in 2 seconds
(94K bits/sec), in 2 files, 1 directory.
3. IBM Cloud PortalでUploadしたFileを確認する
IBM Cloud PortalでUploadしたFileが見えました。
以上は、Aspera CLIを使ってFile Uploadを試しました。
料金については
記事「Aspera Transfer SDKを使ってIBM Cloud Object Storage (ICOS) へ高速転送を実現する」には料金について既に述べましたが、ここで再度簡単に説明します。
Aspera CLIのSWが無料で利用可能です。
Aspera CLIを使って、ICOS BucketにFile Uploadする際にも料金発生しません。
Aspera CLIを使って、ICOS BucketからFile Downloadする際には、ダウンロードしたファイルのStorage Classおよびデータ量に応じて料金が発生します。詳細料金はObject Storageの作成画面で確認できます。
まとめに
本記事はご参考になれば幸いです。
ごコメントとご質問、大歓迎です。