Question: If I have the code:

```
try:
  1 / 0

except Exception as e:
  my_error = e
  #e is sent to the application user end

```

It returns the text for `e` but not the exception name as well. In the case of the code I need this for, the console isn't open at the time and the exception is sent through to the user end when it is caught. At the moment when an exception occurs I can see the error text, but how do I get the name as well. 

In the case of the example I'd like for `my_error` to be

```
ZeroDivisionError: #error text

```

instead of `my_error` only being

```
#error text

```

Answer: 
Assuming you want to use Snowflake's bulk-load mechanisms (so `COPY` entire files, not `INSERT` single rows), the file always needs to end up in the blob storage at some moment.

* you can move the files from SFTP to blob storage yourself and then use a `COPY` in Snowflake
* you can download the files to local filesystem, and then use Snowflake's `PUT` command to copy the files to the staging location, and then use `COPY` again

There is no way to create a stage that would point to SFTP.

Some more info [here](https://docs.snowflake.net/manuals/user-guide/intro-summary-loading.html#data-file-details).

Note: In theory you *could* fetch the data from SFTP e.g. in Python and then use `INSERT` to insert the rows through SQL. Then you do not use the stage, but it's more complex and certainly not worth the effort.
In the last couple of months, Azure Data Factory now has native integration with Snowflake via the Snowflake connector. So the current answer would be that there is a connector that you can use in the ADF portal.

*ADF Now Supports Data Integration with Snowflake*:

* <https://techcommunity.microsoft.com/t5/azure-data-factory/adf-now-supports-data-integration-with-snowflake/ba-p/1447370>

*The Snowflake Connector is supported for a Copy Activity with source/sink matrix table, mapping data flow, and lookup activity*:

* <https://learn.microsoft.com/en-us/azure/data-factory/connector-snowflake>