Linked Service Azure Blob Storage
Manages a Linked Service (connection) between an Azure Blob Storage Account and Azure Data Factory.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.storage.StorageFunctions;
import com.pulumi.azure.storage.inputs.GetAccountArgs;
import com.pulumi.azure.datafactory.Factory;
import com.pulumi.azure.datafactory.FactoryArgs;
import com.pulumi.azure.datafactory.LinkedServiceAzureBlobStorage;
import com.pulumi.azure.datafactory.LinkedServiceAzureBlobStorageArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
final var exampleAccount = StorageFunctions.getAccount(GetAccountArgs.builder()
.name("storageaccountname")
.resourceGroupName(exampleResourceGroup.name())
.build());
var exampleFactory = new Factory("exampleFactory", FactoryArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.build());
var exampleLinkedServiceAzureBlobStorage = new LinkedServiceAzureBlobStorage("exampleLinkedServiceAzureBlobStorage", LinkedServiceAzureBlobStorageArgs.builder()
.dataFactoryId(exampleFactory.id())
.connectionString(exampleAccount.applyValue(getAccountResult -> getAccountResult).applyValue(exampleAccount -> exampleAccount.applyValue(getAccountResult -> getAccountResult.primaryConnectionString())))
.build());
}
}
Content copied to clipboard
With SAS URI And SAS Token
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.datafactory.Factory;
import com.pulumi.azure.datafactory.FactoryArgs;
import com.pulumi.azure.keyvault.KeyVault;
import com.pulumi.azure.keyvault.KeyVaultArgs;
import com.pulumi.azure.datafactory.LinkedServiceKeyVault;
import com.pulumi.azure.datafactory.LinkedServiceKeyVaultArgs;
import com.pulumi.azure.datafactory.LinkedServiceAzureBlobStorage;
import com.pulumi.azure.datafactory.LinkedServiceAzureBlobStorageArgs;
import com.pulumi.azure.datafactory.inputs.LinkedServiceAzureBlobStorageKeyVaultSasTokenArgs;
import com.pulumi.azure.datafactory.inputs.LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKeyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.location("West Europe")
.build());
final var current = CoreFunctions.getClientConfig();
var testFactory = new Factory("testFactory", FactoryArgs.builder()
.location(example.location())
.resourceGroupName(example.name())
.build());
var testKeyVault = new KeyVault("testKeyVault", KeyVaultArgs.builder()
.location(example.location())
.resourceGroupName(example.name())
.tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
.skuName("standard")
.build());
var testLinkedServiceKeyVault = new LinkedServiceKeyVault("testLinkedServiceKeyVault", LinkedServiceKeyVaultArgs.builder()
.dataFactoryId(testFactory.id())
.keyVaultId(testKeyVault.id())
.build());
var testLinkedServiceAzureBlobStorage = new LinkedServiceAzureBlobStorage("testLinkedServiceAzureBlobStorage", LinkedServiceAzureBlobStorageArgs.builder()
.dataFactoryId(testFactory.id())
.sasUri("https://example.blob.core.windows.net")
.keyVaultSasToken(LinkedServiceAzureBlobStorageKeyVaultSasTokenArgs.builder()
.linkedServiceName(testLinkedServiceKeyVault.name())
.secretName("secret")
.build())
.build());
var testDatafactory_linkedServiceAzureBlobStorageLinkedServiceAzureBlobStorage = new LinkedServiceAzureBlobStorage("testDatafactory/linkedServiceAzureBlobStorageLinkedServiceAzureBlobStorage", LinkedServiceAzureBlobStorageArgs.builder()
.dataFactoryId(testFactory.id())
.serviceEndpoint("https://example.blob.core.windows.net")
.servicePrincipalId("00000000-0000-0000-0000-000000000000")
.tenantId("00000000-0000-0000-0000-000000000000")
.servicePrincipalLinkedKeyVaultKey(LinkedServiceAzureBlobStorageServicePrincipalLinkedKeyVaultKeyArgs.builder()
.linkedServiceName(testLinkedServiceKeyVault.name())
.secretName("secret")
.build())
.build());
}
}
Content copied to clipboard
Import
Data Factory Linked Service's can be imported using the resource id
, e.g.
$ pulumi import azure:datafactory/linkedServiceAzureBlobStorage:LinkedServiceAzureBlobStorage example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/linkedservices/example
Content copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard
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.
Link copied to clipboard