Skip to main content

pipes

Creates, updates, deletes, gets or lists a pipes resource.

Overview

Namepipes
TypeResource
Idsnowflake.pipelines.pipes

Fields

The following fields are returned by SELECT queries:

successful

NameDatatypeDescription
namestringName of the pipe
database_namestringDatabase in which the pipe is stored
schema_namestringSchema in which the pipe is stored
auto_ingestbooleanTRUE if all files from stage need to be auto-ingested
aws_sns_topicstringOptional, if provided, auto_ingest pipe will only receive messages from this SNS topic.
budgetstringName of the budget if the pipe is monitored by a budget
commentstringuser comment associated to an object in the dictionary
copy_statementstringCOPY INTO <table> statement used to load data from queued files into a Snowflake table. This statement serves as the text/definition for the pipe and is displayed in the SHOW PIPES output (pattern: (?i)^COPY INTO .*)
created_onstring (date-time)Date and time when the pipe was created.
error_integrationstringLink to integration object that point to a user provided Azure storage queue / SQS. When present, errors (e.g. ingest failure for Snowpipe or a user task failure or replication failure) will be sent to this queue to notify customers
integrationstringLink to integration object that ties a user provided storage queue to an auto_ingest enabled pipe. Required for auto_ingest to work on azure.
invalid_reasonstringDisplays some detailed information for your pipes that may have issues
ownerstringRole that owns the pipe
owner_role_typestringThe type of role that owns the pipe
patternstringPATTERN copy option value in the COPY INTO <table> statement in the pipe definition, if the copy option was specified.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectdatabase_name, schema_name, name, endpointFetch a pipe
listselectdatabase_name, schema_name, endpointlikeList pipes
createinsertdatabase_name, schema_name, endpoint, name, copy_statementcreateModeCreate a pipe
deletedeletedatabase_name, schema_name, name, endpointifExistsDelete a pipe
refreshexecdatabase_name, schema_name, name, endpointifExists, prefix, modified_afterRefresh the pipe

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
database_namestringIdentifier (i.e. name) for the database to which the resource belongs. You can use the /api/v2/databases GET request to get a list of available databases.
endpointstringOrganization and account identifier (orgname-accountname) (default: orgname-accountname)
namestringIdentifier (i.e. name) for the resource.
schema_namestringIdentifier (i.e. name) for the schema to which the resource belongs. You can use the /api/v2/databases/&#123;database&#125;/schemas GET request to get a list of available schemas for the specified database.
createModestringParameter allowing support for different modes of resource creation. Possible values include: - errorIfExists: Throws an error if you try to create a resource that already exists. - orReplace: Automatically replaces the existing resource with the current one. - ifNotExists: Creates a new resource when an alter is requested for a non-existent resource.
ifExistsbooleanParameter that specifies how to handle the request for a resource that does not exist: - true: The endpoint does not throw an error if the resource does not exist. It returns a 200 success response, but does not take any action on the resource. - false: The endpoint throws an error if the resource doesn't exist.
likestringParameter to filter the command output by resource name. Uses case-insensitive pattern matching, with support for SQL wildcard characters.
modified_afterstring (date-time)Timestamp (in ISO-8601 format) of the oldest data files to copy into the Snowpipe ingest queue based on the LAST_MODIFIED date (i.e. date when a file was staged)
prefixstringPath (or prefix) appended to the stage reference in the pipe definition. The path limits the set of files to load.

SELECT examples

Fetch a pipe

SELECT
name,
database_name,
schema_name,
auto_ingest,
aws_sns_topic,
budget,
comment,
copy_statement,
created_on,
error_integration,
integration,
invalid_reason,
owner,
owner_role_type,
pattern
FROM snowflake.pipelines.pipes
WHERE database_name = '{{ database_name }}' -- required
AND schema_name = '{{ schema_name }}' -- required
AND name = '{{ name }}' -- required
AND endpoint = '{{ endpoint }}' -- required
;

INSERT examples

Create a pipe

INSERT INTO snowflake.pipelines.pipes (
name,
comment,
auto_ingest,
error_integration,
aws_sns_topic,
integration,
copy_statement,
database_name,
schema_name,
endpoint,
createMode
)
SELECT
'{{ name }}' /* required */,
'{{ comment }}',
{{ auto_ingest }},
'{{ error_integration }}',
'{{ aws_sns_topic }}',
'{{ integration }}',
'{{ copy_statement }}' /* required */,
'{{ database_name }}',
'{{ schema_name }}',
'{{ endpoint }}',
'{{ createMode }}'
RETURNING
status
;

DELETE examples

Delete a pipe

DELETE FROM snowflake.pipelines.pipes
WHERE database_name = '{{ database_name }}' --required
AND schema_name = '{{ schema_name }}' --required
AND name = '{{ name }}' --required
AND endpoint = '{{ endpoint }}' --required
AND ifExists = '{{ ifExists }}'
;

Lifecycle Methods

Refresh the pipe

EXEC snowflake.pipelines.pipes.refresh
@database_name='{{ database_name }}' --required,
@schema_name='{{ schema_name }}' --required,
@name='{{ name }}' --required,
@endpoint='{{ endpoint }}' --required,
@ifExists={{ ifExists }},
@prefix='{{ prefix }}',
@modified_after='{{ modified_after }}'
;