storage-sdk-Java

Similar documents
Android Layout SDK プログラミング マニュアル

DragonDisk

FW ファイルアップロード ダウンロード機能利用ガイド Version 年 9 月 21 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED

WebOTXマニュアル

BIP Smart サンプル説明書

外周部だけ矩形配列

CONTEC DIOプロバイダ ユーザーズガイド

intra-mart Accel Platform — 外部ソフトウェア接続モジュール 仕様書   第3版  

Java言語 第1回

Net'Attest EPS設定例

17章 プログラムの提供

モバイルアプリを Azure で作る - データを扱う Azure Storage を利 してデータを保存する 本稿では PHP と Windows Azure を使って 画像などのファイルを扱うアプリケーションを開発する方法を説明します Windows Azure Platform では データの

JavaプログラミングⅠ

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

EPS設定例

目次 1. CSV の種類と権限 各アドレス帳 CSV ファイルの登録 更新 削除 会社アドレス帳 CSV の登録 更新 削除 個人アドレス帳 CSV の登録 更新 削除 端末認証リスト CSV ファイルの登録 更新 削除 端末認証リスト CSV の登録 更

Java Bridgeを利用した他言語によるデータロード&プロットデモ

Microsoft Word - USB60BCR_10.doc

オブジェクトストレージ

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows 日本語版 : インストール・ガイド

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

プログラミング基礎I(再)

Source Insight

Alibaba Cloud [ ナレッジドキュメント ] AWS S3 から AlibabaCloud OSS へのマイグレーション手順 AWS S3 からAlibaba Cloud OSS への マイグレーション手順 Ver SB Cloud Corp Al

2007 Indie s Movie Project. All Rights Reserved. 02

目次 1. はじめに エンドポイント 利用開始まで ユーザー登録 CLI ツールのインストール CLI ツールのインストール RubyGems のインストール CL

Copyright 2006 KDDI Corporation. All Rights Reserved page1

IMC_31.ja.indd

システム管理マニュアル

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

WebReportCafe

Web型iEDIシステム操作説明書

株式会社インターナショナルシステムリサーチ International Systems Research Co. CloudGate UNO secured by Cybertrust デバイス ID 証明書 インストールマニュアル Windows 用 Ver [ 目次 ] はじめに 1

1000 Copyright(C)2009 All Rights Reserved - 2 -

Net'Attest EPS設定例

PowerPoint プレゼンテーション

Net'Attest EPS設定例

本書の説明 本書は ConMas i-reporter の外部システムとの連携について 標準パッケージの機能で可能なことと オプション機能 : 外部連携 API セットで可能なこと について 概要をまとめたものです Copyright 2015 CIMTOPS CORPORATION - All R

AutoDesk Vault Configuration Guide

プロバイダ ユーザーズガイド

JavaプログラミングⅠ

KS_GoogleApps_guide

Java知識テスト問題

Eclipse 操作方法 (Servlet/JSP 入門補助テキスト)

24th Embarcadero Developer Camp

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

untitled

初心者にもできるアメブロカスタマイズ新2016.pages

- 2 Copyright (C) All Rights Reserved.

Net'Attest EPS設定例

