Engine(GCE)』やオブジェクトストレージである『Storage』があります。これらのサービスはGo言語でも簡単に扱うことが出来て、当記事では『Storage』に保存した画像ファイルを『GCE』にダウンロードし、別ファイルとして『Storage』にアップロードするコードをご紹介します。テキストファイルや他のファイルでも可能です。今回は『yufi.jp』というバケット内にある『image』フォルダの中にある『test1.jpg』というファイルをダウンロードし、同フォルダ内の『test2.jpg』というファイルとしてアップロードしています。("bytes""context""log""cloud.google.com/go/storage")『bytes』パッケージは、ダウンロードしたデータを一時保管するバイトバッファーを利用するために使用します。扱うためのライブラリです。以下のコマンドを使用してダウンロードとインストールを行っておいて下さい。接続するためにクライアントを作成します。client.Close()』としておきます。ダウンロードするオブジェクト先ほど作成したクライアントの『Bucket』関数に使用するバケット名を渡して、『bucket』を用意します。バケット名は実際に使用するものを指定して下さい。そのバケットの『Object』関数にダウンロード対象のオブジェクトアドレスを渡します。今回は『image』フォルダ内にある『test1.jpg』というファイルを指定しています。r.Close()先ほど用意したオブジェクトの『NewReader』関数にコンテキストを渡してリーダを作成します。このリーダーを使用してダウンロードを行うようになります。{log.Fatal(err)}まず、ダウンロードしたデータを保管しておくために『new(bytes.Buffer)』としてバイトバッファーを用意します。バッファーの『ReadFrom』関数にリーダーを渡してダウンロードします。ダウンロードしたデータはバッファーに入っており、戻り値にはダウンロードしたバイト数とエラーが返ってきます。{log.Fatal(err)}アップロードはダウンロードと似たような手順となります。アップロード先オブジェクトを指定し、アップロードするためのライターを作成し、そして『WriteTo』関数にライターを渡してアップロードします。関数の戻り値はアップロードしたデータのバイト数と、エラー値です。アップロードする際に指定したオブジェクトが存在しなかった場合、新規にオブジェクトが作成されます。ダウンロードもアップロードもとてもシンプルですよね。参考になれば幸いです。コードの中にコードの解説。コンテンツの転載は固くお断りいたします。