LoginSignup
4
2

More than 3 years have passed since last update.

IBM Cloud Object Storage(ICOS)にCLI(ibmcloudコマンド)を用いてファイルアップロードする

Last updated at Posted at 2020-03-20

ibmcloudコマンドでIBM Cloud Object Storage(ICOS)にファイルをアップロードする方法です。
ibmcloudコマンドの概要、セットアップについては下記を参照下さい。
参考リソース:これからIBM Cloud CLIをインストールする方へ

使用した環境

  • macOS Mojave 10.14.6
  • ibmcloud CLI
$ ibmcloud --version
ibmcloud version 0.22.1+66bb68d-2020-02-28T07:50:09+00:00

ログイン(ワンタイムパスワード)

セットアップの参照リソース内でログイン方法までレクチャーされているかと思いますが、ここではおまけでワンタイムパスワードでのログイン方法をお伝えしておきます。

IBM Cloud コンソール(Web)にログインして、右上にあるユーザー情報のアイコンをクリックしてみて下さい。
下記のように表示されるはずです。
user_account.png

「CLIとAPIにログイン」というリンクがあるかと思いますので、それをクリックすると、
one_time_passcode.png
という画面が出てきますので「IBM Cloud CLI」の部分をコピーして頂いて、お使いのターミナルソフトの入力欄に貼り付けて、Enterキーを押下します。

$ ibmcloud login -a https://cloud.ibm.com -u passcode -p one-time-pass
API エンドポイント: https://cloud.ibm.com
認証中です...
OK

ターゲットのアカウント TAKANOBU KAWAGUCHI's Account (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)

地域を選択します (または Enter キーを押してスキップします):
1. au-syd
2. in-che
3. jp-osa
4. jp-tok
5. kr-seo
6. eu-de
7. eu-gb
8. us-south
9. us-south-test
10. us-east
数値を入力してください> 4
ターゲットの地域 jp-tok


API エンドポイント:      https://cloud.ibm.com   
地域:                    jp-tok   
ユーザー:                your@userid.org   
アカウント:              TAKANOBU KAWAGUCHI's Account (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)   
リソース・グループ:      リソース・グループがターゲットになっていません。'ibmcloud target -g RESOURCE_GROUP' を使用してください   
CF API エンドポイント:      
組織:                       
スペース:                   

ヒント: Cloud Foundry アプリケーションおよびサービスを管理している場合
- 'ibmcloud target --cf' を使用して Cloud Foundry 組織/スペースを対話式にターゲットにするか、'ibmcloud target --cf-api ENDPOINT -o ORG -s SPACE' を使用して組織/スペースをターゲットにします。
- 現行の IBM Cloud CLI コンテキストを使用して Cloud Foundry CLI を実行する場合は、'ibmcloud cf' を使用します。

ICOSの情報確認

IBM Cloud コンソール(Web)にログインしてICOSのサービス資格情報を確認します。
サービス資格情報はICOSに作成したバケットの資格情報の中にあります。
service_info.png

// バケットのリストを取得
// 例:ibmcloud cos list-buckets --ibm-service-instance-id <resource_instance_id>
$ ibmcloud cos list-buckets --ibm-service-instance-id xxxxxxxxxxxxxxx
OK
4 アカウントにバケットが見つかりました:

名前                                       作成日   
test-development                           Jan 14, 2020 at 03:53:38   
test-transfer                              Jan 23, 2020 at 04:13:16   
test-archive                               Jan 22, 2020 at 02:23:31   
test-bucket                                Feb 06, 2020 at 05:37:37   

$
// バケットの中身を確認
// 例:ibmcloud cos list-objects --bucket <bucket-name>
$ ibmcloud cos list-objects --bucket test-bucket
OK
見つかりました バケットに 1 個のオブジェクトがあります 'test-bucket':

名前       最終変更日時               オブジェクト・サイズ
test.txt   Feb 28, 2020 at 02:27:12   14 B 

ICOSにファイルをアップロード

以下のコマンドで対象のバケットにファイルをアップロードします。

// バケットにファイルをアップロード
// 例:ibmcloud cos put-object --bucket <bucket-name> --key <filename> --body <filefullpath>
$ ibmcloud cos put-object --bucket test-bucket --key test2.txt --body /tmp/test2.txt
OK
オブジェクト 'test2.txt' がバケット 'test-bucket' に正常にアップロードされました。

アップロードが正常に終わりましたので、念のために確認します。

// 正常にアップロードされたことを確認
$ ibmcloud cos list-objects --bucket test-bucket
OK
見つかりました 2 バケットにオブジェクトがあります 'test-bucket':

名前        最終変更日時               オブジェクト・サイズ
test.txt    Feb 28, 2020 at 02:27:12   14 B
test2.txt   Mar 01, 2020 at 21:21:20   17 B

test2.txtが正常にアップロードされていました。

ICOSのファイルを削除

次にファイルの削除です。コマンドは以下の通りです。

// バケットの状況を確認
$ ibmcloud cos list-objects --bucket test-bucket
OK
見つかりました 2 バケットにオブジェクトがあります 'test-bucket':

名前        最終変更日時               オブジェクト・サイズ
test.txt    Feb 28, 2020 at 02:27:12   14 B
test2.txt   Mar 01, 2020 at 21:21:20   17 B


// ファイル:test2.txtの削除を実施
// 例:ibmcloud cos delete-object --bucket <bucket-name> --key <filename>
$ ibmcloud cos delete-object --bucket test-bucket --key test2.txt
警告: これによりオブジェクト 'test2.txt' がバケット 'test-bucket' から完全に削除されます。
続行してよろしいですか? [y/N]> y
OK
'test2.txt' のバケット 'test-bucket' からの削除が正常に実行されました。


// 削除された状況を確認
$ ibmcloud cos list-objects --bucket test-bucket
OK
見つかりました バケットに 1 個のオブジェクトがあります 'test-bucket':

名前       最終変更日時               オブジェクト・サイズ
test.txt   Feb 28, 2020 at 02:27:12   14 B

簡単にはなりますが、ibmcloudコマンドを使用したICOSの操作は以上です。
他のコマンドについては以下を参照下さい。
参考リソース:Cloud Object Storage - IBM Cloud CLIの利用

参考リンク

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2