Skip to main content

notebooks

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

Overview

Namenotebooks
TypeResource
Idsnowflake.notebook.notebooks

Fields

The following fields are returned by SELECT queries:

A Snowflake notebook

NameDatatypeDescription
namestringName of the notebook (pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$)
url_idstringUnique ID associated with the notebook object.
database_namestringDatabase in which the notebook is stored (pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$)
runtime_namestringThe runtime to run the Streamlit or Notebook on. If this is not set, the warehouse is assumed
schema_namestringSchema in which the notebook is stored (pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$)
budgetstringName of the budget if the notebook is monitored by a budget (pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$)
commentstringuser comment associated to an object in the dictionary
compute_poolstringCompute pool name where the snowservice runs
created_onstring (date-time)Date and time when the notebook was created.
default_packagesstringDefault packages of the notebook
default_versionstringThe default version name of a file based entity.
default_version_detailsobjectThe version details of a file based entity
external_access_integrationsarrayList of external access integrations attached to this function
external_access_secretsstringSecrets to be used with this function for external access
fromLocationstringLocation to copy the file from. This must be a Snowflake stage location.
idle_auto_shutdown_time_secondsinteger (int64)Sets the time in seconds for when to shutdown an idle Notebook.
import_urlsarrayList of urls
last_version_detailsobjectThe version details of a file based entity
live_version_location_uristringThe current version location
main_filestringName + path of the file for the Notebook
ownerstringRole that owns the notebook (pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$)
owner_role_typestringThe type of role that owns the notebook (pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$)
query_warehousestringWarehouse against which the queries issued by the Streamlit app are run against
titlestringUser facing title of the Streamlit app or an Organization Profile
user_packagesstringUser packages of the notebook
versionstringUser specified version alias

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
list_notebooksselectdatabase_name, schema_name, endpointlike, startsWith, showLimit, fromNameList notebooks
fetch_notebookselectdatabase_name, schema_name, name, endpointFetch a notebook
create_notebookinsertdatabase_name, schema_name, endpointcreateModeCreate a notebook
delete_notebookdeletedatabase_name, schema_name, name, endpointifExistsDelete a notebook
execute_notebookexecdatabase_name, schema_name, name, endpointasyncExecExecute a Notebook
rename_notebookexecdatabase_name, schema_name, name, targetName, endpointifExists, targetDatabase, targetSchemaChanges the name of the notebook to new name. The new identifier must be unique for the schema.
add_live_version_notebookexecdatabase_name, schema_name, name, endpointfromLast, commentAdds a LIVE version to the notebook
commit_notebookexecdatabase_name, schema_name, name, endpointversion, commentIf a Git connection is set up for the notebook, commits the LIVE version of the notebook to the Git repository

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 Name (default: orgid-acctid)
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/{database}/schemas GET request to get a list of available schemas for the specified database.
targetNamestringName of the target resource.
asyncExecbooleanAsynchronous execution enable/disable. Default is disable.
commentstringSets a comment for the notebook or version of the notebook
createModestringQuery parameter 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.
fromLastbooleanSets the LIVE version to the LAST version of the notebook
fromNamestringQuery parameter to enable fetching rows only following the first row whose object name matches the specified string. Case-sensitive and does not have to be the full name.
ifExistsbooleanQuery parameter 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.
likestringQuery parameter to filter the command output by resource name. Uses case-insensitive pattern matching, with support for SQL wildcard characters.
showLimitintegerQuery parameter to limit the maximum number of rows returned by a command.
startsWithstringQuery parameter to filter the command output based on the string of characters that appear at the beginning of the object name. Uses case-sensitive pattern matching.
targetDatabasestringDatabase of the target resource. Defaults to the source's database
targetSchemastringSchema of the target resource. Defaults to the source's schema
versionstringlive version of the alias

SELECT examples

List notebooks

SELECT
name,
url_id,
database_name,
runtime_name,
schema_name,
budget,
comment,
compute_pool,
created_on,
default_packages,
default_version,
default_version_details,
external_access_integrations,
external_access_secrets,
fromLocation,
idle_auto_shutdown_time_seconds,
import_urls,
last_version_details,
live_version_location_uri,
main_file,
owner,
owner_role_type,
query_warehouse,
title,
user_packages,
version
FROM snowflake.notebook.notebooks
WHERE database_name = '{{ database_name }}' -- required
AND schema_name = '{{ schema_name }}' -- required
AND endpoint = '{{ endpoint }}' -- required
AND like = '{{ like }}'
AND startsWith = '{{ startsWith }}'
AND showLimit = '{{ showLimit }}'
AND fromName = '{{ fromName }}';

INSERT examples

Create a notebook

INSERT INTO snowflake.notebook.notebooks (
data__name,
data__version,
data__fromLocation,
data__main_file,
data__comment,
data__default_version,
data__query_warehouse,
data__default_version_details,
data__last_version_details,
database_name,
schema_name,
endpoint,
createMode
)
SELECT
'{{ name }}' --required,
'{{ version }}',
'{{ fromLocation }}',
'{{ main_file }}',
'{{ comment }}',
'{{ default_version }}',
'{{ query_warehouse }}',
'{{ default_version_details }}',
'{{ last_version_details }}',
'{{ database_name }}',
'{{ schema_name }}',
'{{ endpoint }}',
'{{ createMode }}'
;

DELETE examples

Delete a notebook

DELETE FROM snowflake.notebook.notebooks
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

Execute a Notebook

EXEC snowflake.notebook.notebooks.execute_notebook 
@database_name='{{ database_name }}' --required,
@schema_name='{{ schema_name }}' --required,
@name='{{ name }}' --required,
@endpoint='{{ endpoint }}' --required,
@asyncExec={{ asyncExec }};