2012年11月23日金曜日

Google Cloud Storageのドキュメント - Java API概要 その3

Google Cloud StorageのJava APIの概要についての
ドキュメントを翻訳しています。

翻訳元はこちらです。

このドキュメントは、Google App Engineアプリケーションから
Google Cloud Storageの機能を呼び出す方法について
説明しています。

現在は試験的運用中なので、今後変更があるかもしれません。

第1回はこちら、第2回はこちらです。

Prerequisites - 前提条件

Google Cloud Storage APIを利用するには、以下の前提条件を満たさなければなりません:
  1. Google Cloud Storage API for Javaは、App Engihe SDKs 1.6.0以降で使用できます。また、このページに記述されているサンプルのいくつかは、Google Plugin For Eclipseが必要です。Google Plugin for EclipseとApp Enging SDKのアップデート・ダウンロードについては、Google Plugin for Eclipseのダウンロードページを参照してください。
  2. Cloud Storageのアクティブ化。Google APIsコンソールで、Cloud Storageサービスのアクティブ化を行ってください。
  3. 課金のセットアップ。Google Cloud Storageは、課金情報の提供が必要です。指定の状況では、無料の試用クォータが提供されています。
  4. バケットの生成。Cloud Storageでは、データを保持する基本的なコンテナであるバケットが存在します。バケットは、Google Cloud Storageにアップロードしたデータの各部分を、オブジェクトという形で全てのデータを保持します。Google Cloud Storage APIを使用できるようになるには、データを保存するためのバケットを生成する必要があります。そのための最も簡単な方法は、qsutilツールまたはGoogle APIsコンソールを通してアクセスできるオンラインGoogle Storageブラウザを利用することです。
  5. バケットまたはオブジェクトに認証を与える。バケットに新しいオブジェクトを生成できるようにするためには、以下を行うことが必要です:
    • App Engine Adminコンソールにログイン
    • Cloud Storageのバケットを認証するアプリケーションをクリック
    • 左側にあるAdministrationセクションの下のApplication Settingsをクリック
    • Service Account Nameの下の値をコピーします。これは、アプリケーションのサービスアカウント名で、application-id@appspot.gserviceaccount.comの形式です。App Engineプレミアアカウントを使用している場合、アプリケーションのアカウント名は、application-id.example.com@appspot.gserviceaccount.comの形式となります。
    • 以下のメソッドの内の一つを用いて、アクセス権を与えます:
      • バケットにアプリケーションのアクセスを認める最も簡単な方法は、Google APIsコンソールを使ってバケットを含むプロジェクトにチームメンバーとしてアプリケーションのサービスアカウント名を加えることです。(アプリケーションはバケットに書き込みを行う必要がある場合、editパーミッションを持つことが必要です) Cloud Storage内のパーミッションについての情報は、Scopes and Permissionsを参照してください。必要ならば、プロジェクトに他のアプリケーションも加えてください。
      • アプリケーションにバケットへのアクセス権を与える他の手段として、qsutilユーティリティを使って、バケットのACLや既定のオブジェクトのACLの設定を手動で編集する方法があります:
        1. バケットのACLを取得して、編集用にファイルに保存します。
          gsutil getacl gs://mybacket > myAcl.txt
        2. 取得したACLのファイルに以下の内容を加えます。
           <entry>
             <scope type="UserByEmail">
                <emailaddress>
                   your-application-id@appspot.gserviceaccount.com
                </emailaddress>
             </scope>
             <permission>
                WRITE
             </permission>
           </entry>
        3. ACLに複数のアプリケーションを加えたい場合は、それぞれのアプリケーションについて上記の内容を繰り返し、それぞれのアプリケーションのサービス名を反映したemailアドレスのみを変更します。
        4. 変更したACLをバケットにセットします。
          gsutil setacl myAcl.txt gs://mybucket
        5. 複数のアプリケーション、またはDatastore Adminbackup and restore機能にバケットへのアクセス権を与えている場合、バケットにデフォルトのオブジェクトACLをセットする必要があります。
          1. バケットへのデフォルトのオブジェクトACLを取得して、編集用のファイルに保存します。
            gsutil getdefacl gs://mybucket > myDefAcl.txt
          2. 上記のバケットのACLと同じ内容を追加して、必要ならばWRITEをFULL_CONTROLまたはREADに変更します。
          3. 変更したデフォルトのオブジェクトACLをバケットにセットします。
            gsutil setdefacl myDefAcl.txt gs://mybucket
      • 認証されていないアプリケーションが特定のオブジェクトの読み取りを行うことを防ぐ必要がある場合は、以下のことを行えます:
        • オブジェクト上の定義済みのproject-privateACLを手動でセットする
        • バケット内にdefault project-private object ACL付きでオブジェクトを保存する
        • その後、Google APIsコンソールでサービスアカウントをproject viewerとして追加し、オブジェクトにREAD-ONLYアクセスをApp Engineアプリケーションに与えます。定義済みのpublic-readACLをセットして、認証されている・されていないに関わらずに全てのユーザーにオブジェクトへのアクセスを許可することもできます。project viewerのアプリケーションのサービスアカウント名を追加する必要はありませんが、パブリックなアクセスを望まないデータがある場合は、オブジェクトにpublic-readのACLを設定しないで下さい。
          Note:バケットにREADパーミッションのみをセットすると、バケット内のどのオブジェクトにもREADパーミッションは提供されません。オブジェクトに対して個別にREADパーミッションをセットするか、バケット内にオブジェクトを生成する前にdefault ACLをセットしなければなりません。

