Document toolboxDocument toolbox

Snowflake

One platform that power the data cloud. Execute your most critical workloads on top of Snowflake's multi-cluster shared data architecture in a fully managed way.

Connect Snowflake with Devo SOAR

  1. Navigate to Automations > Integrations.

  2. Search for Snowflake.

  3. Click Details, then the + icon. Enter the required information in the following fields.

  4. Label: Connection name.

  5. Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.

  6. Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).

  7. Account Identifier: Account Identifier for the Snowflake API. Example: 'ip12345.ap-south-1.aws'

  8. User: User for the Snowflake API. Example: 'USER123'

  9. Private Key .p8 file: Private Key.

  10. Private Key Passphrase: Private key passphrase.

  11. After you've entered all the details, click Connect.

Execute Statement

Execute statement.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input Name

Description

Required

Input Name

Description

Required

Body

Jinja-templated JSON field containing the body of the request for the Snowflake API. Example: '{"schema": "TESTSCHEMA", "warehouse": "TESTWH"}'

Optional

Additional Params

Jinja-templated JSON field containing the additional params for the Snowflake API. Example: '{"nullable": false}'

Optional

Statement

Jinja-templated text containing the statement for the snowflake API. Example: 'SELECT current_version()'

Required

Output

JSON containing the following items:

``` {json}{ "createdOn": 1670836190471, "data": [ [ "6.40.1" ] ], "sqlState": "00000", "code": "090001", "statementHandle": "01a8ea65-0000-4186-0000-000445d6f139", "has_error": false, "error": null, "statementStatusUrl": "/api/v2/statements/01a8ea65-0000-4186-0000-000445d6f139?requestId=acbb1a88-e696-4192-a529-fd484ec63579", "message": "Statement executed successfully.", "requestId": "acbb1a88-e696-4192-a529-fd484ec63579", "resultSetMetaData": { "numRows": 1, "format": "jsonv2", "partitionInfo": [ { "rowCount": 1, "uncompressedSize": 10 } ], "rowType": [ { "name": "CURRENT_VERSION()", "database": "", "schema": "", "table": "", "scale": null, "precision": null, "type": "text", "byteLength": 16777216, "nullable": true, "collation": null, "length": 16777216 } ] } }

## Handle Statement To check the status of the execution of a statement. If the statement has been executed successfully, the body of the response includes a ResultSet object containing the requested data. ### Input Field Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection. | Input Name | Description | Required | | :----------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- | :------- | | Statement Handle | Jinja templated text containing the statement handle. Example: '01a9229f-0000-42d9-0004-45d60001c00a' | Required | | Additional Params | Jinja templated JSON field containing the additional params for the Snowflake API. Example: '{"requestId": "230942f02-0000-42d9-0004-3fh23ru3223"}' | Optional | | Max Retries | Jinja templated text field containing max no. of calls to hit the API. (Default is 10) | Optional | | Wait between calls | Jinja templated text containing the wait between the calls (in seconds). (Default is 2) | Optional | ### Output JSON containing the following items: ``` {json}{ "createdOn": 1670836190471, "data": [ [ "6.40.1" ] ], "sqlState": "00000", "code": "090001", "statementHandle": "01a8ea65-0000-4186-0000-000445d6f139", "has_error": false, "error": null, "statementStatusUrl": "/api/v2/statements/01a8ea65-0000-4186-0000-000445d6f139?requestId=acbb1a88-e696-4192-a529-fd484ec63579", "message": "Statement executed successfully.", "requestId": "acbb1a88-e696-4192-a529-fd484ec63579", "resultSetMetaData": { "numRows": 1, "format": "jsonv2", "partitionInfo": [ { "rowCount": 1, "uncompressedSize": 10 } ], "rowType": [ { "name": "CURRENT_VERSION()", "database": "", "schema": "", "table": "", "scale": null, "precision": null, "type": "text", "byteLength": 16777216, "nullable": true, "collation": null, "length": 16777216 } ] } }

Release Notes

  • v1.1.8 - Updated architecture to support IO via filesystem

  • v1.1.1 - Added new action: Handle Statement.

  • v1.0.2 - Integration with Snowflake is introduced with the action: Execute Statement.