BLOCKS Reference

Block Reference

Common features

% format characters

You can use characters that start with a % sign as dynamic values in the properties of some BLOCKS. For example, %Y/%m/%d %H:%M:%S. BLOCKS will convert these % format characters into Datetimes when they are processed.

There is a slight difference in the converted Datetimes depending on whether the Flow was executed manually or using an auto-execution schedule.

  • Auto-execution: The value designated in the Auto-execution schedule property of the Start of Flow BLOCK.
  • Manual execution: The Datetime at the moment BLOCKS received your manual execution request.

For example, assume the following has been entered into the Slack notice BLOCK’s Success notices property:

Time of processing: %Y/%m/%d %H:%M:%S

Assume that the Flow containing this BLOCK contains 0 * * * * as Auto-execution schedule property and will execute at the start of each hour.

In this case, if the Flow executes at exactly 2016/4/13 11:01:23, the % format character string will be converted into the following when the Slack notice BLOCK processes:

Time of processing: 2016/04/13 11:00:00

As you can see, the converted Datetime is not the actual moment that the Flow executed. Please be aware of this when using an auto-execution schedule.

The 11:01:23 execution time is when the Flow scheduled to run at 11:00:00 actually executed.

% format character list

You can use the following % format characters:

Format Explanation
%% Displays a “%”. For example, “%%c” displays as “%c” and does not convert to Datetime.
%a Displays an abbreviation for the day of the week (e.g., Wed).
%A Displays the complete name of the day of the week (e.g., Wednesday).
%b Displays an abbreviation for the month (e.g., Apr).
%B Displays the complete name of the month (e.g., April).
%c Displays the date and time (e.g., Wed Apr 13 11:03:47).
%C Displays the century (first two digits on the Western calendar) (e.g., 20).
%d Displays the total number of days passed in the month (01-31) with a “0” in the tens place for single-digit numbers (e.g., 09).
%D Displays the date in month/day/year format (same as entering %m/%d/%y) (e.g., 04/13/16).
%e Displays the total number of days passed in the month (1-31). Unlike %d, a 0 does not display in the tens place for single digit numbers (e.g., 13).
%F Displays the date in year-month-day format (same as entering %Y-%m-%d) (e.g., 2016-04-13).
%g Displays the last two digits (00-99) of the ISO 8601 week unit/year display format. These two digits represent the year. In theory, the information displayed is that same as that for %y, however if the ISO week number falls in the prior or following calendar year, that year will be used (e.g., 16).
%G This is the same as %g but a 4-digit Western calendar time is displayed. Furthermore, it is the same as %Y, however if the ISO week number falls in the prior or following calendar year, that year will be used (e.g., 2016).
%h Displays the same content as %b (e.g., Apr).
%H Displays hours in military time (0-23) with a “0” in the tens place of single digit numbers (e.g.,09).
%I Displays hours using AM/PM (0-12) with a “0” in the tens place for single digit numbers (e.g., 09).
%j Displays the number of days passed in the current year (001-366) (e.g., 104).
%k Displays hours in military time (0-23) (e.g., 9).
%l Displays hours using AM/PM (0-12) (e.g., 9).
%m Displays the month (1-12) with a “0” in the tens place of single digit numbers (e.g., 04).
%M Displays minutes (0-59) with a “0” in the tens place of single digit numbers (e.g., 03).
%n Signifies a carriage return
%p Displays morning and afternoon as “AM” and “PM”. Noon is recognized as PM, and midnight as AM (e.g., AM).
%r Displays time of day in AM/PM format (e.g., 11:03:47 AM).
%R Displays time of day in military time format. Note, seconds are not displayed (e.g., 11:03).
%s Displays the time (Coordinated Universal Time (UTC)) in seconds from 1970, January, 1, 0 AM, 0 min., 0 sec (e.g., 1460513027).
%S Displays seconds (0-60) with a “0” in the tens place of single digit numbers (e.g., 47).
%t Signifies the tab mark.
%T Displays military time (e.g., 11:03:47).
%u Displays the day of the week as a number (1-7). Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6, and Sunday = 7.
%U Displays the week of the year as a number (1-53) with the first week starting from the first Sunday of the year (e.g., 15).
%V Displays weeks (01-53) in ISO 8601 format. The first week with 4 or more days in it is recognized as the first week of the year (e.g., 15).
%w Displays the day of the week as a number (0-6). Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, and Saturday = 6.
%W Displays the week of the year as a number (00-53) with the first week starting from the first Monday of the year (e.g., 15).
%x Displays the date (e.g., 04/13/16).
%X Displays the time (e.g., 11:03:47).
%y Displays the last two digits of the year on the Western calendar (e.g., 16).
%Y Displays the year on the Western calendar (e.g., 2016).
%z Displays the time zone in +hhmm/-hhmm format (e.g., +0900).
%Z Displays the abbreviated time zone name (e.g., JST).

