GCSGet - Google Cloud Storageからオブジェクトを取得

Google Cloud Storageからオブジェクトを取得してダウンロードします。
ダウンロードするオブジェクトと同じ名前のファイルがすでに存在していた場合は上書きされます。
フォルダーをダウンローすることはできません。
Google Cloud Storageへの認証にはサービスアカウントを使用します。サービスアカウントの使用方法は下記トピック「認証に必要な準備」を参照してください。

■ストリーム情報

入力フォーマットすべて
接続数無制限
説明 入力ストリームは使用せず、すべて無視します。
出力フォーマットRecord
説明 次のようなフィールド定義のレコードが出力されます。
メタデータを取得したい場合、フィールド名は取得したい情報を「Meta_キー」の形式で指定します。取得できなかった場合nullが出力されます。
フィールド名データ型説明
kindString取得したオブジェクトの種類を出力します。
idString取得したオブジェクトのIDを出力します。
selfLinkString取得したオブジェクトのURLを出力します。
nameString取得したオブジェクトの名前を出力します。
bucketString取得したオブジェクトのバケットを出力します。
generationString取得したオブジェクトのGenerationを出力します。
metagenerationString取得したオブジェクトのMetaGenerationを出力します。
contentTypeString取得したオブジェクトのコンテンツタイプを出力します。
timeCreatedDateTime取得したオブジェクトの作成日時を出力します。
updatedDateTime取得したオブジェクトの更新日時を出力します。
storageClassString取得したオブジェクトのストレージクラスを出力します。
sizeInteger取得したオブジェクトのサイズを出力します。
md5HashString取得したオブジェクトのMD5ハッシュ値を出力します。
mediaLinkString取得したオブジェクトのメディアリンクを出力します。
owner_entityString取得したオブジェクトのオーナーのエンティティを出力します。
owner_entityIdString取得したオブジェクトのオーナーのエンティティIDを出力します。
crc32cString取得したオブジェクトのCRC32Cを出力します。
etagString取得したオブジェクトのETagを出力します。
Meta_[キー]取得したオブジェクトのメタデータを出力します。
filePathStringダウンロードしたファイルの絶対パスを出力します。

■コンポーネントプロパティ

名前プロパティ型マッピング説明
コネクションを使用boolean- 接続先に以下のコネクション名を使用するかどうか選択します。
はい [true] - 以下のコネクション名で指定された接続情報を使用します。
いいえ [false] - コネクション情報以下のプロパティを使って接続を行います。
コネクション名connection-コネクションを使用が「はい」の場合に、GCPコネクションを指定します。 コネクションペインまたは管理コンソールにて作成されたGCPコネクションを選択します。
コネクション情報group-コネクションを使用プロパティが「いいえ」の場合に使用されるプロパティ群です。
メールアドレスstring入力&出力 Google Developer Consoleから取得したサービスアカウントのメールアドレスを設定します。 コネクションを使用が「いいえ」の場合にこの設定が参照されます。
証明書のエイリアスstring入力&出力 サービスアカウント認証用の証明書のエイリアスを設定します。
コネクションを使用が「いいえ」の場合にこの設定が参照されます。
アプリケーション名string入力&出力 Google Cloud Storageのアプリケーション名を設定します。
Google Cloud Platformのプロジェクト名ではなく、アプリケーションを区別するための名前です。
コネクションを使用が「いいえ」の場合にこの設定が参照されます。
タイムアウト(秒)int入力&出力 リクエスト時およびコネクション接続時のタイムアウトまでの時間を秒単位で指定します。
コネクションを使用が「いいえ」の場合にこの設定が参照されます。
プロキシ設定を使用boolean- 管理コンソールで設定したプロキシ設定を使用するかどうかを指定します。
プロキシの認証には対応していません。
コネクションを使用が「いいえ」の場合にこの設定が参照されます。
はい [true] - プロキシ設定を使用します。
いいえ [false] - プロキシ設定を使用しません。
バケット名string入力&出力 オブジェクトを取得するバケットの名前を指定します。
オブジェクト名string入力&出力 取得するオブジェクトの名前を指定します。
保存先ファイルパスremoteFile入力&出力 取得したファイルを保存するパスを指定します。
ファイルパスの詳細設定group- ファイルパスの詳細設定を行うプロパティ群です。
相対パスの起点pathResolver- 相対パス指定の場合にベースフォルダーを指定します。
プロジェクトフォルダー [Relative]
プロジェクトファイルと同じフォルダーを起点にします。
ホームフォルダー [ProjectOwner]
ユーザーのホームフォルダーを起点にします。
実行ユーザーのホームフォルダー [ExecuteUser]
実行ユーザーのホームフォルダーを起点にします。
絶対パスを許可boolean- 絶対パスを許可するかどうか選択します。
「..」を許可boolean- 上のフォルダへ移動する記述に「..」を許可するかどうか選択します。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラメーターエラー処理フロー
へのストリーム
エラー
コード
説明
汎用 なし コンポーネントの入力ストリーム1保存先ファイルパスが不正だった場合
2通信に失敗した場合
3オブジェクトへのアクセス権がなかった場合
4証明書の取得に失敗した場合
5プロパティが不正だった場合
7出力ストリームのフィールドのデータ型の定義が不正だった場合
オブジェクトが無い なし コンポーネントの入力ストリーム6オブジェクトが存在しない場合

