1. Packages
  2. Azure Native
  3. API Docs
  4. storage
  5. Blob
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.0.1 published on Monday, Apr 7, 2025 by Pulumi

azure-native.storage.Blob

Explore with Pulumi AI

This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.0.1 published on Monday, Apr 7, 2025 by Pulumi

Manages a Blob within a Storage Container. For the supported combinations of properties and features please see here.

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:storage:Blob myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/blobs/{blobName} 
Copy

Create Blob Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Blob(name: string, args: BlobArgs, opts?: CustomResourceOptions);
@overload
def Blob(resource_name: str,
         args: BlobArgs,
         opts: Optional[ResourceOptions] = None)

@overload
def Blob(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         account_name: Optional[str] = None,
         container_name: Optional[str] = None,
         resource_group_name: Optional[str] = None,
         access_tier: Optional[BlobAccessTier] = None,
         blob_name: Optional[str] = None,
         content_md5: Optional[str] = None,
         content_type: Optional[str] = None,
         metadata: Optional[Mapping[str, str]] = None,
         source: Optional[Union[pulumi.Asset, pulumi.Archive]] = None,
         type: Optional[BlobType] = None)
func NewBlob(ctx *Context, name string, args BlobArgs, opts ...ResourceOption) (*Blob, error)
public Blob(string name, BlobArgs args, CustomResourceOptions? opts = null)
public Blob(String name, BlobArgs args)
public Blob(String name, BlobArgs args, CustomResourceOptions options)
type: azure-native:storage:Blob
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. BlobArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. BlobArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. BlobArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. BlobArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. BlobArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var blobResource = new AzureNative.Storage.Blob("blobResource", new()
{
    AccountName = "string",
    ContainerName = "string",
    ResourceGroupName = "string",
    AccessTier = AzureNative.Storage.BlobAccessTier.Hot,
    BlobName = "string",
    ContentMd5 = "string",
    ContentType = "string",
    Metadata = 
    {
        { "string", "string" },
    },
    Source = new StringAsset("content"),
    Type = AzureNative.Storage.BlobType.Block,
});
Copy
example, err := storage.NewBlob(ctx, "blobResource", &storage.BlobArgs{
	AccountName:       pulumi.String("string"),
	ContainerName:     pulumi.String("string"),
	ResourceGroupName: pulumi.String("string"),
	AccessTier:        storage.BlobAccessTierHot,
	BlobName:          pulumi.String("string"),
	ContentMd5:        pulumi.String("string"),
	ContentType:       pulumi.String("string"),
	Metadata: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Source: pulumi.NewStringAsset("content"),
	Type:   storage.BlobTypeBlock,
})
Copy
var blobResource = new Blob("blobResource", BlobArgs.builder()
    .accountName("string")
    .containerName("string")
    .resourceGroupName("string")
    .accessTier("Hot")
    .blobName("string")
    .contentMd5("string")
    .contentType("string")
    .metadata(Map.of("string", "string"))
    .source(new StringAsset("content"))
    .type("Block")
    .build());
Copy
blob_resource = azure_native.storage.Blob("blobResource",
    account_name="string",
    container_name="string",
    resource_group_name="string",
    access_tier=azure_native.storage.BlobAccessTier.HOT,
    blob_name="string",
    content_md5="string",
    content_type="string",
    metadata={
        "string": "string",
    },
    source=pulumi.StringAsset("content"),
    type=azure_native.storage.BlobType.BLOCK)
Copy
const blobResource = new azure_native.storage.Blob("blobResource", {
    accountName: "string",
    containerName: "string",
    resourceGroupName: "string",
    accessTier: azure_native.storage.BlobAccessTier.Hot,
    blobName: "string",
    contentMd5: "string",
    contentType: "string",
    metadata: {
        string: "string",
    },
    source: new pulumi.asset.StringAsset("content"),
    type: azure_native.storage.BlobType.Block,
});
Copy
type: azure-native:storage:Blob
properties:
    accessTier: Hot
    accountName: string
    blobName: string
    containerName: string
    contentMd5: string
    contentType: string
    metadata:
        string: string
    resourceGroupName: string
    source:
        fn::StringAsset: content
    type: Block
Copy

Blob Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Blob resource accepts the following input properties:

