Skip to content

azurermDataFactoryLinkedServiceAzureFunction

Manages a Linked Service (connection) between an Azure Function and Azure Data Factory.

\~> Note: All arguments including the client secret will be stored in the raw state as plain-text. Read more about sensitive data in state.

Example Usage

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
const azurermResourceGroupExample = new azurerm.resourceGroup.ResourceGroup(
  this,
  "example",
  {
    location: "West Europe",
    name: "example-resources",
  }
);
const dataAzurermFunctionAppExample =
  new azurerm.dataAzurermFunctionApp.DataAzurermFunctionApp(this, "example_1", {
    name: "test-azure-functions",
    resource_group_name: azurermResourceGroupExample.name,
  });
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
dataAzurermFunctionAppExample.overrideLogicalId("example");
const azurermDataFactoryExample = new azurerm.dataFactory.DataFactory(
  this,
  "example_2",
  {
    location: azurermResourceGroupExample.location,
    name: "example",
    resource_group_name: azurermResourceGroupExample.name,
  }
);
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermDataFactoryExample.overrideLogicalId("example");
const azurermDataFactoryLinkedServiceAzureFunctionExample =
  new azurerm.dataFactoryLinkedServiceAzureFunction.DataFactoryLinkedServiceAzureFunction(
    this,
    "example_3",
    {
      data_factory_id: azurermDataFactoryExample.id,
      key: "foo",
      name: "example",
      url: `https://\${${dataAzurermFunctionAppExample.defaultHostname}}`,
    }
  );
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermDataFactoryLinkedServiceAzureFunctionExample.overrideLogicalId(
  "example"
);

Argument Reference

The following supported arguments are common across all Azure Data Factory Linked Services:

  • 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.

  • dataFactoryId - (Required) The Data Factory ID in which to associate the Linked Service with. Changing this forces a new resource.

  • description - (Optional) The description for the Data Factory Linked Service.

  • integrationRuntimeName - (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.

  • additionalProperties - (Optional) A map of additional properties to associate with the Data Factory Linked Service.

The following supported arguments are specific to Azure Function Linked Service:

  • url - (Required) The url of the Azure Function.

  • key - (Optional) The system key of the Azure Function. Exactly one of either key or keyVaultKey is required

  • keyVaultKey - (Optional) A keyVaultKey block as defined below. Use this Argument to store the system key of the Azure Function in an existing Key Vault. It needs an existing Key Vault Data Factory Linked Service. Exactly one of either key or keyVaultKey is required.


A keyVaultKey block supports the following:

  • linkedServiceName - (Required) Specifies the name of an existing Key Vault Data Factory Linked Service.

  • secretName - (Required) Specifies the secret name in Azure Key Vault that stores the system key of the Azure Function.


Attributes Reference

The following attributes are exported:

  • id - The ID of the Data Factory Linked Service.

Timeouts

The timeouts block allows you to specify timeouts for certain actions:

  • create - (Defaults to 30 minutes) Used when creating the Data Factory Linked Service.
  • update - (Defaults to 30 minutes) Used when updating the Data Factory Linked Service.
  • read - (Defaults to 5 minutes) Used when retrieving the Data Factory Linked Service.
  • delete - (Defaults to 30 minutes) Used when deleting the Data Factory Linked Service.

Import

Data Factory Linked Service's can be imported using the resourceId, e.g.

terraform import azurerm_data_factory_linked_service_azure_function.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example