Custom Dataset
Manages a Dataset inside an Azure Data Factory. This is a generic resource that supports all different Dataset Types.
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.datafactory.Factory;
import com.pulumi.azure.datafactory.FactoryArgs;
import com.pulumi.azure.datafactory.inputs.FactoryIdentityArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.datafactory.LinkedCustomService;
import com.pulumi.azure.datafactory.LinkedCustomServiceArgs;
import com.pulumi.azure.storage.Container;
import com.pulumi.azure.storage.ContainerArgs;
import com.pulumi.azure.datafactory.CustomDataset;
import com.pulumi.azure.datafactory.CustomDatasetArgs;
import com.pulumi.azure.datafactory.inputs.CustomDatasetLinkedServiceArgs;
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());
var exampleFactory = new Factory("exampleFactory", FactoryArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.identity(FactoryIdentityArgs.builder()
.type("SystemAssigned")
.build())
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.accountKind("BlobStorage")
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var exampleLinkedCustomService = new LinkedCustomService("exampleLinkedCustomService", LinkedCustomServiceArgs.builder()
.dataFactoryId(exampleFactory.id())
.type("AzureBlobStorage")
.typePropertiesJson(exampleAccount.primaryConnectionString().applyValue(primaryConnectionString -> """
{
"connectionString":"%s"
}
", primaryConnectionString)))
.build());
var exampleContainer = new Container("exampleContainer", ContainerArgs.builder()
.storageAccountName(exampleAccount.name())
.containerAccessType("private")
.build());
var exampleCustomDataset = new CustomDataset("exampleCustomDataset", CustomDatasetArgs.builder()
.dataFactoryId(exampleFactory.id())
.type("Json")
.linkedService(CustomDatasetLinkedServiceArgs.builder()
.name(exampleLinkedCustomService.name())
.parameters(Map.of("key1", "value1"))
.build())
.typePropertiesJson(exampleContainer.name().applyValue(name -> """
{
"location": {
"container":"%s",
"fileName":"foo.txt",
"folderPath": "foo/bar/",
"type":"AzureBlobStorageLocation"
},
"encodingName":"UTF-8"
}
", name)))
.description("test description")
.annotations(
"test1",
"test2",
"test3")
.folder("testFolder")
.parameters(Map.ofEntries(
Map.entry("foo", "test1"),
Map.entry("Bar", "Test2")
))
.additionalProperties(Map.ofEntries(
Map.entry("foo", "test1"),
Map.entry("bar", "test2")
))
.schemaJson("""
{
"type": "object",
"properties": {
"name": {
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
}
},
"age": {
"type": "integer"
}
}
}
""")
.build());
}
}
Content copied to clipboard
Import
Data Factory Datasets can be imported using the resource id
, e.g.
$ pulumi import azure:datafactory/customDataset:CustomDataset example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example/datasets/example
Content copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Specifies the name of the Data Factory Dataset. Changing this forces a new resource to be created. Must be globally unique. See the Microsoft documentation for all restrictions.
Link copied to clipboard