views4GCPのストレージサービスについてまとめてみた。Exp:58632メカです。TweetShareHatena注意この記事は2014年3月26日に更新されたもので、内容が古い可能性がありますのでご注意ください。APIについてご紹介します。SQLの管理がAPIでできてしまうという優れものです。PlatformのWeb上のコンソール画面からの操作のみが可能でした。従って、プロジェクト管理者が手動で操作するしかできませんでした。SQLインスタンスの生成やデータベースのエクスポートなどの管理をAPIで行うことができます。APIを投げるプログラムを作って、実際にその良さを体験したいと思います。準備それでは、早速以下のドキュメントに沿ってAPIを使用したプログラムを作成したいと思います。Libraryというライブラリがありますのでこちらを使います。Libraryのページに飛びます。Engineを選択します。SQLを使っているプロジェクトを選択します。(以下の画面)「Continue」すると、Quickstartの下の方から新しいページが表示されます。ここでは、環境構築方法とサンプルプログラムのダウンロードができます。3.1.0以上を準備しておきましょう。fileからOAuth設定ファイルをダウンロードします。Libraryが予めインポートされており、OAuth設定ファイルは、先ほど選択したアプリケーションのclient_idやclient_secretなどがJSON形式で記録されています。このclient_idやclient_secretは、そのプロジェクトがAPIにアクセスするときに、使用します。このOAuth設定ファイルでソースコードのsrc/main/resources/client_secrets.jsonを上書きします。Libraryという便利なライブラリがありますので、client_secrets.jsonを上書き、というとても簡単な操作で済みます。実際にソースコードを編集します。Storageにエクスポートするプログラムを作成します。ソースコードのsrc/main/java/com/google/api/services/samples/sqladmin/appengine/SQLAdminSampleServlet.javaを開いてください。ここでは、OAuth設定ファイルを呼び出してOAuth認証させたsqladminが利用できるように既に宣言されています。Storageに保存してみます。SQLファイルは、データベースの構築から今までのSQLクエリが保存されていますので、他の環境に移植できます。}ハイライト部分が今回付け足したコードです。ExportContextには、エクスポートするときの具体的な情報を入れておきます。それをInstancesExportRequestに突っ込んで、リクエストできる形にします。sqladminからインスタンスを呼び出して、リクエストを投げます。プログラムで書くと、リクエストを送っているような印象を受けませんが、実際は、下のようなJSONでやり取りしています。コンパイルとデプロイプロジェクトソースコードのsrc/main/webapp/WEB-INF/appengine-web.xmlのタグの間にデプロイ先のプロジェクトIDを追記します。ターミナルから以下のコマンドを入力します。appengine:updateMavenでコンパイル、デプロイを行います。ローカル環境で実行するには、以下のコマンドで確認できます。Consoleを確認してみますと、サンプルから指定したファイル名でSQLファイルが保存されているのを確認できました。Platformで実際に操作しているかのように、実行できたことが確認できました。リリースされたので、APIを投げるプログラムを作り、実行してみました。Storageに保存するAPIを使用しました。Platformでの操作と変わりなく、実行することが確認できました。このAPIのおかげで、いろいろと便利な使い方ができそうに感じます。