Azure / Azure/apiops

[FEATURE REQ] Add support for APIM Schema extraction in APIOps

Aperta
#868 3 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
C#
Stelle
448
Fork
247
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### Please describe the feature.

# Feature Request: Add support for APIM Schema extraction in APIOps

## Summary
APIOps currently does not extract API Management Schemas (Microsoft.ApiManagement/service/schemas).
This prevents full‑fidelity environment replication and breaks parity with the APIM REST API and ARM/Bicep resource model.
I believe this has been requested for many years, but there has been no visible progress, and there is no documentation under the Limitations section regarding schema extraction.

This request is to add schema extraction + deployment support to the APIOps Extractor and Publisher
---

## Problem
APIM schemas are first‑class ARM resources and are commonly used for:

- XML/JSON schema validation
- Reusable schema references across multiple APIs
- Legacy SOAP/WSDL transformations
- Contract‑driven integration patterns

However, APIOps does not extract or publish schemas. This results in:

- Incomplete environment backups
- Inconsistent deployments between environments
- Manual schema management outside the APIOps workflow
- Drift between APIM instances

This is a gap compared to other APIM resource types already supported by APIOps.

---

## Requested Enhancement

### 1. Schema Extraction
Extract all schemas under:

/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.ApiManagement/service/{service}/schemas

Including:

- Schema metadata
- Schema content (XML, JSON, WSDL, XSD)
- Schema type (xml, json, wsdl, xsd)
- Associated API references (if applicable)

### 2. Schema Deployment
Publisher should deploy schemas before APIs that reference them.

### 3. Folder Structure Proposal
Suggested structure (aligned with existing APIOps conventions):

schemas/
{schemaName}/
schema.json
content.xml (or .json)

---

## Why This Matters
- APIM schemas are required for many enterprise API governance patterns.
- Without schema extraction, APIOps cannot be used as a complete DevOps solution for APIM.
- Manual schema management introduces drift and breaks reproducibility.
- The APIM REST API already supports full schema CRUD operations, so APIOps can implement this without platform limitations.

---

## References
APIM REST API – Schemas:
https://learn.microsoft.com/rest/api/apimanagement/2023-05-01-preview/schema

ARM Resource Type:
Microsoft.ApiManagement/service/schemas

---

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia leggendo le aree APIOps Extractor e Publisher insieme all’APIM Schemas REST API indicata e al modello di risorse Microsoft.ApiManagement/service/schemas. Il lavoro è completato quando vengono estratti i metadati e il contenuto degli schemi, gli schemi vengono distribuiti prima di fare riferimento alle API e la funzionalità viene documentata in Limitations, se appropriato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
azure, csharp
Ambito
api, cloud
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.