{"id":1726,"date":"2021-12-02T18:00:49","date_gmt":"2021-12-03T02:00:49","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/azure-sdk\/?p=1726"},"modified":"2022-04-07T06:13:34","modified_gmt":"2022-04-07T13:13:34","slug":"introducing-the-latest-azure-sdk-for-go-client-and-management-modules","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azure-sdk\/introducing-the-latest-azure-sdk-for-go-client-and-management-modules\/","title":{"rendered":"Introducing the latest Azure SDK for Go client and management modules"},"content":{"rendered":"<p>We&#8217;re thrilled to share the latest set of Azure SDK modules for Go that are now in beta. These modules follow the <a href=\"https:\/\/azure.github.io\/azure-sdk\/general_introduction.html\">Azure SDK Guidelines<\/a> to provide an improved developer experience. They&#8217;re grouped into management and client modules. The management modules allow you to manage resources in your Azure subscription, by creating and managing instances of Azure services. The client modules allow you to use the capabilities exposed by instances of a service. The client modules include Azure Core, Identity, Tables, Key Vault \u2013 Keys, Key Vault \u2013 Secrets, Blob Storage, Cosmos DB, and Service Bus. Since our <a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/new-azure-sdk-resource-management-libraries-for-javascript-and-go\/\">September blog post on management modules for Go<\/a>, we&#8217;ve added support for:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/advisor\/armadvisor#readme\">Advisor<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/alertsmanagement\/armalertsmanagement#readme\">Alerts Management<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/analysisservices\/armanalysisservices#readme\">Analysis Services<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/appplatform\/armappplatform#readme\">App Platform<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/automation\/armautomation#readme\">Automation<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/batch\/armbatch#readme\">Batch<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/botservice\/armbotservice#readme\">Bot Service<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/cdn\/armcdn#readme\">CDN<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/cognitiveservices\/armcognitiveservices#readme\">Cognitive Services<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/consumption\/armconsumption#readme\">Consumption<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/datalake-analytics\/armdatalakeanalytics#readme\">Data Lake Analytics<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/datalake-store\/armdatalakestore#readme\">Data Lake Storage<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/databricks\/armdatabricks#readme\">Databricks<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/resources\/armdeploymentscripts#readme\">Deployment Scripts<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/devtestlabs\/armdevtestlabs#readme\">DevTest Labs<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/resources\/armfeatures#readme\">Features<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/hdinsight\/armhdinsight#readme\">HDInsight<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/iothub\/armiothub#readme\">IoT Hub<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/resources\/armlinks#readme\">Links<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/resources\/armlocks#readme\">Locks<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/logic\/armlogic#readme\">Logic<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/resources\/armmanagedapplications#readme\">Managed Applications<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/msi\/armmsi#readme\">Managed Service Identity<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/managementgroups\/armmanagementgroups#readme\">Management Groups<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/mediaservices\/armmediaservices#readme\">Media Services<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/mysql\/armmysql#readme\">MySQL<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/mysql\/armmysqlflexibleservers#readme\">MySQL Flexible Servers<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/notificationhubs\/armnotificationhubs#readme\">Notification Hubs<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/operationsmanagement\/armoperationsmanagement#readme\">Operations Management<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/resources\/armpolicy#readme\">Policy<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/portal\/armportal#readme\">Portal<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/postgresql\/armpostgresqlflexibleservers#readme\">PostgreSQL Flexible Servers<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/recoveryservices\/armrecoveryservices#readme\">Recovery Services<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/relay\/armrelay#readme\">Relay<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/resourcehealth\/armresourcehealth#readme\">Resource Health<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/scheduler\/armscheduler#readme\">Scheduler<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/search\/armsearch#readme\">Search<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/security\/armsecurity#readme\">Security<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/servicefabric\/armservicefabric#readme\">Service Fabric<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/sql\/armsql#readme\">SQL<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/sqlvirtualmachine\/armsqlvirtualmachine#readme\">SQL Virtual Machine<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/streamanalytics\/armstreamanalytics#readme\">Stream Analytics<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/resources\/armsubscriptions#readme\">Subscriptions<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/resources\/armtemplatespecs#readme\">Template Specs<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\/web\/armweb#readme\">Web<\/a><\/li>\n<\/ul>\n<h2>Get the latest modules<\/h2>\n<p>You can get the latest modules using <a href=\"https:\/\/pkg.go.dev\/github.com\/Azure\/azure-sdk-for-go\/sdk\">pkg.go.dev<\/a> or view the latest source code in the <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\">Azure SDK for Go repository<\/a>. You can also find a list of the latest modules on our <a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/latest\/go.html\">Azure SDK Releases<\/a> page.<\/p>\n<h2>Overview of client modules<\/h2>\n<h3>Azure Core<\/h3>\n<p>The <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/azcore#readme\">Azure Core client module for Go<\/a> provides a set of common interfaces and types for the Go SDK client modules. It&#8217;s typically installed as a client module dependency.<\/p>\n<h3>Azure Identity<\/h3>\n<p>The <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/azidentity#readme\">Azure Identity client module for Go<\/a> provides authentication support across the Azure SDK using OAuth authentication with Azure Active Directory. It offers various credential types for authenticating Azure-hosted applications, service principals, and users.<\/p>\n<h3>Azure Tables<\/h3>\n<p>Azure Tables is a NoSQL data storage service that can be accessed via authenticated HTTP or HTTPS calls. The <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/data\/aztables#readme\">Azure Tables client module for Go<\/a> can be used to access an Azure Storage or Cosmos DB account. For more information, see <a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/announcing-the-preview-release-for-azure-tables-for-go\/\">Announcing the Preview Release for Azure Tables for Go<\/a>.<\/p>\n<h3>Azure Key Vault<\/h3>\n<p>The Azure SDK for Go includes support for Key Vault&#8217;s Keys and Secrets. The <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/keyvault\/azkeys#readme\">Azure Key Vault Keys client module for Go<\/a> provides cryptographic key management. More specifically, the module allows you to create, store, and control access to the keys used to encrypt your data. The <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/keyvault\/azsecrets#readme\">Azure Key Vault Secrets client module for Go<\/a> helps securely manage secrets, such as tokens and API keys.<\/p>\n<h3>Azure Blob Storage<\/h3>\n<p>The <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/storage\/azblob#readme\">Azure Blob Storage client module for Go<\/a> allows your application to access Azure Storage accounts, including the containers within those storage accounts and the blobs within those containers. Azure Blob Storage enables you to store massive amounts of unstructured data. For an overview on storage accounts, containers, and blobs, check out this <a href=\"https:\/\/docs.microsoft.com\/azure\/storage\/blobs\/storage-blobs-introduction\">Introduction to Azure Blob Storage<\/a>.<\/p>\n<h3>Azure Cosmos DB<\/h3>\n<p>Azure Cosmos DB is a globally distributed, NoSQL multi-model database service. The <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/data\/azcosmos#readme\">Azure Cosmos DB client module for Go<\/a> allows your application to connect to Azure Cosmos DB. You can create Cosmos clients, databases within those clients, containers within those databases, and do CRUD operations on the items in those containers.<\/p>\n<h3>Azure Service Bus<\/h3>\n<p>The <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/messaging\/azservicebus#readme\">Azure Service Bus client module for Go<\/a> allows your application to send and receive messages using Azure Service Bus. Your application can <em>send messages<\/em> to a Queue or Topic and can <em>receive messages<\/em> from a Queue or Subscription.<\/p>\n<h2>Overview of management modules<\/h2>\n<p>You can find the latest management modules on our <a href=\"https:\/\/azure.github.io\/azure-sdk\/releases\/latest\/mgmt\/go.html\">Azure SDK Releases<\/a> page. To get started with a management module, see the corresponding <em>README.md<\/em> file in the Azure SDK for Go repository&#8217;s <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/tree\/main\/sdk\/resourcemanager\"><code>resourcemanager<\/code> folder<\/a>.<\/p>\n<h2>Feedback<\/h2>\n<p>We hope you enjoy using the Azure SDK for Go, and we always welcome your feedback. For feature requests, bug reports, or general support, <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\/issues\/new\/choose\">open an issue<\/a> in the Azure SDK for Go repository. For more information on how we triage issues, see <a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/github-issue-support-process\/\">Azure SDK GitHub Issue Support Process<\/a>.<\/p>\n<p><!-- FOOTER: DO NOT EDIT OR REMOVE --><\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/aka.ms\/azsdk\/releases\" target=\"_blank\">Azure SDK Releases<\/a><\/div><\/p>\n<h2>Azure SDK Blog Contributions<\/h2>\n<p>Thanks for reading this Azure SDK blog post. We hope you learned something new, and we welcome you to share the post. We&#8217;re open to Azure SDK blog contributions from our readers. To get started, contact us at <a href=\"mailto:azsdkblog@microsoft.com\">azsdkblog@microsoft.com<\/a> with your idea, and we&#8217;ll set you up as a guest blogger.<\/p>\n<ul>\n<li>Azure SDK Website: <a href=\"https:\/\/aka.ms\/azsdk\">aka.ms\/azsdk<\/a><\/li>\n<li>Azure SDK Intro (3-minute video): <a href=\"https:\/\/aka.ms\/azsdk\/intro\">aka.ms\/azsdk\/intro<\/a><\/li>\n<li>Azure SDK Intro Deck (PowerPoint deck): <a href=\"https:\/\/aka.ms\/azsdk\/intro\/deck\">aka.ms\/azsdk\/intro\/deck<\/a><\/li>\n<li>Azure SDK Releases: <a href=\"https:\/\/aka.ms\/azsdk\/releases\">aka.ms\/azsdk\/releases<\/a><\/li>\n<li>Azure SDK Blog: <a href=\"https:\/\/aka.ms\/azsdk\/blog\">aka.ms\/azsdk\/blog<\/a><\/li>\n<li>Azure SDK Twitter: <a href=\"https:\/\/twitter.com\/AzureSDK\">twitter.com\/AzureSDK<\/a><\/li>\n<li>Azure SDK Design Guidelines: <a href=\"https:\/\/aka.ms\/azsdk\/guide\">aka.ms\/azsdk\/guide<\/a><\/li>\n<li>Azure REST API Guidelines: <a href=\"https:\/\/aka.ms\/azapi\/guidelines\">aka.ms\/azapi\/guidelines<\/a><\/li>\n<li>Azure SDKs &amp; Tools: <a href=\"https:\/\/azure.microsoft.com\/downloads\">azure.microsoft.com\/downloads<\/a><\/li>\n<li>Azure SDK Central Repository: <a href=\"https:\/\/github.com\/azure\/azure-sdk#azure-sdk\">github.com\/azure\/azure-sdk<\/a><\/li>\n<li>Azure SDK for .NET: <a href=\"https:\/\/github.com\/azure\/azure-sdk-for-net\">github.com\/azure\/azure-sdk-for-net<\/a><\/li>\n<li>Azure SDK for Java: <a href=\"https:\/\/github.com\/azure\/azure-sdk-for-java\">github.com\/azure\/azure-sdk-for-java<\/a><\/li>\n<li>Azure SDK for Python: <a href=\"https:\/\/github.com\/azure\/azure-sdk-for-python\">github.com\/azure\/azure-sdk-for-python<\/a><\/li>\n<li>Azure SDK for JavaScript\/TypeScript: <a href=\"https:\/\/github.com\/azure\/azure-sdk-for-js\">github.com\/azure\/azure-sdk-for-js<\/a><\/li>\n<li>Azure SDK for Android: <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-android\">github.com\/Azure\/azure-sdk-for-android<\/a><\/li>\n<li>Azure SDK for iOS: <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-ios\">github.com\/Azure\/azure-sdk-for-ios<\/a><\/li>\n<li>Azure SDK for Go: <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-go\">github.com\/Azure\/azure-sdk-for-go<\/a><\/li>\n<li>Azure SDK for C: <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-c\">github.com\/Azure\/azure-sdk-for-c<\/a><\/li>\n<li>Azure SDK for C++: <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-cpp\">github.com\/Azure\/azure-sdk-for-cpp<\/a><\/li>\n<\/ul>\n<p><!-- FOOTER: DO NOT EDIT OR REMOVE --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Azure SDK for Go is growing! In this post, we&#8217;ll provide an overview of the latest client and management modules for Go.<\/p>\n","protected":false},"author":77609,"featured_media":1733,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[750,810,811],"class_list":["post-1726","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-sdk","tag-azure-sdk","tag-go","tag-golang"],"acf":[],"blog_post_summary":"<p>The Azure SDK for Go is growing! In this post, we&#8217;ll provide an overview of the latest client and management modules for Go.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/1726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/users\/77609"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/comments?post=1726"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/1726\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media\/1733"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media?parent=1726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/categories?post=1726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/tags?post=1726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}