Manages a Linked Service (connection) between Snowflake and Azure Data Factory.
resource "azurerm_resource_group" "example" {
name = "example-resources"
location = "West Europe"
}
resource "azurerm_data_factory" "example" {
name = "example"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
}
resource "azurerm_data_factory_linked_service_snowflake" "example" {
name = "example"
data_factory_id = azurerm_data_factory.example.id
connection_string = "jdbc:snowflake://account.region.snowflakecomputing.com/?user=user&db=db&warehouse=wh"
}
data "azurerm_client_config" "current" {}
resource "azurerm_resource_group" "example" {
name = "example-resources"
location = "West Europe"
}
resource "azurerm_key_vault" "example" {
name = "example"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
tenant_id = data.azurerm_client_config.current.tenant_id
sku_name = "standard"
}
resource "azurerm_data_factory" "example" {
name = "example"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
}
resource "azurerm_data_factory_linked_service_key_vault" "example" {
name = "kvlink"
data_factory_id = azurerm_data_factory.example.id
key_vault_id = azurerm_key_vault.example.id
}
resource "azurerm_data_factory_linked_service_snowflake" "example" {
name = "example"
data_factory_id = azurerm_data_factory.example.id
connection_string = "jdbc:snowflake://account.region.snowflakecomputing.com/?user=user&db=db&warehouse=wh"
key_vault_password {
linked_service_name = azurerm_data_factory_linked_service_key_vault.example.name
secret_name = "secret"
}
}
The following arguments are supported:
name
- (Required) Specifies the name of the Data Factory Linked Service. Changing this forces a new resource to be created. Must be unique within a data factory. See the Microsoft documentation for all restrictions.
data_factory_id
- (Required) The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.
connection_string
- (Required) The connection string in which to authenticate with Snowflake.
description
- (Optional) The description for the Data Factory Linked Service.
integration_runtime_name
- (Optional) The integration runtime reference to associate with the Data Factory Linked Service.
annotations
- (Optional) List of tags that can be used for describing the Data Factory Linked Service.
parameters
- (Optional) A map of parameters to associate with the Data Factory Linked Service.
additional_properties
- (Optional) A map of additional properties to associate with the Data Factory Linked Service.
key_vault_password
- (Optional) A key_vault_password
block as defined below. Use this argument to store Snowflake password in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service.
A key_vault_password
block supports the following:
linked_service_name
- (Required) Specifies the name of an existing Key Vault Data Factory Linked Service.
secret_name
- (Required) Specifies the secret name in Azure Key Vault that stores Snowflake password.
In addition to the Arguments listed above - the following Attributes are exported:
id
- The ID of the Data Factory Snowflake Linked Service.The timeouts
block allows you to specify timeouts for certain actions:
create
- (Defaults to 30 minutes) Used when creating the Data Factory Snowflake Linked Service.update
- (Defaults to 30 minutes) Used when updating the Data Factory Snowflake Linked Service.read
- (Defaults to 5 minutes) Used when retrieving the Data Factory Snowflake Linked Service.delete
- (Defaults to 30 minutes) Used when deleting the Data Factory Snowflake Linked Service.Data Factory Snowflake Linked Service's can be imported using the resource id
, e.g.
terraform import azurerm_data_factory_linked_service_snowflake.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example