SOBA ミエルカ クラウドセミナーモード 配信者マニュアル 目次 はじめに 配信者のユーザー登録について ライブ配信の作成 ライブ配信への招待 ライブ配信への参加方法... 4 (1) ライブ配信を選んで参加する方法 ( 管理者 配信

そこが知りたい!AWSクラウドのセキュリティ

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

目次 1 環境 バージョン インストール環境 インストール手順 前提条件 CentOS SSHD の設定 VSFTPD の設定 コンテンツ管理 CGI のイ

IBM i ユーザーの課題 モバイルや IOT に対応した新しい開発案件への対応 RPG COBOL など既存アプリのメンテナンス 要員の確保 属人化しない運用 管理体制 2

移行支援資料 ~J2EE機能から Java EE 5機能への移行ポイント~

Microsoft PowerPoint - chap10_OOP.ppt

Prog2_9th

939061j

管理者マニュアル

Enterprise Architect 14.0/14.1 機能ガイド

Transcription:

オブジェクトストレージ SDK Java Version 1.0 Version 更新日内容 1.0 2014 年 4 月 18 日新規作成 1.1 2014 年 5 月 23 日 RiakCS のバージョンを 1.4.5 に修正 IDC Frontier Inc. All Rights Reserved. PAGE : 1 / 7

目次 1. 概要... 3 2. 利用できる API... 3 3. SDK の構成... 4 4. SDK を利用するための準備... 4 4.1. 必要な環境... 4 4.2. アクセスキー シークレットキーの発行... 4 5. サンプルプログラムの実行... 5 5.1. 実行方法... 5 6. SDK での API 操作... 5 6.1. クライアント... 5 6.2. バケット操作... 5 6.2.1. バケットの作成... 5 6.2.2. バケットの ACL を設定... 5 6.2.3. バケットの ACL を取得... 6 6.2.4. バケットの削除... 6 6.3. オブジェクト操作... 6 6.3.1. オブジェクトのアップロード... 6 6.3.2. オブジェクトの取得... 6 6.3.3. オブジェクトの ACL の設定... 6 6.3.4. オブジェクトの ACL の取得... 6 6.3.5. オブジェクトのメタデータの取得... 7 6.3.6. オブジェクトの削除... 7 6.4. バケット オブジェクトの ACL 用定数... 7 IDC Frontier Inc. All Rights Reserved. PAGE : 2 / 7

1. 概要 本書は IDC フロンティアの提供するオブジェクトストレージサービスの API を Java から利用するオブジェクトストレージ SDK のスタートガイドで す SDK を利用することで オブジェクトストレージにバケットを作成 オブジェクトのアップロードなどの API 操作を Java からご利用いただけます このドキュメントでは API を呼び出すサンプルコードの掲載と サンプルプログラムの実行方法の紹介を行っています オブジェクトストレージサービスは IDC フロンティアセルフクラウドのアカウントをお持ちの方がご利用いただけます 1.1. AWS SDK を継承本書で紹介するオブジェクトストレージ SDK は AWS が提供する S3 の SDK を継承して作成されております http://aws.amazon.com/jp/sdkforjava/ RiakCS にアクセスする RiakCSClient クラスは AmazonS3Client クラスを継承しています 1.2. SDK の詳細な API SDK 同梱の Javadoc をご覧ください SDK SDK 内の Javadoc オブジェクトストレージ SDK の idcf-cloudstorage-java-sdk-x.x.x/doc Javadoc S3 の Javadoc idcf-cloudstorage-java-sdk-x.x.x/third-party/aws-java-sdk-1.6.1/documentation/javadoc 1.3. SDK での ACL の設定について 現在のオブジェクトストレージ SDK を使った ACL の設定では バケット オブジェクトに対して 特定のユーザーのみに限定しない ACL の設定 ができます (PublicRead AuthenticatedRead など ) 2. SDK から利用できる API オブジェクトストレージサービスは RiakCS で構成されています RiakCS の API のうち バケット操作 オブジェクト操作の API をご利用いただけます RiakCS バージョン 1.4.5(2014 年 5 月 23 日現在 ) http://docs.basho.com/riakcs/latest/references/apis/storage/s3/ オブジェクトストレージ SDK は S3 の SDK 機能を利用して API を呼び出します 現在動作を確認している API は下記の がついているもので す SDK # レベル API 対応 備考 1. サービスレベル バケットの一覧表示 2. バケットレベル バケット内のオブジェクトの一覧表示 3. バケットの ACL を取得 4. バケットのポリシーを取得 5. バケットの作成 6. バケットの ACL を設定 ユーザーを限定しない権限の設定が可能 ユーザー単位の権限設定に SDK が未対応 7. バケットのポリシーを設定 8. バケットの削除 9. バケットのポリシーを削除 IDC Frontier Inc. All Rights Reserved. PAGE : 3 / 7

# レベル API SDK 対応 備考 10. オブジェクトレベル オブジェクトのダウンロード 11. オブジェクトの ACL を取得 12. オブジェクトのコピー 13. オブジェクトの ACL を設定 ユーザーを限定しない権限の設定が可能 ユーザー単位の権限設定に SDK が未対応 14. オブジェクトのメタデータを取得 15. オブジェクトの削除 16. マルチパートアップロード 3. SDK の構成 ディレクトリ ファイル 内容 classes コンパイルされたクラスを格納 doc Javadoc を格納 src ソースファイルを格納 target src 内容ソースファイルをコンパイルし jar ファイルにしたものを格納 third-party SDK が使用するサードパーティー製ライブラリーを格納.classpath eclipse でのクラスパス設定 ( 隠しファイル ).gitignore git 管理対象外ファイル ( 隠しファイル ).project eclipse 用プロジェクトファイル ( 隠しファイル ) 4. SDK を利用するための準備 4.1. 必要な環境 Java 1.7.45 Ant 1.8.4 Java のインストールされた実行環境をご準備ください また Ant の実行環境があれば Ant からサンプルプログラムの実行や SDK を jar ファ イル形式で出力 javadoc の出力ができます 4.2. アクセスキー シークレットキーの発行 オブジェクトストレージにアクセスする際に アクセスキー シークレットキーを利用します SDK ご利用の前に オブジェクトストレージコントロールパネルで アクセスキー シークレットキーを発行してください IDC Frontier Inc. All Rights Reserved. PAGE : 4 / 7

5. サンプルプログラムの実行 事前にアクセスキー シークレットキーをご準備ください (4.2 アクセスキー シークレットキーの発行 ) SDK を使ったバケット操作 ( 作成 削除 バケット一覧の表示 ACL の設定 ) オブジェクト操作( オブジェクトのアップロード ダウンロード 削除 バケット内のオブジェクト一覧の表示 ACL の設定 ) のサンプルプログラムを SDK に同梱しています サンプルプログラム : src/sample/riakcssample.java サンプルプログラム実行前に 事前に発行したアクセスキー シークレットキーを src/riakcscredentials.properties に設定してください 5.1. 実行方法 Ant で実行する場合 コマンドラインで SDK の src ディレクトリに移動し ant コマンドを実行します $ ant または eclipse などの ide から sample.riakcssample.java の main メソッドを実行してください third-party ディレクトリ内のライブラリを実 行時のクラスパスに追加されている状態で実行してください 6. SDK での API 操作 ここでは RiakCSClient を使った API についてバケット操作 オブジェクト操作のサンプルコードを紹介します API の詳しい内容については Javadoc をご覧ください RiakCSClient は AWS SDK の提供する AmazonS3Client を継承しています RiakCSClient のオーバーライド 独自実装の機能は doc/index.html をご覧ください 6.1. クライアント API は RiakCSClient クラスのインスタンスで操作します RiakCSClient は API 操作のためのアクセスキー シークレットキーを内部で参照します 参照の方法はインスタンス化の種類により複数存在します ここではクラスパス上の RiakCSCredentials.properties からアクセスキー シークレットキーを読み込みむ方法を紹介します RiakCSClient client = new RiakCSClient(new RiakCSClasspathCredentialsProvider()); 6.2. バケット操作 6.2.1. バケットの作成 String bucketname = "sample"; client.createbucket(bucketname); 引数のバケット名は すべてのバケットでユニークなものを指定する必要があります バケット作成時の ACL は Private です ( 下記 バケットの ACL を設定 参照 ) 6.2.2. バケットの ACL を設定 バケットに ACL を設定することでバケットを利用するユーザーを制限することができます 認証なしでアクセス可能にする権限を設定する例 client.setbucketacl(bucketname, CannedAccessControlList.PublicRead); 第 2 引数に指定できる ACL の定数の種類は 6.4 バケット オブジェクトの ACL 参照 IDC Frontier Inc. All Rights Reserved. PAGE : 5 / 7

6.2.3. バケットの ACL を取得 for (Grant g : client.getbucketacl(bucketname).getgrants()) { System.out.println(g.getGrantee().getIdentifier());// 権限の対象者 System.out.println(" " + g.getpermission());// 権限 System.out.println(""); } 実行結果 id:http://acs.amazonaws.com/groups/global/allusers WRITE id:http://acs.amazonaws.com/groups/global/allusers READ id:fc58ae16c9d560af9209d717826266a83a87e82eb567868520fe171b54d59a33 FULL_CONTROL 6.2.4. バケットの削除 client.deletebucket(bucketname); 6.3. オブジェクト操作 6.3.1. オブジェクトのアップロード File file = new File("/path/to/filename"); String key = "filename"; client.putobject(bucketname, key, file); 6.3.2. オブジェクトの取得 String key = "filename"; S3Object object = client.getobject(bucketname, key); InputStream is = object.getobjectcontent(); 6.3.3. オブジェクトの ACL の設定 アップロード時に設定 String key = "filename"; PutObjectRequest objectrequest = new PutObjectRequest(bucketName, key, new File("/path/to/filename")); objectrequest.setcannedacl(cannedaccesscontrollist.publicread); client.putobject(objectrequest); すでにアップロードされているオブジェクトに設定 client.setobjectacl(bucketname, key, CannedAccessControlList.PublicRead); 6.3.4. オブジェクトの ACL の取得 System.out.println("owner:" + acl.getowner().getdisplayname()); for(grant g : acl.getgrants()){ System.out.println(g.getGrantee().getIdentifier()); System.out.println(" " + g.getpermission()); } IDC Frontier Inc. All Rights Reserved. PAGE : 6 / 7

実行結果 owner:user1 fc58ae16c9d560af9209d717826266a83a87e82eb567868520fe171b54d59a33 FULL_CONTROL 6.3.5. オブジェクトのメタデータの取得 S3Object object = client.getobject(new GetObjectRequest(bucketName, key)); System.out.println("Content-Type: " + object.getobjectmetadata().getcontenttype()); 実行結果 Content-Type: text/plain 6.3.6. オブジェクトの削除 client.deleteobject(bucketname, key); 6.4. バケット オブジェクトの ACL 用定数 com.amazonaws.services.s3.model.cannedaccesscontrollist の定数 定数 効果 Private バケット オブジェクト作成時の初期値 所有者以外がアクセスできない PublicRead バケット オブジェクト所有者はフルコントロールのアクセスができる 全てのユーザーが認証なしで読み取り専用アクセスができる PublicReadWrite 全てのユーザーが認証なしで読み取り 書き込みのアクセスができる AuthenticatedRead 認証済みのユーザーが読み取専用アクセスができる BucketOwnerRead バケット所有者が読み取専用のアクセスができる BucketOwnerFullControl バケット所有者がフルコントロールのアクセスができる フルコントロール : 作成 削除 読み取 書き込み ACL の設定など IDC Frontier Inc. All Rights Reserved. PAGE : 7 / 7