AccountName
This property is required.
Changes to this property will trigger replacement.
string
Specifies the storage account in which to create the storage container.
ContainerName
This property is required.
Changes to this property will trigger replacement.
string
The name of the storage container in which this blob should be created.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group within the user's subscription.
AccessTier Pulumi.AzureNative.Storage.BlobAccessTier
The access tier of the storage blob. Only supported for standard storage accounts, not premium.
BlobName Changes to this property will trigger replacement. string
The name of the storage blob. Must be unique within the storage container the blob is located. If this property is not specified it will be set to the name of the resource.
ContentMd5 Changes to this property will trigger replacement. string
The MD5 sum of the blob contents, base64-encoded. Cannot be defined if blob type is Append.
ContentType string
The content type of the storage blob. Defaults to application/octet-stream.
Metadata Dictionary<string, string>
A map of custom blob metadata.
Source Changes to this property will trigger replacement. AssetOrArchive
An asset to copy to the blob contents. This field cannot be specified for Append blobs.
Type Changes to this property will trigger replacement. Pulumi.AzureNative.Storage.BlobType
The type of the storage blob to be created. Defaults to 'Block'.
AccountName
This property is required.
Changes to this property will trigger replacement.
string
Specifies the storage account in which to create the storage container.
ContainerName
This property is required.
Changes to this property will trigger replacement.
string
The name of the storage container in which this blob should be created.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group within the user's subscription.
AccessTier BlobAccessTier
The access tier of the storage blob. Only supported for standard storage accounts, not premium.
BlobName Changes to this property will trigger replacement. string
The name of the storage blob. Must be unique within the storage container the blob is located. If this property is not specified it will be set to the name of the resource.
ContentMd5 Changes to this property will trigger replacement. string
The MD5 sum of the blob contents, base64-encoded. Cannot be defined if blob type is Append.
ContentType string
The content type of the storage blob. Defaults to application/octet-stream.
Metadata map[string]string
A map of custom blob metadata.
Source Changes to this property will trigger replacement. pulumi.AssetOrArchive
An asset to copy to the blob contents. This field cannot be specified for Append blobs.
Type Changes to this property will trigger replacement. BlobType
The type of the storage blob to be created. Defaults to 'Block'.
accountName
This property is required.
Changes to this property will trigger replacement.
String
Specifies the storage account in which to create the storage container.
containerName
This property is required.
Changes to this property will trigger replacement.
String
The name of the storage container in which this blob should be created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group within the user's subscription.
accessTier BlobAccessTier
The access tier of the storage blob. Only supported for standard storage accounts, not premium.
blobName Changes to this property will trigger replacement. String
The name of the storage blob. Must be unique within the storage container the blob is located. If this property is not specified it will be set to the name of the resource.
contentMd5 Changes to this property will trigger replacement. String
The MD5 sum of the blob contents, base64-encoded. Cannot be defined if blob type is Append.
contentType String
The content type of the storage blob. Defaults to application/octet-stream.
metadata Map<String,String>
A map of custom blob metadata.
source Changes to this property will trigger replacement. AssetOrArchive
An asset to copy to the blob contents. This field cannot be specified for Append blobs.
type Changes to this property will trigger replacement. BlobType
The type of the storage blob to be created. Defaults to 'Block'.
accountName
This property is required.
Changes to this property will trigger replacement.
string
Specifies the storage account in which to create the storage container.
containerName
This property is required.
Changes to this property will trigger replacement.
string
The name of the storage container in which this blob should be created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group within the user's subscription.
accessTier BlobAccessTier
The access tier of the storage blob. Only supported for standard storage accounts, not premium.
blobName Changes to this property will trigger replacement. string
The name of the storage blob. Must be unique within the storage container the blob is located. If this property is not specified it will be set to the name of the resource.
contentMd5 Changes to this property will trigger replacement. string
The MD5 sum of the blob contents, base64-encoded. Cannot be defined if blob type is Append.
contentType string
The content type of the storage blob. Defaults to application/octet-stream.
metadata {[key: string]: string}
A map of custom blob metadata.
source Changes to this property will trigger replacement. pulumi.asset.Asset | pulumi.asset.Archive
An asset to copy to the blob contents. This field cannot be specified for Append blobs.
type Changes to this property will trigger replacement. BlobType
The type of the storage blob to be created. Defaults to 'Block'.
account_name
This property is required.
Changes to this property will trigger replacement.
str
Specifies the storage account in which to create the storage container.
container_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the storage container in which this blob should be created.
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the resource group within the user's subscription.
access_tier BlobAccessTier
The access tier of the storage blob. Only supported for standard storage accounts, not premium.
blob_name Changes to this property will trigger replacement. str
The name of the storage blob. Must be unique within the storage container the blob is located. If this property is not specified it will be set to the name of the resource.
content_md5 Changes to this property will trigger replacement. str
The MD5 sum of the blob contents, base64-encoded. Cannot be defined if blob type is Append.
content_type str
The content type of the storage blob. Defaults to application/octet-stream.
metadata Mapping[str, str]
A map of custom blob metadata.
source Changes to this property will trigger replacement. Union[pulumi.Asset, pulumi.Archive]
An asset to copy to the blob contents. This field cannot be specified for Append blobs.
type Changes to this property will trigger replacement. BlobType
The type of the storage blob to be created. Defaults to 'Block'.
accountName
This property is required.
Changes to this property will trigger replacement.
String
Specifies the storage account in which to create the storage container.
containerName
This property is required.
Changes to this property will trigger replacement.
String
The name of the storage container in which this blob should be created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group within the user's subscription.
accessTier "Hot" | "Cool" | "Archive"
The access tier of the storage blob. Only supported for standard storage accounts, not premium.
blobName Changes to this property will trigger replacement. String
The name of the storage blob. Must be unique within the storage container the blob is located. If this property is not specified it will be set to the name of the resource.
contentMd5 Changes to this property will trigger replacement. String
The MD5 sum of the blob contents, base64-encoded. Cannot be defined if blob type is Append.
contentType String
The content type of the storage blob. Defaults to application/octet-stream.
metadata Map<String>
A map of custom blob metadata.
source Changes to this property will trigger replacement. Asset
An asset to copy to the blob contents. This field cannot be specified for Append blobs.
type Changes to this property will trigger replacement. "Block" | "Append"
The type of the storage blob to be created. Defaults to 'Block'.

