This repository hosts Quarkus extensions for a selection of popular Azure Services and a few common extensions that are used by the Azure services extensions or can be used independently. All extensions support native executable build.
The official documentation of extensions for Azure services is in Quarkiverse at Quarkus Azure Services Extensions. Each extension is functionally independent of the others, but they can be used together.
Here's the current selection of Quarkus Azure Services:
- Quarkus Azure App Configuration Extension: Azure App Configuration is a fast, scalable parameter storage for app configuration.
- Quarkus Azure Cosmos DB Extension: Azure Cosmos DB is a fully managed NoSQL, relational, and vector database.
- Quarkus Azure Key Vault Extension: Azure Key Vault is a cloud service for securely storing and accessing secrets.
- Quarkus Azure Blob Storage Extension: Azure Blob Storage is a massively scalable and secure object storage for cloud-native workloads, archives, data lakes, high-performance computing, and machine learning.
- Quarkus Azure Event Hubs Extension: Azure Event Hubs is a big data streaming platform and event ingestion service. It can receive and process millions of events per second.
- Quarkus Opentelemetry Exporter for Microsoft Azure enables Azure Application Insights telemetry for Quarkus native applications
Besides extensions for specific Azure services, there are some common extensions that are used by the Azure services extensions or can be used independently as well:
- Azure Identity Extension: This extension provides a way to authenticate with Azure services using the azure-identity library.
- Azure Core HTTP Vert.x: This extension provides the Vert.x HTTP client plugin using the azure-core-http-vertx library.
- Azure Core Extension: This extension provides core types for Azure Java clients using the azure-core library.
- Jackson Dataformat XML Extension: This extension provides a data format extension for Jackson to offer alternative support for serializing POJOs as XML and deserializing XML as pojos using the jackson-dataformat-xml library.
Example applications can be found inside the integration-tests folder:
- Azure App Configuration sample: REST endpoint using the Quarkus extension to get the configuration stored in Azure App Configuration.
- Azure Cosmos DB sample: REST endpoint using the Quarkus extension to implement CRUD operations in Azure Cosmos DB.
- Azure Key Vault sample: REST endpoint using the Quarkus extension
to:
- Create a secret via SecretClient and SecretAsyncClient in Azure Key Vault.
- Load a secret from Azure Key Vault as property using
ConfigProperty
.
- Azure Blob Storage sample: REST endpoint using the Quarkus extension to upload and download files to/from Azure Blob Storage.
- Azure Event Hubs sample: REST endpoint using the Quarkus extension to send/receive data to/from Azure Event Hubs.
Follow this wiki to release a new version of the extensions. You can reference the following PRs as examples:
- Release a new version: #316.
- Register new extensions in catalog: quarkusio/quarkus-extension-catalog#64. See Publish your extension in registry.quarkus.io for more information.
Contributions are always welcome, but better create an issue to discuss them prior to any contributions.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!