Azure.Security.KeyVault.Secrets vs Microsoft.Azure.KeyVault - azure

These 2 libraries seem to serve a similar purpose: to securely store and control the access to tokens, passwords, API keys, and other secrets.
I have been using Microsoft.Azure.KeyVault with some success, not for configuration secrets, but for keys.
Not until recently did I discover Azure.Security.KeyVault.Secrets.
In release notes I found this:
Updated Microsoft.Azure.KeyVault with its successor Azure.Security.KeyVault.Secrets to resolve key vault references.
What are the distinguishing attributes of the 2 libraries, and how to determine the appropriate choice.
Should I interpret the release note to imply Microsoft.Azure.KeyVault is obsolete or will be deprecated?

What are the distinguishing attributes of the 2 libraries, and how to
determine the appropriate choice.
The package Azure.Security.KeyVault.Secrets is the most up-to-date version of the Key Vault client library, which is recommended to use for any new project. For main differences from the legacy one, see this
Major changes from Microsoft.Azure.KeyVault. For usage, please refer to this doc.
The other package Microsoft.Azure.KeyVault is now a legacy one, if you have some old projects which use it, you can keep using it. For usage, please refer to this doc.
You can refer to this article for more details why these new client libraries(including Azure.Security.KeyVault.Secrets) are published.
Should I interpret the release note to imply Microsoft.Azure.KeyVault
is obsolete or will be deprecated?
It is hard to say if the old one will be deprecated in the future. At least from the
Release History, it says the new one is not a direct replacement for Microsoft.Azure.KeyVault(like other azure services, for example, azure storage service published a new version package recently, but not officially pronounced the old one is deprecated). But we suggest you should use the new one in any new create project like it says in the doc, a screenshot of this:
Hope it helps.

Related

Azure WORM/ immutable retention lock on containers for legacy java SDK

I wan to set up a immutable policy for blob storage using the Java "Legacy" SDK (version 8.3), but I can't seem to find any documentation showing how to do this, or if it's even possible from the legacy version. The website shows how to do this from the portal, CLI and PowerShell, but I've yet to find any reference to the Java SDK. Am I missing some documentation somewhere?
I believe the closest thing to docs you'd be able to find on this would be the SDK documentation here: https://learn.microsoft.com/en-us/java/api/com.azure.resourcemanager.storage.fluent.models.immutabilitypolicyinner?view=azure-java-stable and here for legal holds: https://learn.microsoft.com/en-us/java/api/com.azure.resourcemanager.storage.fluent.models.legalholdinner?view=azure-java-stable.
It doesn't seem like there is a lot of great documentation on how to use them, but at least these give you the class and method names.

What is the difference between the Microsoft.Azure.Storage and WindowsAzure.Storage Nuget packages?

I've always found this very confusing:
There is a WindowsAzure.Storage NuGet package authored by Microsoft which allows you to work with, for example, blob storage (creating blobs, etc.).
There are also Microsoft.Azure.Storage.* packages which accomplish the same thing, also authored by Microsoft.
If your project happens to have dependencies on both, you can have naming conflicts e.g. (The type 'CloudStorageAccount' exists in both 'Microsoft.Azure.Storage.Common, ... and 'Microsoft.WindowsAzure.Storage, ...).
Here are links to the two alternatives:
https://learn.microsoft.com/en-us/dotnet/api/overview/azure/storage?view=azure-dotnet
https://github.com/Azure/azure-storage-net/blob/master/README.md
What is the difference and when would I be motivated to use one over the other?
WindowsAzure.Storage(latest is v9.3.2) is the legacy Storage SDK we always use and Microsoft.Azure.Storage.*(latest v9.4.0) is its new release, nuget available about one year.
Check the changelog of Storage .NET SDK. List part of those important differences/changes.
Microsoft.Azure.Storage splits libraries to three parts, Blob, Queue and File, which means we can install separate package instead of the full edition.
Microsoft.Azure.Storage doesn't support Table API, it is transferred to Microsoft.Azure.Cosmos.Table.
Microsoft.Azure.Storage added NetStandard2.0 target support since 9.4.0-preview, which supports synchronous methods wrapped over the asynchronous APIs. WindowsAzure.Storage on NetStandard only has asynchronous APIs.
Microsoft.Azure.Storage v9.4 package moves back to use Microsoft.WindowsAzure.Storage namespace temporarily to ease the transition for existing libraries.
Just make choices based on our requirement.
There are now three levels:
WindowsAzure.Storage - up to v9.3.3 - don't use this anymore.
Microsoft.Azure.Storage - v9.4.0 to v11.1.7 - older
Azure.Storage - v12.x - use this library.
All the Azure libraries are being consolidated into the Azure namespace, so the newer libraries all start with Azure (not Microsoft.Azure or WindowsAzure) and you should use those when available.

