Snowflake External Logic Integration: Setup Standard1. Security & Credential Provisioning
Passphrase Creation: Establish a secure passphrase to encrypt the private key.
Key Generation (RSA 2048): * Generate an encrypted Private Key (PKCS#8 format) using OpenSSL.
Extract the corresponding Public Key to be assigned to the Snowflake user.
Snowflake User Configuration: * A Snowflake Administrator must run an ALTER USER command to associate the Public Key with the designated Service Account.
ALTER USER
Ensure the Service Account has the minimum required Role and Warehouse permissions.
2. Network & Connectivity
Traffic Authorization: The Snowflake Network Policy must be updated to whitelist the outbound IP addresses of the OutSystems ODC environment.
Endpoint Identification: Identify the full Snowflake Account Identifier (e.g., orgname-accountname or account_locator.region.cloud).
orgname-accountname
account_locator.region.cloud
3. ODC Implementation
Library Reference: Utilize the Snowflake.Data .NET driver within the External Code project.
Snowflake.Data
Secret Management: Store the following as Secret Settings in the ODC Portal:
Private Key (the full text of the .p8 file).
Private Key
.p8
Passphrase (used to decrypt the key at runtime).
Passphrase
Account Identifier, Username, and Warehouse.
Account Identifier
Username
Warehouse
4. Technical Guardrails & Limitations
Data Transfer Limits: Snowflake’s API and ODC External Logic have memory thresholds. Be aware of the 21MB payload limit per transaction.
Result Set Optimization: To ensure platform stability and performance:
Always apply a LIMIT clause (e.g., LIMIT 7000) to SELECT statements.
LIMIT
Use column projection (selecting only specific columns) instead of SELECT *
SELECT *
5. Application Settings Configuration
To securely use this Connector, developers must create corresponding Settings within their own ODC Application. These settings are then mapped to the Connector's Action inputs during the logic flow.
Important: Never hardcode sensitive credentials in the application logic.
Create the following settings in your ODC Application and map them to the Connector's parameters: