views4GCPのストレージサービスについてまとめてみた。Exp:66202映画好きエンジニア。GAEとかGKEやってます!Goが好きです!TweetShareHatena注意この記事は2017年11月22日に更新されたもので、内容が古い可能性がありますのでご注意ください。操作するためのコマンドラインツールのことです。インストールすることで、利用できるようになります。)を中心として解説します。本記事公開後に解説したコマンドが削除されたり、または新規コマンドが追加される可能性がありますので、ご注意ください。コマンドごとのオプションについては重要であると思われるものだけピックアップして解説します。コマンドの実行環境を構築するための手順を説明します。以下手順に従って実行環境のセットアップをおこなってください。実行する場合には、コマンド自体は同じものを利用しますが、フォルダの区切り文字などは異なるので気をつけましょう。プロジェクトの作成が必要となります。下記リンクの「GCPプロジェクトの作成(1)~(3)」を参考にプロジェクトの作成をおこなってください。セットアップ手順については、下記リンクの記事を参考にインストール、初期設定をおこなってください。help」コマンドを実行するとサポートされているコマンドの一覧と概要が表示されます(※2)。コマンドには計32種類のコマンドが存在します。コマンドについては後ほど説明します。基本的なコマンドを合わせて下記の14個を解説します。理解を深めるために実際にコマンドを実行することをお勧めします。サブコマンドの利用方法を確認するためのコマンドです。コマンドを使って「cp」コマンドの利用方法を確認する場合は以下のコマンドを実行します。gs://my-bucke~省略~このコマンドを実行すると、上記の結果が出力されます。(1)はコマンドのフォーマット、(2)がコマンドの説明となります。コマンドの一覧が出力されます。コマンドラインツールのバージョンを出力するためのコマンドです。以下はコマンドの実行例です。ツールのバージョンが出力されます。コマンドのバージョンは「4.27」であることが確認できます。コマンドからのアップデートが推奨されています。こちらを使用するようにしてください。コマンドラインツール自体の単体・結合テストを実行するためのコマンドです。ライブラリ関連の依存性の検証を行ってくれるものと思われます。動作がおかしくなってしまった場合にコマンドを実行してみると、原因がわかるかもしれません。以下はコマンドの実行例です。.~省略~コマンドを実行するとテストが開始され、上記のようなメッセージが出力されます。一度テストを実行すると、完了までに30分ほど時間がかかるため、注意しましょう。コマンドはバケットやオブジェクトの一覧を出力するためのコマンドです。バケットの一覧を出力するためには、下記のコマンドを実行します。lsgs://bucket-ca1/gs://bucket-ca2/gs://bucket-ca3/クラウドコンソールを見てみると、実際に一覧が取得できていることが確認できます。gs://bucket-ca1gs://bucket-ca1/file1.pnggs://bucket-ca1/file2.pnggs://bucket-ca1/file3.pnggs://bucket-ca1/local_folder/クラウドコンソールを見てみると、実際に一覧が取得できていることが確認できます。KiB)クラウドコンソールを見てみると、時間に日本と米国でのずれはあるものの、最終更新日時とファイルサイズが取得出来ていることが確認できます。バケット内のオブジェクトの情報をより詳細に表示するためには「-L」オプションを使用します。詳細な情報が表示されました。新しくバケットを作成するためのコマンドです。コマンド実行前はこのような状態です。バケットを作成するためには下記のコマンドを実行します。gs://bucket-ca4/...このコマンドを実行後にクラウドコンソールを見てみると、実際にバケットが作成されていることが確認できます。デフォルトではストレージクラスは「Multi-Regilnal」、ロケーションは「US」のバケットが作成されます。ストレージクラス、ロケーションを指定したい場合は下記のコマンドを実行します。オプションでロケーションを指定することができます。コマンド実行後にクラウドコンソールを見てみると、指定した条件のバケットが作成されていることが確認できます。コマンドはバケットの削除をするためのコマンドです。バケットを削除するときの注意点として、削除対象のバケットは空でなければいけません。バケットを削除するには下記のコマンドを実行します。gs://bucket-ca5/...クラウドコンソールを見てみると、バケットが削除されていることが確認できます。中身のあるバケットを削除しようとした場合には下記のようなエラーが出ます。オブジェクトをコピーするためのコマンドです。内でのコピーをすることができます。コピーを行うことも可能です。今回は中身が空っぽの「bucket-ca4」を対象にします。コピー(アップロード)するためには下記のコマンドを実行します。KiB.コマンド実行後にクラウドコンソールを見てみると、指定したバケットにファイルがアップロードされていることが確認できます。内で別バケットからオブジェクトをコピーするためには下記のコマンドを実行します。今回は「bucket-ca1」というバケットに存在する「file2.png」というファイルを「bucket-ca4」にコピーします。KiB.コマンド実行後にクラウドコンソールを見てみると、ファイルがコピーされていることが確認できます。ローカルにコピー(ダウンロード)するためには、下記のコマンドを実行します。見てみると、ファイルがコピーされていることが確認できます。コマンドを使用する際に対象がフォルダの場合は、下記コマンドのように「-r」オプションを用いることで、フォルダをまるごとコピーすることができます。KiB.コマンド実行後にクラウドコンソールを確認すると、フォルダが内包するファイルごとコピーされていることが確認できます。コマンドはオブジェクトを削除するためのコマンドです。コマンド実行前の状態をクラウドコンソールで確認します。オブジェクトを指定して削除するには下記のコマンドを実行します。objects.コマンド実行後にクラウドコンソールを見てみると、指定したバケットが削除されていることが確認できます。フォルダ内の全てのオブジェクトを削除するためには下記のコマンドを実行します。objects.コマンド実行後にクラウドコンソールを見てみると、指定したフォルダのオブジェクトが全て削除されていることが確認できます。削除対処はオブジェクトのみで、フォルダは対象外である点に注意が必要です。指定したフォルダも含めて全て削除するには、「-r」オプションを使用します。コマンド実行前のバケット内は下記の通りです。下記コマンドが実行例です。gs://bucket-ca4/...コマンド実行後にクラウドコンソールを見てみると、指定したフォルダ(バケット)がまるごと削除されていることが確認できます。コマンドはオブジェクトの移動やリネームをするためのコマンドです。内での移動をすることができます。移動を行うことも可能です。ローカルに移動するには下記のコマンドを実行します。ローカルに移動します。クラウドコンソールを確認すると、バケットから「file1.png」が消えていることが確認できます。ローカルを確認すると「file1.png」が追加されていることが確認できます。移動するには下記のコマンドを利用します。クラウドコンソールで確認すると、指定したバケットに「file1.png」が追加されていることが確認できます。ローカルを確認すると「file1.png」が消えていることが確認できます。$HOME/local_folderfile2.pngオブジェクトをリネームするには下記のコマンドを実行します。KiB.コマンド実行後にクラウドコンソールを見てみると、オブジェクトがリネームされていることが確認できます。追加される場合があります。コマンドは2つのバケットやディレクトリの内容を同期するためのコマンドです。バケット同期を行うことも可能です。バケットを同期するには下記のコマンドを実行します。中を確認してみると、バケット内のオブジェクトが同期されていることが確認できます。オブジェクトの同期は確認できましたが、フォルダは同期されていません。オプションを使用します。フォルダごと同期するためには下記のコマンドを実行します。中を確認すると、フォルダも含めて同期されていることが確認できます。フォルダごと同期できていることが確認できました。コマンドはオブジェクトの内容を出力するためのコマンドです。オブジェクトの内容を出力するためには下記のコマンドを実行します。gs://bucket-ca7/a.txtaaaまた、複数のオブジェクトの内容を連結して出力するには下記のコマンドを実行します。コマンドはオブジェクトのサイズを表示するためのコマンドです。オブジェクトを指定してサイズを表示するためには下記のコマンドを実行します。gs://bucket-ca1/file1.pngバケット・フォルダが内包する全てのオブジェクトのサイズを表示するためには下記のコマンドを実行します。gs://bucket-ca1/local_folder/また、「-c」オプションを使用することで出力の最後に合計サイズを表示することができます。下記はコマンド例です。コマンドはローカルファイルのハッシュ値を計算するためのコマンドです。コマンドで出力されたハッシュ値との比較をするために使用されます。ハッシュ値を出力するためには下記のコマンドを実行します。コマンドの実行例の結果と比較してみると、ローカルファイルとバケット内のオブジェクトのハッシュ値が一致していることが確認できます。6AdSqa/sYEGGoyEcn2HCmw==~省略~ハッシュ値の計算結果を16進数で表示したい場合は「-h」オプションを使用します。下記はコマンドの実行例です。計算結果をそれぞれ出力することができます。コマンドに近い操作のコマンドを説明しました。機能に踏み込んだコマンドについて説明する予定です。Ace)というGCPの導入・運用支援サービスを提供しておりますので、ご興味のある方はこちらまでお問い合わせくださいGAEに限らず、あらゆるGCPサービスのサポートが可能です。