Skip to content

This repository is for active development of the Azure SDK for Go. For consumers of the SDK we recommend visiting our public developer docs at:

License

Notifications You must be signed in to change notification settings

gaoyp830/azure-sdk-for-go

 
 

Repository files navigation

Azure SDK for Go

godoc Build Status

This repository is for active development of the Azure SDK for Go. For consumers of the SDK you can follow the links below to visit the documentation you are interested in

Getting Started

To get started with a module, see the README.md file located in the module's project folder. You can find these module folders grouped by service in the /sdk directory.

NOTE: Go 1.18 or later is required. You could download and install the latest version of Go from here. It will replace the existing Go on your machine. If you want to install multiple Go versions on the same machine, you could refer this doc.

Packages available

Each service might have a number of modules available from each of the following categories:

Client: New Releases

We have a new wave of packages that are being announced as stable and several that are currently released in beta. These modules allow you to use, consume, and interact with existing resources, for example, uploading a blob. They also share a number of core functionalities including retries, logging, transport protocols, authentication protocols, etc. that can be found in the azcore module. You can learn more about these modules by reading the Azure SDK Go guidelines.

You can find the most up-to-date list of new modules on our latest page.

NOTE: If you need to ensure your code is ready for production use one of the stable, non-beta modules.

Client: Previous Versions

The last stable versions of packages that have been provided for usage with Azure are production-ready. These packages might not implement the Azure Go SDK guidelines or have the same feature set as the New releases, however they do offer a wider coverage of services.

Previous Go SDK packages are located under /services folder, and you can see the full list on this page.

Management: New Releases

A new set of management modules that follow the Azure SDK Design Guidelines for Go are available at sdk/resourcemanagement. These new modules provide a number of core capabilities that are shared amongst all Azure SDKs, including the intuitive Azure Identity module, an HTTP Pipeline with custom policies, error-handling, distributed tracing, and much more.

To get started, please follow the quickstart guide here. To see the benefits of migrating and how to migrate to the new modules, please visit the migration guide.

You can find the most up to date list of all of the new packages on our page

NOTE: If you need to ensure your code is ready for production use one of the stable, non-beta modules. Also, if you are experiencing authentication issues with the management modules after upgrading certain packages, it's possible that you upgraded to the new versions of SDK without changing the authentication code. Please refer to the migration guide for proper instructions.

Management: Previous Versions

For a complete list of management modules which enable you to provision and manage Azure resources, please check here. They might not have the same feature set as the new releases but they do offer wider coverage of services.

Previous packages are located under /services folder, and you can see the full list on this page.

Other Azure Go Packages

Azure provides several other packages for using services from Go, listed below. These packages do NOT follow the New Release guidelines.

Service Import Path/Repo
Storage - Files github.com/Azure/azure-storage-file-go
Storage - Queues github.com/Azure/azure-storage-queue-go
Event Hubs github.com/Azure/azure-event-hubs-go
Application Insights github.com/Microsoft/ApplicationInsights-go

Samples

More code samples for using the management modules for Go SDK can be found in the following locations

Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) [email protected]. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Need help?

Community

Contribute

See CONTRIBUTING.md.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

About

This repository is for active development of the Azure SDK for Go. For consumers of the SDK we recommend visiting our public developer docs at:

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 91.2%
  • PowerShell 8.3%
  • HTML 0.1%
  • Bicep 0.1%
  • JavaScript 0.1%
  • CSS 0.1%
  • Other 0.1%