Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

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

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.

  • No labels