Home > Enterprise >  Azure SDK for Go - why are there multiple KeyVault and blob storage clients?
Azure SDK for Go - why are there multiple KeyVault and blob storage clients?

Time:04-22

In Azure SDK for Go, there are two implementations of KeyVault client,

https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/keyvault/azsecrets

and https://github.com/Azure/azure-sdk-for-go/tree/main/services/keyvault/v7.1/keyvault.

How do I decide between these ?

Similarly, for blob storage, there are multiple clients,

https://github.com/Azure/azure-sdk-for-go/tree/main/services/storage/datalake

https://github.com/Azure/azure-sdk-for-go/tree/main/services/datalake

https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/storage/azblob,

again, how do I decide among these options ?

What are the differences among these implementations ?

CodePudding user response:

The different lies in the purpose. There are packages to manage resources and there are packages to interact with the resources.

For example, the management library for azure blob allows you to create and manage storage accounts (management plane). The client library allows you to download and upload blobs (data plane)

See also the docs

CodePudding user response:

In Azure SDK for Go, there are two implementations of KeyVault client, https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/keyvault and https://github.com/Azure/azure-sdk-for-go/tree/main/services/keyvault.

How do I decide between these ?

You do not have to as neither of them is a Go package you could use ;-)

Its best to read the Go documentation and not the source repo, start here: https://pkg.go.dev/github.com/Azure/azure-sdk-for-go

(For the actual difference between the links you gave: see Peter Bons' answer.)

  • Related