ブロックリファレンス

BLOCKS Reference

Google Cloud

GCS から変数へロード

概要

このブロックは、Google Cloud Storage (GCS) 上のファイルを読み取り(ロード)、その内容を変数に設定します。

GCSから変数へロード

たとえば、以下のテキストファイルが GCS の gs://magellan-sample/files.txt に記載されているとします。

sample1.png
sample2.png

このファイルをこのブロックで処理すると、以下のようなデータが変数に設定されます。

{
  "gcs_url": "gs://magellan-sample/files.txt",
  "timestamp": 1480986550.0,
  "content": "sample1.png\nsample2.png"
}

このように、変数にはファイルの内容だけでなく、付随する情報も含めて JSON 形式のデータで設定します。「"content"」の「"sample1.png\nsample2.png"」が、ファイル内容です(\n は改行です)。

ロードするファイルの形式は、(none) / YAML / JSON / 改行区切りの JSON / バイナリ (Base64) / CSV から選択します。

ファイル形式 説明
(none)

ファイル内容そのままを「"content"」に設定します。

YAML / JSON

ファイル内容をそれぞれの形式で解析した結果を「"content"」に設定します。

たとえば、以下の YAML 形式のテキストファイルをロードさせるとします。

基本:
  - フローの開始
  - 並列分岐
  - Slack 通知
  - ログへ出力
  - オブジェクト生成
  - フローの終了
API:
  - HTTP GET
  - HTTP POST
  - HTTP PUT
  - HTTP DELETE

このファイルをこのブロックで処理すると、「"content"」は以下のようになります。

  "content": {
    "基本": [
      "フローの開始",
      "並列分岐",
      "Slack 通知",
      "ログへ出力",
      "オブジェクト生成",
      "フローの終了"
    ],
    "API": [
      "HTTP GET",
      "HTTP POST",
      "HTTP PUT",
      "HTTP DELETE"
    ]
  }
改行区切りの JSON

改行区切りの JSON を配列に変換し、「"content"」へ設定します。1 行ごとの JSON が配列の要素になります。

たとえば、以下の改行区切りの JSON ファイルをロードさせるとします。

{"name1": "value1", "name2": "value2"}
{"name1": "value3", "name2": "value4"}

このファイルをこのブロックで処理すると、「"content"」は以下のようになります。

  "content": [
    {
      "name1": "value1",
      "name2": "value2"
    },
    {
      "name1": "value3",
      "name2": "value4"
    }
  ]
バイナリ (Base64)

ファイル内容を Base64 でエンコードしたデータを「"content"」に設定します。

たとえば、以下のように設定します。

  "content": "ZkxhQwAA ... (中略) ... qqA55Q=="
CSV

ファイル内容を CSV 形式で解析し、オブジェクトの配列に変換して、「"content"」に設定します。CSV ファイルの各フィールドは、変換時にすべて文字列として扱われます。

CSV の形式は、以下のようなフィールド名を持つヘッダー行があることを前提としています。フィールド名を持つヘッダー行とは、他の行と同じ個数のフィールドを持ち、フィールドの名称が列挙されている行のことです。

field_name_1,field_name_2,field_name_3
aaa,bbb,ccc
xxx,yyy,zzz

この形式の CSV を読み込むと、以下のようなオブジェクトの配列を「"content"」に設定します。

  "content": [
    {
      "field_name_1": "aaa",
      "field_name_2": "bbb",
      "field_name_3": "ccc"
    },
    {
      "field_name_1": "xxx",
      "field_name_2": "yyy",
      "field_name_3": "zzz"
    }
  ]

プロパティ

各形式について詳しくは、「概要」の説明を参照してください。

プロパティ名 説明
ブロック名

編集パネルに配置した当該ブロックの表示名が変更できます。

ブロックリストパネル中のブロック名は変更されません。

GCP サービスアカウント このブロックで使用する GCP サービスアカウントを選択します。
読込データのファイル GCS URL

変数へ読み込むファイルの GCS URL を指定します。例えば、gs://magellan-sample/sample.yaml のように指定します。

変数展開の指定が可能][% 形式の文字列書式の指定が可能]
ファイル形式 GCS から読み取るファイルのファイル形式を (none) / YAML / JSON / 改行区切りの JSON / バイナリ (Base64) / CSV から選択します。
ブロックメモ このブロックに関するメモが記載できます。このブロックの処理に影響しません。
CSV の区切り文字

ファイル形式]プロパティが[CSV]の場合、CSV ファイルの区切り文字を[カンマ (,) / タブ / パイプ (|) / その他]から選択します。

その他]を選択した場合は、その横の入力フィールドに、区切り文字を指定してください。

読み飛ばし行数

ファイル形式]プロパティが[CSV]の場合、先頭から何行を読み飛ばすかの行数を指定します。

クオート記号を指定

ファイル形式]プロパティが[CSV]の場合、フィールドを囲むためのクオート記号を指定します。

結果を格納する変数

GCS 上のファイル内容を設定する変数を指定します。変数に設定されるデータの形式は、以下のとおりです。

{
  "gcs_url": "...",
  "timestamp": ...,
  "content": ...
}
名前 説明
"gcs_url" 読み取ったファイルの GCS URL です。
"timestamp" ファイルを読み取った日時です。日時は、UNIX 時間です。
"content" 読み取ったファイルの内容です。

この情報は役に立ちましたか?