This package follows the new Azure SDK guidelines which provide a number of core capabilities that are shared amongst all Azure SDKs, including the intuitive Azure Identity library, an HTTP Pipeline with custom policies, error-handling, distributed tracing, and much more.
This is a Public Preview version, so expect incompatible changes in subsequent releases as we improve the product. To provide feedback, please submit an issue in our Azure SDK for .NET GitHub repo.
- 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
NOTE: For more information about unified authentication, please refer to Azure Identity documentation for .NET
The package name has been changed from Microsoft.Azure.Management.KeyVault
to Azure.ResourceManager.KeyVault
Example: Create a Key Vault Instance:
Before upgrade:
using Microsoft.Azure.Management.KeyVault;
using Microsoft.Azure.Management.KeyVault.Models;
using Microsoft.Rest;
var tokenCredentials = new TokenCredentials("YOUR ACCESS TOKEN");
var keyVaultManagementClient = new KeyVaultManagementClient(tokenCredentials);
var vault = await keyVaultManagementClient.Vaults.BeginCreateOrUpdateAsync
(
resourceGroupName,
vaultName,
parameters
);
After upgrade:
using Azure.Identity;
using Azure.ResourceManager.KeyVault;
using Azure.ResourceManager.KeyVault.Models;
var keyVaultManagementClient = new KeyVaultManagementClient(
subscriptionId,
new DefaultAzureCredential(),
new KeyVaultManagementClientOptions());
var vaultsOperations = keyVaultManagementClient.Vaults;
var vault = await vaultsOperations.StartCreateOrUpdateAsync(
resourceGroupName,
vaultName,
parameters
);
var vaultValue = (await vault.WaitForCompletionAsync()).Value;
Example: Create a Permissions Model
Before upgrade:
var permissions = new Permissions
{
Keys = new string[] { "all" },
Secrets = new string[] { "all" },
Certificates = new string[] { "all" },
Storage = new string[] { "all" },
}
After upgrade:
var permissions = new Permissions
{
Keys = new [] { new KeyPermissions("all") },
Secrets = new [] { new SecretPermissions("all") },
Certificates = new [] { new CertificatePermissions("all") },
Storage = new [] { new StoragePermissions("all") },
};