arguments (for functions)
functions:
- name: <function name>
arguments:
- name: <arg name>
data_type: <string> # warehouse-specific
description: <markdown_string>
default_value: <string | boolean | integer> # available in Snowflake and Postgres
Definition
The arguments property is used to define the parameters that a resource can accept. Each argument can have a name, a type field, and optional properties such as description and default_value.
For functions, you can add arguments to a function property, which defines the parameters for user-defined functions (UDFs) in your warehouse. The data_type for function arguments is warehouse-specific (for example, STRING, VARCHAR, INTEGER) and should match the data types supported by your data platform.
Properties
name
The name of the argument. This is a required field if arguments is specified.
data_type
The data type that the warehouse expects for this parameter. This is a required field if arguments is specified and must match the data types supported by your specific data platform.
The data_type values are warehouse-specific. Use the data type syntax that your warehouse requires:
- Snowflake:
STRING,NUMBER,BOOLEAN,TIMESTAMP_NTZ, etc. - BigQuery:
STRING,INT64,BOOL,TIMESTAMP,ARRAY<STRING>, etc. - Redshift:
VARCHAR,INTEGER,BOOLEAN,TIMESTAMP, etc. - Postgres:
TEXT,INTEGER,BOOLEAN,TIMESTAMP, etc.
Refer to your warehouse documentation for the complete list of supported data types.
description
An optional markdown string describing the argument. This is helpful for documentation purposes.
default_value
The default_value is an optional property that you can use to define a default value for a function argument. If no value is provided for that argument, the warehouse uses the default. Setting a default_value makes the argument optional. This property is supported in Snowflake and Postgres.
When using this property, note that the order of your argument definitions is important. Arguments without default values should not come after arguments with default values. For example:
functions:
- name: sum_2_values
description: Add two values together
arguments:
- name: val1 # this argument comes first because it has no default value
data_type: integer
description: The first value
- name: val2
data_type: integer
description: The second value
default_value: 0
returns:
data_type: integer
Examples
Simple function arguments
functions:
- name: is_positive_int
arguments:
- name: a_string
data_type: string
description: "The string that I want to check if it's representing a positive integer (like '10')"
returns:
data_type: boolean
Complex data types
functions:
- name: calculate_discount
arguments:
- name: original_price
data_type: DECIMAL(10,2)
description: "The original price before discount"
- name: discount_percent
data_type: INTEGER
description: "The discount percentage to apply"
returns:
data_type: DECIMAL(10,2)
description: "The discounted price"
Array data types (BigQuery example)
functions:
- name: get_tags
arguments:
- name: tag_string
data_type: STRING
description: "Comma-separated string of tags"
returns:
data_type: ARRAY<STRING>
description: "An array of individual tag strings"
Related documentation
Was this page helpful?
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.