Outputs

All input properties are implicitly available as output properties. Additionally, the Blob resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of the storage blob.
Url string
The URL of the blob.
Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of the storage blob.
Url string
The URL of the blob.
id String
The provider-assigned unique ID for this managed resource.
name String
The name of the storage blob.
url String
The URL of the blob.
id string
The provider-assigned unique ID for this managed resource.
name string
The name of the storage blob.
url string
The URL of the blob.
id str
The provider-assigned unique ID for this managed resource.
name str
The name of the storage blob.
url str
The URL of the blob.
id String
The provider-assigned unique ID for this managed resource.
name String
The name of the storage blob.
url String
The URL of the blob.

Supporting Types

BlobAccessTier
, BlobAccessTierArgs

Hot
HotOptimized for storing data that is accessed frequently.
Cool
CoolOptimized for storing data that is infrequently accessed and stored for at least 30 days.
Archive
ArchiveOptimized for storing data that is rarely accessed and stored for at least 180 days with flexible latency requirements, on the order of hours.
BlobAccessTierHot
HotOptimized for storing data that is accessed frequently.
BlobAccessTierCool
CoolOptimized for storing data that is infrequently accessed and stored for at least 30 days.
BlobAccessTierArchive
ArchiveOptimized for storing data that is rarely accessed and stored for at least 180 days with flexible latency requirements, on the order of hours.
Hot
HotOptimized for storing data that is accessed frequently.
Cool
CoolOptimized for storing data that is infrequently accessed and stored for at least 30 days.
Archive
ArchiveOptimized for storing data that is rarely accessed and stored for at least 180 days with flexible latency requirements, on the order of hours.
Hot
HotOptimized for storing data that is accessed frequently.
Cool
CoolOptimized for storing data that is infrequently accessed and stored for at least 30 days.
Archive
ArchiveOptimized for storing data that is rarely accessed and stored for at least 180 days with flexible latency requirements, on the order of hours.
HOT
HotOptimized for storing data that is accessed frequently.
COOL
CoolOptimized for storing data that is infrequently accessed and stored for at least 30 days.
ARCHIVE
ArchiveOptimized for storing data that is rarely accessed and stored for at least 180 days with flexible latency requirements, on the order of hours.
"Hot"
HotOptimized for storing data that is accessed frequently.
"Cool"
CoolOptimized for storing data that is infrequently accessed and stored for at least 30 days.
"Archive"
ArchiveOptimized for storing data that is rarely accessed and stored for at least 180 days with flexible latency requirements, on the order of hours.

BlobType
, BlobTypeArgs

Block
BlockBlock blobs store text and binary data. Block blobs are made up of blocks of data that can be managed individually.
Append
AppendAppend blobs are made up of blocks like block blobs, but are optimized for append operations.
BlobTypeBlock
BlockBlock blobs store text and binary data. Block blobs are made up of blocks of data that can be managed individually.
BlobTypeAppend
AppendAppend blobs are made up of blocks like block blobs, but are optimized for append operations.
Block
BlockBlock blobs store text and binary data. Block blobs are made up of blocks of data that can be managed individually.
Append
AppendAppend blobs are made up of blocks like block blobs, but are optimized for append operations.
Block
BlockBlock blobs store text and binary data. Block blobs are made up of blocks of data that can be managed individually.
Append
AppendAppend blobs are made up of blocks like block blobs, but are optimized for append operations.
BLOCK
BlockBlock blobs store text and binary data. Block blobs are made up of blocks of data that can be managed individually.
APPEND
AppendAppend blobs are made up of blocks like block blobs, but are optimized for append operations.
"Block"
BlockBlock blobs store text and binary data. Block blobs are made up of blocks of data that can be managed individually.
"Append"
AppendAppend blobs are made up of blocks like block blobs, but are optimized for append operations.

Package Details

Repository
Azure Native pulumi/pulumi-azure-native
License
Apache-2.0
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.0.1 published on Monday, Apr 7, 2025 by Pulumi