■認証に必要な準備

Google Cloud Storage系コンポーネントを使用するには、Google Developer Consoleからサービスアカウントを作成して認証情報を取得し、管理コンソールで設定する必要があります。

  1. Google Developer Consoleの「認証情報」でサービスアカウントを追加する
  2. P12形式の証明書を選択してダウンロードする
  3. 管理コンソールでP12証明書をユーザーの証明書としてインポートする
  4. サービスアカウントのメールアドレスとインポートした証明書をコンポーネントの接続情報に設定する

■動作に必要な設定

Google Cloud Storage系コンポーネントを使用するには、Google APIs Client Libraries for Javaが必要です。

  1. Assembly for the Google APIs Client Library for Javaからgoogle-api-client-assembly-1.31.2-1.31.2.zipファイルをダウンロードしてください。
  2. ダウンロードしたzipファイルを解凍し、次のjarファイルを[DATA_DIR]/system/lib/userlibフォルダーにコピーしてください。
    • google-api-client-1.31.2.jar
    • google-http-client-1.38.1.jar
    • google-http-client-jackson2-1.38.1.jar
    • google-oauth-client-1.31.4.jar
    • grpc-context-1.22.1.jar
    • guava-30.1-android.jar
    • opencensus-api-0.24.0.jar
    • opencensus-contrib-http-util-0.24.0.jar
  3. Could Storage JSON API Libraryのダウンロードページから最新版のjarファイルをダウンロードしてください。(最新版の詳細ページのFilesという項目にjarファイルのダウンロードリンクがあります)
  4. ダウンロードした次のjarファイルを[DATA_DIR]/system/lib/userlibフォルダーにコピーしてください。
    • google-api-services-storage-v1-rev[version]-[version].jar

■バケットとオブジェクトの設定画面

コンポーネントをダブルクリックするか、右クリックメニューの「Google Cloud Storage Browser」を実行することで、コンポーネントに設定されている接続情報を使用して設定画面が開きます。
この画面ではバケット名オブジェクト名の設定とバケットの新規作成、そしてバケットとオブジェクトの削除を行うことができます。
まず最初に「プロジェクト」にプロジェクトIDかプロジェクトのナンバーを入力してから「バケットリスト」ボタンをクリックしてください。


「バケット」ツリーリスト

バケットとオブジェクトのツリーリストが表示されます。
このリストの中からコンポーネント設定するバケットとオブジェクトを選択します。

「プロジェクト」

バケットのプロジェクトを指定します。
プロジェクトのIDかナンバーを指定してください。プロジェクト名には対応していません。
コンポーネントのバケット名が指定されている場合、そのバケットが所属するプロジェクトのナンバーが表示されます。

「バケットリスト」ボタン

指定したプロジェクトのバケットリストを表示します。

バケット名

選択したバケットの値が表示されます。

オブジェクト名

選択したオブジェクトの値が表示されます。

「バケットを作成」ボタン

バケットを作成するためのダイアログが表示されます。

「バケットを削除」ボタン

「バケット」ツリーリストで選択されているバケットをサーバーから削除します。

「オブジェクトを削除」ボタン

「バケット」ツリーリストで選択されているオブジェクトをサーバーから削除します。

属性情報

選択されているバケットまたはオブジェクトの属性情報が表示されます。
ファイル内容はUTF-8で表示します。それ以外のエンコーディングではうまく表示できない場合があります。

「OK」ボタン

リストで選択されたバケットとオブジェクトの情報をコンポーネントのバケット名オブジェクト名プロパティに設定します。

「キャンセル」ボタン

このダイアログを閉じます。
コンポーネントのバケット名オブジェクト名プロパティに変更はありません。