Google Cloud Storageへファイルをアップロードします。
Google Cloud Storageへの認証にはサービスアカウントを使用します。サービスアカウントの使用方法は下記トピック「認証に必要な準備」を参照してください。
| 入力 | フォーマット | すべて | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 接続数 | 無制限 | |||||||||
| 説明 | 入力ストリームは使用せず、すべて無視します。 | |||||||||
| 出力 | フォーマット | Record | ||||||||
| 説明 |
次のようなフィールド定義のレコードが出力されます。
|
| 名前 | プロパティ型 | マッピング | 説明 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| コネクションを使用 | boolean | - |
接続先に以下のコネクション名を使用するかどうか選択します。
|
||||||
| コネクション名 | connection | - | コネクションを使用が「はい」の場合に、GCPコネクションを指定します。
コネクションペインまたは管理コンソールにて作成されたGCPコネクションを選択します。
各コネクションの詳細については、「はじめに」-「詳細なトピック」-「フローの構成要素」-「コネクションプロパティ」を参照してください。 |
||||||
| コネクション情報 | group | - | コネクションを使用プロパティが「いいえ」の場合に使用されるプロパティ群です。 | ||||||
| メールアドレス | string | 入力&出力 | Google Developer Consoleから取得したサービスアカウントのメールアドレスを設定します。 コネクションを使用が「いいえ」の場合にこの設定が参照されます。 | ||||||
| 証明書のエイリアス | string | 入力&出力 |
サービスアカウント認証用の証明書のエイリアスを設定します。
コネクションを使用が「いいえ」の場合にこの設定が参照されます。 |
||||||
| アプリケーション名 | string | 入力&出力 |
Google Cloud Storageのアプリケーション名を設定します。
Google Cloud Platformのプロジェクト名ではなく、アプリケーションを区別するための名前です。 コネクションを使用が「いいえ」の場合にこの設定が参照されます。 |
||||||
| タイムアウト(秒) | int | 入力&出力 |
リクエスト時およびコネクション接続時のタイムアウトまでの時間を秒単位で指定します。
コネクションを使用が「いいえ」の場合にこの設定が参照されます。 |
||||||
| プロキシ設定を使用 | boolean | - |
管理コンソールで設定したプロキシ設定を使用するかどうかを指定します。
プロキシの認証には対応していません。 コネクションを使用が「いいえ」の場合にこの設定が参照されます。
|
||||||
| バケット名 | string | 入力&出力 | オブジェクトをアップロードするバケットの名前を指定します。 | ||||||
| オブジェクト名 | string | 入力&出力 |
アップロードするオブジェクトの名前を指定します。
指定しなかった場合はアップロードファイルの名前になります。 |
||||||
| アップロードファイルパス | remoteFile | 入力&出力 | アップロードするファイルのパスを指定します。 | ||||||
| ファイルパスの詳細設定 | group | - | ファイルパスの詳細設定を行うプロパティ群です。 | ||||||
| 相対パスの起点 | pathResolver | - |
相対パス指定の場合にベースフォルダーを指定します。
|
||||||
| 絶対パスを許可 | boolean | - | 絶対パスを許可するかどうか選択します。 | ||||||
| 「..」を許可 | boolean | - | 上のフォルダへ移動する記述に「..」を許可するかどうか選択します。 | ||||||
| ContentType | string | 入力&出力 | コンテントタイプを指定します。 指定しない場合は自動で設定されます。 | ||||||
| 上書きを許可 | boolean | 入力&出力 |
オブジェクトを上書きするかどうか選択します。
|
||||||
| ロールバック時の処理 | choice | - |
ロールバック時にアップロードしたオブジェクトを削除するかどうかを選択します。
|
||||||
| メタデータ | category | 入力&出力 |
オブジェクトのカスタムメタデータとしてキーと値の文字列をセットします。Content-Typeなどの固定キーメタデータは設定できません。
|
||||||
| ACL | category | 入力&出力 |
オブジェクトのアクセス権限としてエンティティとロールをセットします。
エンティティとロールの値については公式サイトの「Access Control」を参照してください。 設定しなかった場合は、エンティティが「allusers」でロールが「READER」のアクセス権限が設定されます。
|
| コミット | 何もしません。 |
|---|---|
| ロールバック | ロールバック時の処理が「オブジェクトを削除」の場合、オブジェクトを削除します。 |
| タイプ | パラメーター | エラー処理フロー
へのストリーム | エラー
コード | 説明 |
|---|---|---|---|---|
| 汎用 | なし | コンポーネントの入力ストリーム | 1 | ローカルファイルパスが不正だった場合 |
| 2 | 通信に失敗した場合 | |||
| 3 | アクセスに失敗した場合 | |||
| 4 | 証明書の認証に失敗した場合 | |||
| 5 | プロパティが不正だった場合 | |||
| 7 | 出力ストリームのフィールドのデータ型の定義が不正だった場合 | |||
| オブジェクトが存在する | なし | コンポーネントの入力ストリーム | 8 | オブジェクトが既に存在する場合 |
Google Cloud Storage系コンポーネントを使用するには、Google Cloud(GCP)でサービスアカウントとその鍵を作成し、鍵に含まれる秘密鍵を管理コンソールでユーザーの証明書としてインポートする必要があります。
フローサービスにインポートできる鍵の形式はPKCS#12(P12)またはJava KeyStoreです。Google CloudコンソールのサービスアカウントのキーではJSON形式の鍵しか作成できないため、次の「方法A」または「方法B」でPKCS#12形式の鍵を用意します。
[サービスアカウント名]@[プロジェクトID].iam.gserviceaccount.com)を控えておきます。コネクションの「メールアドレス」に指定します。
方法A:gcloud CLIでPKCS#12形式の鍵を作成する
Google Cloud CLI(gcloud)が使用できる場合は、PKCS#12形式の鍵を直接作成できます。
gcloud iam service-accounts keys create key.p12 --iam-account=[サービスアカウントのメールアドレス] --key-file-type=p12
作成されたファイルのパスワードは「notasecret」です。
方法B:JSON形式の鍵をPKCS#12形式に変換する
gcloud CLIが使用できない場合は、Google CloudコンソールでJSON形式の鍵をダウンロードし、OpenSSLでPKCS#12形式に変換します。
private_keyの値(-----BEGIN PRIVATE KEY-----から-----END PRIVATE KEY-----まで)を取り出し、privatekey.pemとして保存します。JSON中の\nは改行に置き換えます。
(Get-Content key.json -Raw | ConvertFrom-Json).private_key | Set-Content privatekey.pem -NoNewline -Encoding ascii
openssl req -new -x509 -key privatekey.pem -out cert.pem -days 3650 -subj "/CN=[サービスアカウントのメールアドレス]" openssl pkcs12 -export -inkey privatekey.pem -in cert.pem -name privatekey -out key.p12 -passout pass:[任意のパスワード]証明書はフローサービスが秘密鍵を格納するために必要なもので、認証には使用されません。
-subjや-daysの値は任意です。
秘密鍵はサービスアカウントの認証情報そのものです。取り扱いには注意し、不要になったJSONファイルや中間ファイルは削除してください。
注意
組織のポリシー(iam.disableServiceAccountKeyCreation)によってサービスアカウントの鍵の作成が禁止されている場合は、鍵を作成できません。組織の管理者に確認してください。
Google Cloud Storage系コンポーネントを使用するには、外部ライブラリが必要となります。
コンポーネントをダブルクリックするか、右クリックメニューの「Google Cloud Storage Browser」を実行することで、コンポーネントに設定されている接続情報を使用して設定画面が開きます。
この画面ではバケット名とオブジェクト名の設定とバケットの新規作成、そしてバケットとオブジェクトの削除を行うことができます。
まず最初に「プロジェクト」にプロジェクトIDかプロジェクトのナンバーを入力してから「バケットリスト」ボタンをクリックしてください。
バケットとオブジェクトのツリーリストが表示されます。
このリストの中からコンポーネント設定するバケットとオブジェクトを選択します。
バケットのプロジェクトを指定します。
プロジェクトのIDかナンバーを指定してください。プロジェクト名には対応していません。
コンポーネントのバケット名が指定されている場合、そのバケットが所属するプロジェクトのナンバーが表示されます。
指定したプロジェクトのバケットリストを表示します。
選択したバケットの値が表示されます。
選択したオブジェクトの値が表示されます。
バケットを作成するためのダイアログが表示されます。
「バケット」ツリーリストで選択されているバケットをサーバーから削除します。
「バケット」ツリーリストで選択されているオブジェクトをサーバーから削除します。
選択されているバケットまたはオブジェクトの属性情報が表示されます。
ファイル内容はUTF-8で表示します。それ以外のエンコーディングではうまく表示できない場合があります。
リストで選択されたバケットとオブジェクトの情報をコンポーネントのバケット名とオブジェクト名プロパティに設定します。
このダイアログを閉じます。
コンポーネントのバケット名とオブジェクト名プロパティに変更はありません。