ブロックリファレンス

Block Reference

共通

% 形式の文字列書式

ブロックのプロパティによっては、「%Y/%m/%d %H:%M:%S」のような % 形式の文字列書式が記述できます。この書式は、そのブロックが処理されるときに、所定の日時に変換されます。

変換される日時は、フローの実行が定期実行か手動実行で異なります。

  • 定期実行されるフローの場合は、「フローの開始」ブロックの「開始時間」プロパティの値です。
  • 手動実行されるフローの場合は、フローの手動実行を MAGELLAN BLOCKS が受け付けた日時です。

例えば、「Slack通知ブロック」の「通知メッセージ」プロパティに、以下のように記述されているとします。

処理日時: %Y/%m/%d %H:%M:%S

また、このブロックを含むフローが、毎時 0 分に定期実行されるように「開始時間」プロパティで「0 * * * *」と指定されているとします。

このとき、フローが 2016/4/13 11:01:23 に実行された場合、以下のように変換されます。定期実行の場合は、実際に実行された日時ではないことに注意してください。

処理日時: 2016/04/13 11:00:00

11:01:23 に実行されたということは、11:00:00 に実行するようにスケジューリングされたものが実行されたため。

書式一覧

使用できる % 形式の文字列書式は次のとおりです。

書式 説明
%% % を表します。例えば、%%c は %c と表示され、日時に変換されません。
%a 曜日の省略名を表します。例: Wed
%A 曜日の完全名を表します。例: Wednesday
%b 月の省略名を表します。例: Apr
%B 月の完全名を表します。例: April
%c 日付・時刻を表します。例: Wed Apr 13 11:03:47
%C 世紀 (西暦年の上 2 桁) を表します。例: 20
%d 月内通算日 (01-31) を表します。1 桁の場合は、十の位は 0 となります。例: 09
%D %m/%d/%y と指定した場合と同じになります。例: 04/13/16
%e 月内通算日 (1-31) を表します。例: 13
%F %Y-%m-%d と指定した場合と同じになります。例: 2016-04-13
%g ISO 8601 週単位の表記年の下 2 桁 (00-99) を表します。基本的には、%y と同様ですが、ISO 週数が前年や翌年になる場合にはその年が使用されます。例: 16
%G %g と同様ですが、4 桁の西暦年を表します。また、%Y と同様ですが、ISO 週数が前年や翌年になる場合にはその年が使用されます。例: 2016
%h %b と同様です。例: Apr
%H 24 時間表記の時 (00-23) を表します。1 桁の場合は、十の位は 0 となります。例: 09
%I 12 時間表記の時 (00-12) を表します。1 桁の場合は、十の位は 0 となります。例: 09
%j 年の初めからの通算の日数 (001-366) を表します。例: 104
%k 24 時間表記での時 (0-23) を表します。例: 9
%l 12 時間表記での時 (0-12) を表します。例: 9
%m 月 (01-12) を表します。1 桁の場合は、十の位は 0 となります。例: 04
%M 分 (00-59) を表します。1 桁の場合は、十の位は 0 となります。例: 03
%n 改行を表します。
%p 午前と午後を AM と PM で表します。なお、正午は PM、真夜中は AM となります。例: AM
%r 午前・午後形式での時刻を表します。例: 11:03:47 AM
%R 24 時間表記の時刻を表します。ただし、秒は表示しません。例: 11:03
%s 紀元 (協定世界時 (UTC) 1970 年 1 月 1 日 午前 0 時 0 分 0 秒) からの秒数を表します。例: 1460513027
%S 秒 (00-60) を表します。1 桁の場合は、十の位は 0 となります。例: 47
%t タブ文字を表します。
%T 24 時間表記の時刻を表します。例: 11:03:47
%u 曜日を数字 (1-7) で表します。月 = 1, 火 = 2, 水 = 3, 木 = 4, 金 = 5, 土 = 6, 日 = 7
%U 週番号 (00-53) を表します。その年の最初の日曜日を第 1 週の始まりとして計算します。例: 15
%V ISO 8601 形式の週番号 (01-53) を表します。その年の 4 日以上ある最初の週を 1 として計算します。例: 15
%w 曜日を数字 (0-6) で表します。日 = 0, 月 = 1, 火 = 2, 水 = 3, 木 = 4, 金 = 5, 土 = 6
%W 週番号 (00-53) を表します。その年の最初の月曜日を第 1 週の始まりとして計算します。例: 15
%x 日付を表します。例: 04/13/16
%X 時刻を表します。例: 11:03:47
%y 西暦の下 2 桁 (00-99) を表します。例: 16
%Y 西暦年を表します。例: 2016
%z +hhmm/-hhmm 形式のタイムゾーンを表します。例: +0900
%Z タイムゾーン名または省略名を表します。例: JST

使用可能なプロパティ

この % 形式の文字列書式が指定できるカ所は次のとおりです。

