df540f2dd7
* remove pkg.go.dev link in readme * fix changelog |
||
---|---|---|
.. | ||
fake | ||
CHANGELOG.md | ||
LICENSE.txt | ||
README.md | ||
autorest.md | ||
build.go | ||
ci.yml | ||
client_factory.go | ||
constants.go | ||
go.mod | ||
go.sum | ||
models.go | ||
models_serde.go | ||
offerings_client.go | ||
offerings_client_example_test.go | ||
operations_client.go | ||
operations_client_example_test.go | ||
options.go | ||
responses.go | ||
time_rfc3339.go | ||
workspace_client.go | ||
workspace_client_example_test.go | ||
workspaces_client.go | ||
workspaces_client_example_test.go |
README.md
Azure Quantum Module for Go
The armquantum
module provides operations for working with Azure Quantum.
Getting started
Prerequisites
- an Azure subscription
- Go 1.18 or above (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.)
Install the package
This project uses Go modules for versioning and dependency management.
Install the Azure Quantum module:
go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/quantum/armquantum
Authorization
When creating a client, you will need to provide a credential for authenticating with Azure Quantum. The azidentity
module provides facilities for various ways of authenticating with Azure including client/secret, certificate, managed identity, and more.
cred, err := azidentity.NewDefaultAzureCredential(nil)
For more information on authentication, please see the documentation for azidentity
at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity.
Client Factory
Azure Quantum module consists of one or more clients. We provide a client factory which could be used to create any client in this module.
clientFactory, err := armquantum.NewClientFactory(<subscription ID>, cred, nil)
You can use ClientOptions
in package github.com/Azure/azure-sdk-for-go/sdk/azcore/arm
to set endpoint to connect with public and sovereign clouds as well as Azure Stack. For more information, please see the documentation for azcore
at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azcore.
options := arm.ClientOptions {
ClientOptions: azcore.ClientOptions {
Cloud: cloud.AzureChina,
},
}
clientFactory, err := armquantum.NewClientFactory(<subscription ID>, cred, &options)
Clients
A client groups a set of related APIs, providing access to its functionality. Create one or more clients to access the APIs you require using client factory.
client := clientFactory.NewOfferingsClient()
Fakes
The fake package contains types used for constructing in-memory fake servers used in unit tests. This allows writing tests to cover various success/error conditions without the need for connecting to a live service.
Please see https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/samples/fakes for details and examples on how to use fakes.
Provide Feedback
If you encounter bugs or have suggestions, please
open an issue and assign the Quantum
label.
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.