1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Oracle Storage Cloud Service の Maven プラグインを作ってみた

Last updated at Posted at 2017-01-26

Oracle Storage Cloud Service 用の Maven プラグインです。このプラグインにより、Orace Storage Cloud Service 上の操作を統合開発環境上や、CLI などから Maven コマンドを介して操作できるようになります。

説明

Oracle Storage Cloud Service は、文字通り記憶領域としてオブジェクト・ストレージを提供するクラウドサービスです。
この Storage Cloud Service は、様々な使用方法があります。同じく Oracle Cloud Service で提供している Database Cloud Service や、Java Cloud Service のバックアップ領域として作成・使用する方法を以下で紹介しました:

また、NFS マウントし、外部ファイルシステムのように使用する方法も以下で紹介しました:

作成・使用方法はこのようにいろいろとありますが、操作・管理するインターフェースには REST API が実装され、それを用いてストレージ領域の管理を行っています。

curl コマンドなどで直接 REST API をコールして操作する事ももちろん可能ですが、開発やテストをしながらのように繰り替えし操作を行うような場合は手軽に操作が行えた方がよい事から Maven プラグインとして作成してみました。

動作イメージ

プラグイン動作イメージ

特徴

このプラグインでは、今のところ以下の機能を実装しています (2017/1/26時点):

  • ストレージ・コンテナの一覧表示
  • コンテナ内のオブジェクトの一覧表示
  • コンテナの作成
  • コンテナの削除
  • コンテナ内の単一オブジェクトの削除
  • コンテナ内の全オブジェクトの削除
  • 指定したコンテナへのオブジェクトのアップロード

前提

以下の環境を動作前提としています:

  • Maven 3
  • Java 1.8

使用方法

ストレージ・コンテナの一覧表示

  • コマンド: scs:list

コンテナ内のオブジェクトの一覧表示

  • コマンド: scs:show

表示させるオブジェクトを含んでいる対象のストレージ・コンテナを pom.xml の configuration 要素配下に <storage> 要素として記述します。

<configuration>
    <storage>_apaas</storage>
</configuration>

コンテナの作成

  • コマンド: scs:create

作成する対象のストレージ・コンテナを pom.xml の configuration 要素配下に <storage> 要素として記述します。

<configuration>
    <storage>_apaas</storage>
</configuration>

コンテナの削除

  • コマンド: scs:delete

削除する対象のストレージ・コンテナを pom.xml の configuration 要素配下に <storage> 要素として記述します。

<configuration>
    <storage>_apaas</storage>
</configuration>

コンテナ内の単一オブジェクトの削除

  • コマンド: scs:delete-object

削除する対象のオブジェクトと、それを含むストレージ・コンテナを pom.xml の configuration 要素配下に <storage> 要素及び <object> 要素として記述します。

<configuration>
    <storage>_apaas</storage>
    <object>springboot/2349df27-fec1-4b14-9009-b530416aa684/logs/web.1/47dff299-bdc3-4204-8326-6b1780aeac0a/server.out.zip</object>
</configuration>

コンテナ内の全オブジェクトの削除

  • コマンド: scs:delete-objects

削除する対象のオブジェクトを含むストレージ・コンテナを pom.xml の configuration 要素配下に <storage> 要素として記述します。

<configuration>
    <storage>_apaas</storage>
</configuration>

指定したコンテナへのオブジェクトのアップロード

  • コマンド: scs:upload

アップロード対象のオブジェクトとアップロード先となるストレージ・コンテナを pom.xml の configuration 要素配下に <storage> 要素及び <object> 要素として記述します。
アップロード対象のオブジェクトは、ビルド成果物が配置される target ディレクトリ ${project.build.directory} に配置されている必要があります。

<configuration>
    <storage>_apaas</storage>
    <object>${artifactId}-${version}.jar</object>
</configuration>

導入手順

以下の Maven プラグイン JAR ファイルを、ローカル・リポジトリに格納します。

  • 追加方法:
    mvn install:install-file -Dfile=<jar ファイルのパス> -DgroupId=<グループID> -DartifactId=<アーティファクトID> -Dversion=<バージョン> -Dpackaging=jar

  • scs-maven-plugin-1.0.jar

次に、pom.xmldependency としてプラグインを追加します。そして configuration 要素に Oracle Cloud の認証情報を設定します。

  • identitydomain: アイデンティティドメイン名
  • user: クラウド・ユーザ名
  • password: 上記ユーザのパスワード
...
<plugin>
    <groupId>com.oracle.jp.shinyay</groupId>
    <artifactId>scs-maven-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    <configuration>
        <identitydomain>YOUR_IDENTITY_DOMAIN</identitydomain>>
        <user>YOUR_CLOUD_USERID</user>
        <password>YOUR_CLOUD_PASSWORD</password>
        <storage>TARGET_STORAGE_CONTAINER</storage>
        <object>TARGET_STORAGE_OBJECT</object>
    </configuration>
</plugin>
...

まとめ

Storage Cloud Service を利用する他のクラウドサービスも、同様に Maven プラグインを作成してみようと思います。

GitHub

1
0
1

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?