Google Api and Google Auth Library which one should I use for GoogleOAuth2

What are the differences between those those two libraries?
Which one should I use for authentication?
https://github.com/google/google-api-nodejs-client
https://github.com/google/google-auth-library-nodejs
for example:
I saw that while one include the setCredentials, the other doesn't support it. and have credentials as a property
So, it appears that the first one is indeed in alpha.
Also, the second one is official release and maintained by google fellows, and yesterday was released it 1.0.0 version.
see it here as well -> https://github.com/google/google-auth-library-nodejs/issues/241

Is Azure Storage REST API version "2015-07-08" used by storage client v7 documented anywhere?

I went to update the Azure storage client nuget here, and before pulling it read the changelog. In the changelog they say "support for 2015-07-08 REST version. Please see our REST API documentation and blogs for information...". I have looked all over and can't find any documentation for that API version (2015-07-08) of what was changed. Does anyone know what was changed and/or where the changes are documented?
Version 7.x of the client library is based on version 2015-07-08 (the latest version). However, the change to the service with this version, as compared to version 2015-04-05, is very minor. The only change is the addition of the GetPageRangesDiff/GetPageRangesDiffAsync methods on CloudPageBlob. These methods support incremental snapshots (see https://azure.microsoft.com/documentation/articles/storage-incremental-snapshots/). There is no other change to the service.
Also see https://msdn.microsoft.com/en-us/library/azure/ee691973.aspx for the change to Get Page Ranges.
We will provide information in the versioning section for 2015-07-08 soon.
Didn't find what was exactly changed, but I think the documentation refers to https://github.com/Azure/azure-storage-net/tree/master/Documentation and blogs at http://blogs.msdn.com/b/windowsazurestorage/.

Microsoft.WindowsAzure.Storage vs Microsoft.WindowsAzure.StorageClient

What's the difference between these two assemblies and when should I use each? I find that there are class name collisions between them so I imagine that I should only use one.
Example
Microsoft.WindowsAzure.Storage has Microsoft.WindowsAzure.Storage.Table.CloudTableClient
Microsoft.WindowsAzure.StorageClient has Microsoft.WindowsAzure.StorageClient.CloudTableClient
This seems very confusing. I can't imagine that Microsoft intends these to both be used in the same project.
Microsoft.WindowsAzure.Storage is version 2.0 of storage client library while Microsoft.WindowsAzure.StorageClient is the older version. There have been many changes in version 2.0 of the library (some of them are breaking). If you're starting new, I would actually recommend using 2.0 of the library as I found it more intuitive and easy to use than the older version. If you have an application which makes use of 1.7 version of the library, before you decide to upgrade, I would actually recommend reading the following blog posts by Windows Azure Storage Team:
http://blogs.msdn.com/b/windowsazurestorage/archive/2012/10/29/introducing-windows-azure-storage-client-library-2-0-for-net-and-windows-runtime.aspx
http://blogs.msdn.com/b/windowsazurestorage/archive/2012/10/29/windows-azure-storage-client-library-2-0-breaking-changes-amp-migration-guide.aspx
http://blogs.msdn.com/b/windowsazurestorage/archive/2012/11/06/windows-azure-storage-client-library-2-0-tables-deep-dive.aspx
However please note that there're still some components that your application might be using which has a dependency on storage client library 1.7. Windows Azure Diagnostics is one of them. So for some time you will need to use both versions. Good thing is that you can use both versions simultaneously in your project.
Hope this helps.
EDIT:
I also wrote a few blog posts about migrating code from storage client library 1.7 to 2.0 where I covered some basic scenarios. You can read those posts here:
Migrating blob storage code: http://gauravmantri.com/2012/11/28/storage-client-library-2-0-migrating-blob-storage-code/
Migrating queue code: http://gauravmantri.com/2012/11/24/storage-client-library-2-0-migrating-queue-storage-code/
Migrating table storage code: http://gauravmantri.com/2012/11/17/storage-client-library-2-0-migrating-table-storage-code/

Resources