IIJ のオブジェクトストレージに Java でアップロードする方法

プログラミング
この記事は約3分で読めます。

ネットを探してもサンプルが見つからなかったので記載しておきます。

公式の Java Doc は以下を参照。

iijgio-dag-client-all 1.2.4 API
スポンサーリンク

Gradle で依存を追加する

変更箇所は以下2つになります。

  1. repositories
  2. dependencies

build.gradle を修正します。

repositories {
  maven { url 'http://support.storage-dag.iijgio.com/libs/maven2' }
}

dependencies {
  compile group: 'com.iijgio.dag.client', name: 'iijgio-dag-client-core', version: '1.2.4'
}

Gradle の知識があまりなく、repositories に追加しなければならない部分にハマりました。

アップロードを実装する

public String upload() throws IOException {
  // ACCESS_KEY, SECRET_KEY を使用して credentials を生成する
  IIJGIOCredentials credentials = new BasicIIJGIOCredentials(ACCESS_KEY, SECRET_KEY);
  StorageClient client = new StorageClient(credentials);

  // ENDPOINT の設定
  client.setEndpoint(ENDPOINT);

  // 適当なファイルを生成する(実際はアップロードしたいファイル)
  File tempFile = File.createTempFile("test", null);
  FileWriter fw = new FileWriter(tempFile, true);
  BufferedWriter bw = new BufferedWriter(fw);
  PrintWriter pw = new PrintWriter(bw);
  pw.write("テスト");
  pw.flush();
  pw.close();

  // BUKET_NAME の 配下に KEY というファイル名でアップロードする
  PutObjectRequest putObjectRequest = new PutObjectRequest(BUKET_NAME, KEY, tempFile);
  client.putObject(putObjectRequest);

  // アップロードしたファイルの URL を取得する
  return client.getUrl(BUKET_NAME, KEY).toString();
}

特に ENDPOINT を設定しなければならない部分にハマりました。

以上です。

コメント

タイトルとURLをコピーしました