- Renamed
ExpiresOn
toExpireOn
.
- Upgraded API version to 2022-09-01
This package is the first stable release of the Azure Storage management library.
- Optimized the implementation of methods related to tag operations.
This package is the RC release of the Azure Storage management library.
- Various naming changes according to review comments.
- Changed the return type of the method
RestoreBlobRanges
toStorageAccountRestoreBlobRangesOperation
.
- Upgraded API version to 2022-05-01
This package is the RC release of the Azure Storage management library.
- Added Update methods in resource classes.
Polishing since last public beta release:
- Prepended
Storage
prefix to all single / simple model names. - Corrected the format of all
Guid
type properties / parameters. - Corrected the format of all
ResourceIdentifier
type properties / parameters. - Corrected the format of all
ResouceType
type properties / parameters. - Corrected the format of all
ETag
type properties / parameters. - Corrected the format of all
AzureLocation
type properties / parameters. - Corrected the format of all binary type properties / parameters.
- Corrected all acronyms that don't follow Microsoft .NET Naming Guidelines.
- Corrected enumeration name by following Naming Enumerations Rule.
- Corrected the suffix of
DateTimeOffset
properties / parameters. - Corrected the name of interval / duration properties / parameters that end with units.
- Optimized the name of some models and functions.
- Upgraded dependent
Azure.ResourceManager
to 1.2.0 - Upgraded dependent
Azure.Core
to 1.25.0
- Base type of
BlobContainerData
changed toAzure.ResourceManager.Models.ResourceData
. - Base type of
FileShareData
changed toAzure.ResourceManager.Models.ResourceData
. - Base type of
ImmutabilityPolicyData
changed toAzure.ResourceManager.Models.ResourceData
. - Type
AzureEntityResource
was removed.
- Flattened property from a read-only model no longer has setters.
- The type of flattened primitive property changed to its corresponding nullable type.
- Renamed class
PrivateLinkResource
toStoragePrivateLinkResource
. - Added an
Update
method using the implementation ofCreateOrUpdate
if the resource previously doesn't have aUpdate
method.
- Simplify
type
property names. - Normalized the body parameter type names for PUT / POST / PATCH operations if it's only used as input.
- Upgrade dependency to Azure.ResourceManager 1.0.0
- Now all the resource classes would have a
Resource
suffix (if it previously doesn't have one). - Renamed some models to more comprehensive names.
bool waitForCompletion
parameter in all long running operations were changed toWaitUntil waitUntil
.- All properties of the type
object
were changed toBinaryData
. - Removed
GetIfExists
methods from all the resource classes.
- Bump API version to
2021-08-01
waitForCompletion
is now a required parameter and moved to the first parameter in LRO operations- Move optional body parameters right after required parameters
- Added
CreateResourceIdentifier
for each resource class
- Renamed
CheckIfExists
toExists
for each resource collection class - Renamed
Get{Resource}ByName
toGet{Resource}AsGenericResource
inSubscriptionExtensions
- Fixed comments for
FirstPageFunc
of each pageable resource class - Fixed
DateTimeOffset
being serialized to local timezone format
- Unified the identification rule of detecting resources, therefore some resources might become non-resources, and vice versa.
- Fixed problematic internal parameter invocation from the context
Id
property to the correspondingRestOperations
.
- Renamed [Resource]Container to [Resource]Collection and added the IEnumerable and IAsyncEnumerable interfaces to them making it easier to iterate over the list in the simple case.
- Added ArmClient extension methods to support start from the middle scenario.
- Fixed bug when using
GetDeletedAccountsAsync
would cause error.
This package follows the new Azure SDK guidelines, and provides many core capabilities:
- Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET.
- Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing.
- HTTP pipeline with custom policies.
- Better error-handling.
- Support uniform telemetry across all languages.
This package is a Public Preview version, so expect incompatible changes in subsequent releases as we improve the product. To provide feedback, submit an issue in our Azure SDK for .NET GitHub repo.
NOTE: For more information about unified authentication, please refer to Microsoft Azure Identity documentation for .NET.
The package name has been changed from Microsoft.Azure.Management.Storage
to Azure.ResourceManager.Storage
Example: Create a storage account:
Before upgrade:
using Microsoft.Azure.Management.Storage;
using Microsoft.Azure.Management.Storage.Models;
using Microsoft.Rest;
var credentials = new TokenCredentials("YOUR ACCESS TOKEN");
var storageManagementClient = new StorageManagementClient(credentials);
storageManagementClient.SubscriptionId = subscriptionId;
StorageAccountCreateParameters parameters = new StorageAccountCreateParameters
{
Location = "westus",
Tags = new Dictionary<string, string>
{
{"key1","value1"},
{"key2","value2"}
},
Sku = new Sku { Name = SkuName.StandardGRS },
Kind = Kind.Storage,
};
storageManagementClient.StorageAccounts.Create(resourceGroupName, accountName, parameters);
After upgrade:
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Storage.Models;
string accountName = "myaccount";
string resourceGroupName = "myResourceGroup";
ArmClient client = new ArmClient(new DefaultAzureCredential());
ResourceGroupResource resourceGroup = client.GetDefaultSubscription().GetResourceGroups().Get(resourceGroupName);
StorageAccountCollection storageAccountCollection = resourceGroup.GetStorageAccounts();
StorageSku sku = new StorageSku(StorageSkuName.PremiumLrs);
StorageAccountCreateOrUpdateContent parameters = new StorageAccountCreateOrUpdateContent(sku, StorageKind.Storage, AzureLocation.WestUS)
{
Tags =
{
["key1"] = "value1",
["key2"] = "value2"
}
};
StorageAccountResource account = storageAccountCollection.CreateOrUpdate(WaitUntil.Completed, accountName, parameters).Value;
Example: Create one Encryption Model
Before upgrade:
var encryption = new Encryption()
{
Services = new EncryptionServices { Blob = new EncryptionService { Enabled = true }, File = new EncryptionService { Enabled = true } },
KeySource = KeySource.MicrosoftStorage
};
After upgrade:
var encryption = new Encryption(KeySource.MicrosoftStorage)
{
Services = new EncryptionServices { Blob = new EncryptionService { Enabled = true }, File = new EncryptionService { Enabled = true } }
};