CloudBlobContainer.CreateIfNotExist Method (BlobRequestOptions)

Storage Client Library NET API

[This topic is part of the Microsoft Azure Storage Client Library 1.7, which has been deprecated. See Storage Client Library for the latest version.]

Creates the container if it does not already exist, using a conditional request based on the BlobRequestOptions that you specify.

Namespace: Microsoft.WindowsAzure.StorageClient
Assembly: Microsoft.WindowsAzure.StorageClient (in Microsoft.WindowsAzure.StorageClient.dll)

Usage

Visual Basic
Dim instance As CloudBlobContainer
Dim options As BlobRequestOptions
Dim returnValue As Boolean

returnValue = instance.CreateIfNotExist(options)

Syntax

Visual Basic
Public Function CreateIfNotExist ( _
	options As BlobRequestOptions _
) As Boolean
C#
public bool CreateIfNotExist (
	BlobRequestOptions options
)
C++
public:
bool CreateIfNotExist (
	BlobRequestOptions^ options
)
J#
JScript

Parameters

options

Type: Microsoft.WindowsAzure.StorageClient.BlobRequestOptions

An object that specifies any additional options for the request.

Return Value

Type: System.Boolean

true if the container did not already exist and was created; otherwise false.

Example

The following code example creates a container if it does not exist.

C# Copy Code
static void UploadBlobFromFile(Uri blobEndpoint, string accountName, string accountKey)
{
    //Create service client for credentialed access to the Blob service.
    CloudBlobClient blobClient = new CloudBlobClient(blobEndpoint, new StorageCredentialsAccountAndKey(accountName, accountKey));

    //Get a reference to a container, which may or may not exist.
    CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
            
    //Create a new container, if it does not exist
    container.CreateIfNotExist();

    //Get a reference to a blob, which may or may not exist.
    CloudBlob blob = container.GetBlobReference("myfile.txt");

    //Upload content to the blob, which will create the blob if it does not already exist.
    blob.UploadFile("c:\\myfile.txt");
}

Remarks

Containers are created immediately beneath the storage account. It's not possible to nest one container beneath another.

You can specify metadata on the container at the time that you created it. In this case, the call to CreateIfNotExist writes the metadata to the new container, so it's not necessary to also call SetMetadata.

The CreateIfNotExist method throws a StorageClientException if the specified container already exists. The error code returned by the service is ContainerAlreadyExists.

You can optionally create a default or root container for your storage account. The root container may be inferred from a URL requesting a blob resource. The root container makes it possible to reference a blob from the top level of the storage account hierarchy, without referencing the container name. To add the root container to your storage account, create a container named $root.


Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows Vista, Windows 7, Windows Server 2008, Windows 8.1, Windows Server 2012 R2, Windows 8 and Windows Server 2012

Change History

See Also