Properties that support % format characters

Properties supporting input of % format characters are listed in the table below.

Category BLOCK Property
Basic Slack notice Channel
Slack display name
Icon
Notification message
API HTTP GET The value field of Query parameters
HTTP POST The value field of Query parameters
HTTP PUT The value field of Query parameters
HTTP DELETE The value field of Query parameters
BigQuery Load to single table from GCS Destination dataset
Destination table
Load to table from variable Destination dataset
Destination table
Load to multiple tables from GCS Source data file group URL in GCS
Destination dataset
Destination table
File count check URL
Export single table to GCS Export destination file URL in GCS
Source dataset to export
Source table to export

Export multiple tables to GCS

Exported file group URL in GCS
Export destination file extension
Source dataset to export
Source table to export
Execute query Query
Result storage dataset
Result storage table

Execute parallel queries

Query
Result storage dataset
Result storage table
Split table by column values Source dataset for split
Source table for split
Split table dataset
Table produced from table split
Create view Result storage dataset
Result storage table
Stream insert Destination dataset
Destination table
Delete table Target dataset
Target table
Machine Learning Image analysis GCS image URL
Speech recognition Audio file URL
GCP Launch VM instance from GCE Zone
VM instance
Suspend VM instance from GCE Zone
VM instance

Variables

In the Flow Designer, you can use variables to pass data between BLOCKS in a Flow.

Variables have the following characteristics:

  • You can use multiple variables. Each different variable is identified by its assigned name.
  • Regarding variable names:
    • Variable names can contain letters (a–z, A–Z), numbers, and underscores (_).
    • You cannot name variables using only numbers.
    • BLOCKS uses predefined variables with names that start with an underscore (_). These variables are listed below, and more may be added in the future:
      Variable Explanation
      _flow_aliases

      Contains the Flow’s user-assigned ID.

      _flow_id

      Contains an automatically assigned numerical identifier given to each Flow

      _flow_name

      Contains the name of the Flow’s Start of Flow BLOCK.

      _board_url

      Contains the Flow Designer’s URL.

      E.g., https://*****.magellanic-clouds.net/

      _board_id

      Contains the subdomain of the Flow Designer’s URL.

      E.g., The ***** portion of a URL like https://*****.magellanic-clouds.net/

  • Variables are only active while a Flow is running.
  • Variables can be used as input or output for BLOCKS.
Variable explanation

Variable expansion

You can use variable expansion within some BLOCK properties.

Variable expansion refers to replacing part or all of a property’s value with the contents of a variable.

Use the following format when using variable expansion:

${variable}

By entering a variable between ${ and }, it will be replaced with the contents of the variable when the BLOCK is processed.

For example, assume we have set the Variable for storing results property of the Execute Query BLOCK as ${table_name}.

Variable expansion example: Making the Flow

Assuming that the variable table_name contains samples, the Variable for storing results property’s value will be samples when the BLOCK executes.

Variable expansion example: Executing the Flow

You can use variable expansion within any properties that also support % format characters.

Get part of an array or object

This section explains how to get a part of the array or object data stored in a variable.

Arrays express multiple values in an ordered list, as shown in the image below. When a variable contains an array, you can reference the indices within the array to get parts of the data. Each value has an index showing its position, starting with index 0 in the first position of the array.

Example array data

Objects express data as a collection of key and value pairs, as shown in the image below. You can get a value from object data stored in a variable by referencing its corresponding key.

Object data example

You can create these kind of objects within BLOCKS using the Construct object BLOCK. These are also the same as the JSON objects that many BLOCKS use.

How to format

Format for arrays:
variable.index
Format for objects:
variable.key

info_outline When using the variable _ (the default variable in BLOCKS), you can omit the variable and simply write .index or .key

If the variable y contained the array shown in the image below, y.1 would get the value "API".

Array variable example

If the variable x contained the object shown in the image below, x.name (write keys without the ") would get the value "John Smith".

Object data variable example

Object data can also contain objects and arrays. To get data from an array or object within an object, use periods . to set off each nested layer. For example, variable.key.key or variable.key.index.

If the variable x contains the object shown above, x.languages.0 would get the value "English".

info_outline You can use this notation when using variable expansion (e.g., ${x.name} or ${y.1}).