Skip to content

PythonStoredProcedure

Snowflake Documentation

Represents a Python stored procedure in Snowflake, allowing for the execution of Python code within the Snowflake environment.

Examples

YAML

procedures:
  - name: some_procedure
    language: python
    args: []
    returns: STRING
    runtime_version: "3.8"
    packages:
      - snowflake-snowpark-python
    handler: process_data
    as_: "def process_data(): return 'Hello, World!'"
    comment: A simple procedure
    copy_grants: false
    execute_as: CALLER
    null_handling: CALLED_ON_NULL_INPUT
    owner: SYSADMIN
    secure: false

Python

procedure = PythonStoredProcedure(
    name="some_procedure",
    args=[],
    returns="STRING",
    runtime_version="3.8",
    packages=["snowflake-snowpark-python"],
    handler="process_data",
    as_="def process_data(): return 'Hello, World!'",
    comment="A simple procedure",
    copy_grants=False,
    execute_as="CALLER",
    external_access_integrations=None,
    imports=None,
    null_handling="CALLED_ON_NULL_INPUT",
    owner="SYSADMIN",
    secure=False
)

Fields

  • name (str, required) - The name of the procedure.
  • args (list) - The arguments of the procedure.
  • returns (DataType) - The data type of the return value.
  • runtime_version (str, required) - The Python runtime version.
  • packages (list) - The list of packages required by the procedure.
  • handler (str, required) - The handler function for the procedure.
  • as_ (str) - The procedure definition.
  • comment (str) - A comment about the procedure. Defaults to "user-defined procedure".
  • copy_grants (bool) - Whether to copy grants. Defaults to False.
  • execute_as (ExecutionRights) - The execution rights. Defaults to ExecutionRights.CALLER.
  • external_access_integrations (list) - External access integrations if any.
  • imports (list) - Files to import.
  • null_handling (NullHandling) - How nulls are handled. Defaults to NullHandling.CALLED_ON_NULL_INPUT.
  • owner (string or Role) - The owner of the procedure. Defaults to "SYSADMIN".
  • secure (bool) - Whether the procedure is secure. Defaults to False.