| .. Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| .. http://www.apache.org/licenses/LICENSE-2.0 |
| |
| .. Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| |
| |
| .. _howto/connection:snowflake: |
| |
| Snowflake Connection |
| ==================== |
| |
| The Snowflake connection type enables integrations with Snowflake. |
| |
| Authenticating to Snowflake |
| --------------------------- |
| |
| Authenticate to Snowflake using the `Snowflake python connector default authentication |
| <https://docs.snowflake.com/en/user-guide/python-connector-example.html#connecting-using-the-default-authenticator>`_. |
| |
| Default Connection IDs |
| ---------------------- |
| |
| Hooks, operators, and sensors related to Snowflake use ``snowflake_default`` by default. |
| |
| Configuring the Connection |
| -------------------------- |
| |
| Login |
| Specify the snowflake username. |
| |
| Password |
| Specify the snowflake password. For public key authentication, the passphrase for the private key. |
| |
| Host (optional) |
| Specify the snowflake hostname. |
| |
| Schema (optional) |
| Specify the snowflake schema to be used. |
| |
| Extra (optional) |
| Specify the extra parameters (as json dictionary) that can be used in the snowflake connection. |
| The following parameters are all optional: |
| |
| * ``account``: Snowflake account name. |
| * ``database``: Snowflake database name. |
| * ``region``: Warehouse region. |
| * ``warehouse``: Snowflake warehouse name. |
| * ``role``: Snowflake role. |
| * ``authenticator``: To connect using OAuth set this parameter ``oath``. |
| * ``private_key_file``: Specify the path to the private key file. |
| * ``private_key_content``: Specify the content of the private key file. |
| * ``session_parameters``: Specify `session level parameters <https://docs.snowflake.com/en/user-guide/python-connector-example.html#setting-session-parameters>`_. |
| * ``insecure_mode``: Turn off OCSP certificate checks. For details, see: `How To: Turn Off OCSP Checking in Snowflake Client Drivers - Snowflake Community <https://community.snowflake.com/s/article/How-to-turn-off-OCSP-checking-in-Snowflake-client-drivers>`_. |
| |
| When specifying the connection in environment variable you should specify |
| it using URI syntax. |
| |
| Note that all components of the URI should be URL-encoded. |
| |
| Example connection string: |
| |
| .. code-block:: bash |
| |
| export AIRFLOW_CONN_SNOWFLAKE_DEFAULT='snowflake://user:password@snowflake.example/db-schema?account=account&database=snow-db®ion=us-east&warehouse=snow-warehouse' |