Endpoint Storage Container Args
Manages an IotHub Storage Container Endpoint
Note: Endpoints can be defined either directly on the
azure.iot.IoTHub
resource, or using theazurerm_iothub_endpoint_*
resources - but the two ways of defining the endpoints cannot be used together. If both are used against the same IoTHub, spurious changes will occur. Also, defining aazurerm_iothub_endpoint_*
resource and another endpoint of a different type directly on theazure.iot.IoTHub
resource is not supported.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleAccount = new azure.storage.Account("example", {
name: "example",
resourceGroupName: example.name,
location: example.location,
accountTier: "Standard",
accountReplicationType: "LRS",
});
const exampleContainer = new azure.storage.Container("example", {
name: "acctestcont",
storageAccountName: exampleAccount.name,
containerAccessType: "private",
});
const exampleIoTHub = new azure.iot.IoTHub("example", {
name: "example",
resourceGroupName: example.name,
location: example.location,
sku: {
name: "S1",
capacity: 1,
},
});
const exampleEndpointStorageContainer = new azure.iot.EndpointStorageContainer("example", {
resourceGroupName: example.name,
iothubId: exampleIoTHub.id,
name: "acctest",
containerName: "acctestcont",
connectionString: exampleAccount.primaryBlobConnectionString,
fileNameFormat: "{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}",
batchFrequencyInSeconds: 60,
maxChunkSizeInBytes: 10485760,
encoding: "JSON",
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_account = azure.storage.Account("example",
name="example",
resource_group_name=example.name,
location=example.location,
account_tier="Standard",
account_replication_type="LRS")
example_container = azure.storage.Container("example",
name="acctestcont",
storage_account_name=example_account.name,
container_access_type="private")
example_io_t_hub = azure.iot.IoTHub("example",
name="example",
resource_group_name=example.name,
location=example.location,
sku={
"name": "S1",
"capacity": 1,
})
example_endpoint_storage_container = azure.iot.EndpointStorageContainer("example",
resource_group_name=example.name,
iothub_id=example_io_t_hub.id,
name="acctest",
container_name="acctestcont",
connection_string=example_account.primary_blob_connection_string,
file_name_format="{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}",
batch_frequency_in_seconds=60,
max_chunk_size_in_bytes=10485760,
encoding="JSON")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleAccount = new Azure.Storage.Account("example", new()
{
Name = "example",
ResourceGroupName = example.Name,
Location = example.Location,
AccountTier = "Standard",
AccountReplicationType = "LRS",
});
var exampleContainer = new Azure.Storage.Container("example", new()
{
Name = "acctestcont",
StorageAccountName = exampleAccount.Name,
ContainerAccessType = "private",
});
var exampleIoTHub = new Azure.Iot.IoTHub("example", new()
{
Name = "example",
ResourceGroupName = example.Name,
Location = example.Location,
Sku = new Azure.Iot.Inputs.IoTHubSkuArgs
{
Name = "S1",
Capacity = 1,
},
});
var exampleEndpointStorageContainer = new Azure.Iot.EndpointStorageContainer("example", new()
{
ResourceGroupName = example.Name,
IothubId = exampleIoTHub.Id,
Name = "acctest",
ContainerName = "acctestcont",
ConnectionString = exampleAccount.PrimaryBlobConnectionString,
FileNameFormat = "{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}",
BatchFrequencyInSeconds = 60,
MaxChunkSizeInBytes = 10485760,
Encoding = "JSON",
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/iot"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
Name: pulumi.String("example"),
ResourceGroupName: example.Name,
Location: example.Location,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("LRS"),
})
if err != nil {
return err
}
_, err = storage.NewContainer(ctx, "example", &storage.ContainerArgs{
Name: pulumi.String("acctestcont"),
StorageAccountName: exampleAccount.Name,
ContainerAccessType: pulumi.String("private"),
})
if err != nil {
return err
}
exampleIoTHub, err := iot.NewIoTHub(ctx, "example", &iot.IoTHubArgs{
Name: pulumi.String("example"),
ResourceGroupName: example.Name,
Location: example.Location,
Sku: &iot.IoTHubSkuArgs{
Name: pulumi.String("S1"),
Capacity: pulumi.Int(1),
},
})
if err != nil {
return err
}
_, err = iot.NewEndpointStorageContainer(ctx, "example", &iot.EndpointStorageContainerArgs{
ResourceGroupName: example.Name,
IothubId: exampleIoTHub.ID(),
Name: pulumi.String("acctest"),
ContainerName: pulumi.String("acctestcont"),
ConnectionString: exampleAccount.PrimaryBlobConnectionString,
FileNameFormat: pulumi.String("{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}"),
BatchFrequencyInSeconds: pulumi.Int(60),
MaxChunkSizeInBytes: pulumi.Int(10485760),
Encoding: pulumi.String("JSON"),
})
if err != nil {
return err
}
return nil
})
}
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.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.storage.Container;
import com.pulumi.azure.storage.ContainerArgs;
import com.pulumi.azure.iot.IoTHub;
import com.pulumi.azure.iot.IoTHubArgs;
import com.pulumi.azure.iot.inputs.IoTHubSkuArgs;
import com.pulumi.azure.iot.EndpointStorageContainer;
import com.pulumi.azure.iot.EndpointStorageContainerArgs;
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()
.name("example-resources")
.location("West Europe")
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.name("example")
.resourceGroupName(example.name())
.location(example.location())
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var exampleContainer = new Container("exampleContainer", ContainerArgs.builder()
.name("acctestcont")
.storageAccountName(exampleAccount.name())
.containerAccessType("private")
.build());
var exampleIoTHub = new IoTHub("exampleIoTHub", IoTHubArgs.builder()
.name("example")
.resourceGroupName(example.name())
.location(example.location())
.sku(IoTHubSkuArgs.builder()
.name("S1")
.capacity(1)
.build())
.build());
var exampleEndpointStorageContainer = new EndpointStorageContainer("exampleEndpointStorageContainer", EndpointStorageContainerArgs.builder()
.resourceGroupName(example.name())
.iothubId(exampleIoTHub.id())
.name("acctest")
.containerName("acctestcont")
.connectionString(exampleAccount.primaryBlobConnectionString())
.fileNameFormat("{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}")
.batchFrequencyInSeconds(60)
.maxChunkSizeInBytes(10485760)
.encoding("JSON")
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleAccount:
type: azure:storage:Account
name: example
properties:
name: example
resourceGroupName: ${example.name}
location: ${example.location}
accountTier: Standard
accountReplicationType: LRS
exampleContainer:
type: azure:storage:Container
name: example
properties:
name: acctestcont
storageAccountName: ${exampleAccount.name}
containerAccessType: private
exampleIoTHub:
type: azure:iot:IoTHub
name: example
properties:
name: example
resourceGroupName: ${example.name}
location: ${example.location}
sku:
name: S1
capacity: '1'
exampleEndpointStorageContainer:
type: azure:iot:EndpointStorageContainer
name: example
properties:
resourceGroupName: ${example.name}
iothubId: ${exampleIoTHub.id}
name: acctest
containerName: acctestcont
connectionString: ${exampleAccount.primaryBlobConnectionString}
fileNameFormat: '{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}'
batchFrequencyInSeconds: 60
maxChunkSizeInBytes: 1.048576e+07
encoding: JSON
Import
IoTHub Storage Container Endpoint can be imported using the resource id
, e.g.
$ pulumi import azure:iot/endpointStorageContainer:EndpointStorageContainer storage_container1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Devices/iotHubs/hub1/endpoints/storage_container_endpoint1
Constructors
Properties
Type used to authenticate against the storage endpoint. Possible values are keyBased
and identityBased
. Defaults to keyBased
.
Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.
The connection string for the endpoint. This attribute can only be specified and is mandatory when authentication_type
is keyBased
.
The name of storage container in the storage account.
URI of the Storage Container endpoint. This corresponds to the primary_blob_endpoint
of the parent storage account. This attribute can only be specified and is mandatory when authentication_type
is identityBased
.
File name format for the blob. All parameters are mandatory but can be reordered. Defaults to {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}
.
ID of the User Managed Identity used to authenticate against the storage endpoint.
Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).
The name of the resource group under which the Storage Container has been created. Changing this forces a new resource to be created.