GCSPut - Google Cloud Storageへファイルをアップロード

Google Cloud Storageへファイルをアップロードします。
Google Cloud Storageへの認証にはサービスアカウントを使用します。サービスアカウントの使用方法は下記トピック「認証に必要な準備」を参照してください。

■ストリーム情報

入力フォーマットすべて
接続数無制限
説明 入力ストリームは使用せず、すべて無視します。
出力フォーマットRecord
説明 次のようなフィールド定義のレコードが出力されます。
フィールド名データ型説明
idStringアップロードしたオブジェクトのIDを出力します。
sizeIntegerアップロードしたオブジェクトのサイズを出力します。

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

名前プロパティ型マッピング説明
コネクションを使用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- 上のフォルダへ移動する記述に「..」を許可するかどうか選択します。
上書きを許可boolean入力&出力 オブジェクトを上書きするかどうか選択します。
はい [true] - オブジェクトを上書きします。
いいえ [false] - オブジェクトが存在するのエラーを発生します。
ロールバック時の処理choice- ロールバック時にアップロードしたオブジェクトを削除するかどうかを選択します。
オブジェクトを削除 [true] - 削除します。
何もしない [false] - 何もしません。
メタデータcategory入力&出力 オブジェクトのメタデータとしてキーと値の文字列をセットします。
名前
キーメタデータのキー
メタデータの値
ACLcategory入力&出力 オブジェクトのアクセス権限としてエンティティとロールをセットします。
エンティティとロールの値については公式サイトの「Access Control」を参照してください。
設定しなかった場合は、エンティティが「allusers」でロールが「READER」のアクセス権限が設定されます。
名前
エンティティACLのエンティティ
ロールACLのロール

■トランザクション処理

コミット何もしません。
ロールバックロールバック時の処理が「オブジェクトを削除」の場合、オブジェクトを削除します。

■エラー処理

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

■認証に必要な準備

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」ボタン

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

「キャンセル」ボタン

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