インストール不要・無料のKaede翻訳ツール:
http://kaedetrans-hrd.appspot.com/

2012年11月15日木曜日

Google Cloud Storageのドキュメント - Java API概要 その2

前回から、Google Cloud StorageのJava APIの概要についての
ドキュメントを翻訳しています。

翻訳元はこちらです。

このドキュメントは、Google App Engineアプリケーションから
Google Cloud Storageの機能を呼び出す方法について
説明しています。

現在は試験的運用中なので、今後変更があるかもしれません。

第1回はこちらです。

Introducing Google Cloud Storage - Google Cloud Storageの紹介

Google App Engineは、アプリケーションにデータオブジェクトの生成・提供を可能とする、Google Cloud Storageオブジェクトへの簡単な読み書きの手段を提供しています。これらのオブジェクトはCloud Storageのバケットに保存されますが、加えてGoogle App EngineアプリケーションからGoogle Cloud Storage APIを通してアクセスすることもできます。Google Cloud Storage APIをRESTfulなAPIを使う、もしくは、このドキュメントで述べられているようにGoogle Cloud Storage Java API for Google App Engine applicationsを通して使うことができます。
 Cloud Storageは、オブジェクトの大きさの制限が無いために、大きいファイルの保存・提供に利用できます。それに加えて、Cloud Storageはアクセスコントロールリスト(ACLs)、割り込みが発生した場合のアップロード中断・再開機能、POSTポリシードキュメントの使用のほか、多くの機能を提供します。
 オブジェクトを一度生成すると、編集することはできません。既存のオブジェクトを編集するためには、必要な変更を済ませた新しいオブジェクトで、上書きを行う必要があります。
 より詳しくは、Google Cloud Storage pricingを参照してください。

インストール不要・無料のKaede翻訳ツール:
http://kaedetrans-hrd.appspot.com/

2012年11月2日金曜日

Google Cloud Storageのドキュメント - Java API概要 その1

今回から、Google Cloud StorageのJava APIの概要についての
ドキュメントを翻訳してみます。

翻訳元はこちらです。

このドキュメントは、Google App Engineアプリケーションから
Google Cloud Storageの機能を呼び出す方法について
説明しています。

現在は試験的運用中なので、今後変更があるかもしれません。


Google Cloud Storage Java API Overview - Google Cloud Storage Java API概要

Experimental! 試験的運用! Google App Engine向けGoogle Cloud Storage APIは、試験的運用中で、革新的であり、速やかな改善を行っています。そのような新しい機能であるため、Google Cloud StorageのApp Engineへのサポートは、ユーザーからの製品への要望とフィードバックに基づいて時間と共に変更されていきます。試験的運用が終了する時期は、コミュニティに説明を行います。
Note:このAPIは、Google Cloud Storageに対してファイルの読み書きを可能とします。Google Cloud Storage内に保存されているファイルを提供したい場合は、Blogstore APIで提供されているcreateGsBlogKey()メソッドを使用することができます。
Google Cloud Storage APIは、Google Cloud Storageサービスからのアプリケーションへのデータの保存・提供を行うメソッドを扱えます。Cloud Storege APIはRESTful APIですが、このドキュメントではApp Engine上でCloud Storage APIを使用する方法を記述しています。 Google Cloud Storage APIは、アプリケーションにobjectsとして認識される、不定形なデータの保存・提供を可能とします。Cloud Storage APIはRESTfulなAPIを提供しており、このドキュメントではApp Engine上でCloud Storageを使用する方法について記述しています。

インストール不要・無料のKaede翻訳ツール:
http://kaedetrans-hrd.appspot.com/