We are copying data from an ODBC source to snowflake using azure storage for the staging area. The linked service is a blob linked service using a SAS token. The data sets connect just fine and pull through the meta data for the snowflake connection but when i run the copy I get the following error:
ErrorCode=GenericAdoNetConnectionOpenError,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Failed to open the database connection.,Source=Microsoft.DataTransfer.Connectors.GenericAdoNet,''Type=Apache.Arrow.Adbc.AdbcException,Message=[Snowflake] Post "https://OurAccount.snowflakecomputing.com:443/session/v1/login-request?databaseName=OUR_DB&requestId=0de84404-17f7-4379-7b69-cb4e98a46f50&request_guid=05486636-80a0-4ccc-6172-e55102d87ae8&roleName=snowflake_data_factory_dev_role&warehouse=OUR_WH": context deadline exceeded (Client.Timeout exceeded while awaiting headers),Source=Apache.Arrow.Adbc,'
The weird part is that the datasets connect to Snowflake just fine and are able to pull back the meta data. Calling stored procedures also works just fine. The only thing that doesnt work is the copy task step from azure storage to Snowflake.
Here is the service integration called out and the stage settings.
this was working in our original data factory in a different subscription before we tore it down and recreated it in the new/correct subscription. I dont understand why I can get the meta data just fine but cant connect in the copy.
The solution was to change the integration runtime of the blob storage account, used to stage the snowflake data, from the self hosted agent used in the source to an azure managed integration runtime.