カテゴリ ブロック プロパティ
基本 Slack通知 Slack表示名
チャンネル
アイコン
通知メッセージ
API HTTP GET クエリーパラメーターのバリュー
HTTP POST クエリーパラメーターのバリュー
HTTP PUT クエリーパラメーターのバリュー
HTTP DELETE クエリーパラメーターのバリュー
BigQuery GCSから単一テーブルへロード 投入先のデータセット
投入先のテーブル
変数からテーブルへロード 投入先のデータセット
投入先のテーブル
GCSから複数テーブルへロード 投入データのファイル群GCS URL
投入先のデータセット
投入先のテーブル
ファイルの存在チェックURL
単一テーブルからGCSへエクスポート 出力先ファイルのGCS URL
出力元のデータセット
出力元のテーブル

複数テーブルからGCSへエクスポート

出力先ファイルのGCS URL
出力先ファイルの拡張子
出力元のデータセット
出力元のテーブル
クエリーの実行 クエリー
結果格納先のデータセット
結果格納先のテーブル

クエリーの並列実行

クエリー
結果格納先のデータセット
結果格納先のテーブル
カラム値毎のテーブル分割 分割元のデータセット
分割元のテーブル
分割したテーブルのデータセット
分割したテーブルのテーブル
ビューの作成 結果格納先のデータセット
結果格納先のテーブル
ストリームインサート 投入先のデータセット
投入先のテーブル
テーブル削除 削除対象のテーブルを保持するデータセット
削除対象のテーブル
機械学習 画像解析 画像のGCS上のURL
Beta GCE の VM インスタンスを起動 ゾーン
VM インスタンス
GCE の VM インスタンスを停止 ゾーン
VM インスタンス
Cloud Speech API 音声データのGCS上のURL

変数

Big Data ボードのフローには、ブロック間でデータを共有できる「変数」機能があります。

変数には、以下の特徴があります。

  • 変数は複数持つことができ、それぞれに名前を付けて区別します。
  • 変数に付けた名前を変数名と呼びます。
    • 変数名に使える文字は、英大文字・英小文字・数字・_(アンダースコアー)です。
    • 数字のみの変数名は使用できません。
    • _(アンダースコアー)で始まる変数名は、BLOCKS が定義する変数名として使います。現在、以下の変数名が定義されています(今後も追加予定)。
      • _flow_aliases(フローの ID)
      • _flow_id(フローごとに自動採番された番号)
      • _flow_name(「フローの開始」ブロックのブロック名)
  • フローの実行中にのみ有効です。
  • ブロックの入力や出力に使えます。
変数を解説した図

変数展開

ブロックのプロパティの一部では、「変数展開」機能が使えます。

変数展開」とは、ブロックのプロパティの値の全部または一部を変数の内容で置き換えることです。

変数展開の書き方は、以下のとおりです。

${変数}

${} の間に変数を記述すると、ブロックが処理されるときに、その変数が参照する内容に置き換わります。

たとえば、「クエリーの実行」ブロックの「結果格納先のテーブル」プロパティに、${table_name} と設定します。

変数展開例(フロー作成時)

この「クエリーの実行」ブロックを実行したときに、変数 table_name の内容が samples だった場合、「結果格納先のテーブル」プロパティの値は、samples となります。

変数展開例(フロー実行時)

この変数展開が使えるプロパティは、「% 形式の文字列書式」が使えるプロパティと同じです。

配列やオブジェクトデータの一部取得

変数に格納されたデータが配列オブジェクトの場合は、そのデータの一部を取得できます。

配列とは、複数の値を連続して並べて、それをひとまとまりのデータとして表現したものです(下図参照)。変数に配列が格納されている場合は、インデックスを指定した値の取得ができます。インデックスは、値が先頭から何番目にあるのかという位置を示します(先頭の値は 0 番目)。

配列データのサンプル画像

オブジェクトとは、キーと値のペアを基本とし、このペアの集合をひとまとまりのデータとして表現したものです(下図参照)。変数にオブジェクトが格納されている場合は、キーを指定した値の取得ができます。

オブジェクトデータのサンプル画像

BLOCKS では、「オブジェクト生成」ブロックを使ってオブジェクトが作成できます。また、BLOCKS のブロックでよく取り扱う JSON のオブジェクト値もこれと同義です。

書式

<配列の場合>
変数.インデックス
<オブジェクトの場合>
変数.キー

info_outline 変数が _ の場合は、変数を省略した .インデックス および .キー という書き方もできます。

変数 y に下図の配列が格納されている場合は、y.1”API” を取得します。

配列データのサンプル画像

変数 x に下図のオブジェクトが格納されている場合は、x.name(キー "name"" は外す)は ”John Smith” を取得します。

オブジェクトデータのサンプル画像

オブジェクトの中にオブジェクトがあるとか、オブジェクトの中に配列があるようにオブジェクトと配列が入れ子になっている場合は、変数.キー.キー変数.キー.インデックス などのように .(ピリオド)をつないで、入れ子になった中の値も取得できます。

変数 x に上図のオブジェクトが格納されている場合は、x.languages.0 は、”English” を取得します。

info_outline この記法は、${x.name}${y.1} などのように、変数展開でも使用できます。