blob: 8feea51a1c18bc1ad76ff1598aba423c26410699 [file] [log] [blame]
:py:mod:`airflow.providers.snowflake.transfers.copy_into_snowflake`
===================================================================
.. py:module:: airflow.providers.snowflake.transfers.copy_into_snowflake
.. autoapi-nested-parse::
This module contains abstract operator that child classes implements
COPY INTO <TABLE> SQL in Snowflake
Module Contents
---------------
Classes
~~~~~~~
.. autoapisummary::
airflow.providers.snowflake.transfers.copy_into_snowflake.CopyFromExternalStageToSnowflakeOperator
.. py:class:: CopyFromExternalStageToSnowflakeOperator(*, files = None, table, stage, prefix = None, file_format, schema = None, columns_array = None, pattern = None, warehouse = None, database = None, autocommit = True, snowflake_conn_id = 'snowflake_default', role = None, authenticator = None, session_parameters = None, copy_options = None, validation_mode = None, **kwargs)
Bases: :py:obj:`airflow.models.BaseOperator`
Executes a COPY INTO command to load files from an external stage from clouds to Snowflake
This operator requires the snowflake_conn_id connection. The snowflake host, login,
and, password field must be setup in the connection. Other inputs can be defined
in the connection or hook instantiation.
:param namespace: snowflake namespace
:param table: snowflake table
:param file_format: file format name i.e. CSV, AVRO, etc
:param stage: reference to a specific snowflake stage. If the stage's schema is not the same as the
table one, it must be specified
:param prefix: cloud storage location specified to limit the set of files to load
:param files: files to load into table
:param pattern: pattern to load files from external location to table
:param copy_into_postifx: optional sql postfix for INSERT INTO query
such as `formatTypeOptions` and `copyOptions`
:param snowflake_conn_id: Reference to :ref:`Snowflake connection id<howto/connection:snowflake>`
:param account: snowflake account name
:param warehouse: name of snowflake warehouse
:param database: name of snowflake database
:param region: name of snowflake region
:param role: name of snowflake role
:param schema: name of snowflake schema
:param authenticator: authenticator for Snowflake.
'snowflake' (default) to use the internal Snowflake authenticator
'externalbrowser' to authenticate using your web browser and
Okta, ADFS or any other SAML 2.0-compliant identify provider
(IdP) that has been defined for your account
``https://<your_okta_account_name>.okta.com`` to authenticate
through native Okta.
:param session_parameters: You can set session-level parameters at
the time you connect to Snowflake
:param copy_options: snowflake COPY INTO syntax copy options
:param validation_mode: snowflake COPY INTO syntax validation mode
.. py:attribute:: template_fields
:annotation: :Sequence[str] = ['files']
.. py:attribute:: template_fields_renderers
.. py:method:: execute(context)
This is the main method to derive when creating an operator.
Context is the same dictionary used as when rendering jinja templates.
Refer to get_template_context for more context.