Skip to main content

azure-mgmt-apicenter-py

"Implement — Azure API Center Management SDK for Python. Use for managing API inventory, metadata, and governance across your"

Informations de source

Dépôt
thiagofernandes1987-create/APEX
Dernière activité de la source
18 avril 2026 à 09:35
Langue détectée de SKILL.md
anglais
Étoiles
2
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
azure-mgmt-apicenter-py
description
"Implement — Azure API Center Management SDK for Python. Use for managing API inventory, metadata, and governance across your"
# Azure API Center Management SDK for Python Manage API inventory, metadata, and governance in Azure API Center. ## Installation ```bash pip install azure-mgmt-apicenter pip install azure-identity ``` ## Environment Variables ```bash AZURE_SUBSCRIPTION_ID=your-subscription-id ``` ## Authentication ```python from azure.identity import DefaultAzureCredential from azure.mgmt.apicenter import ApiCenterMgmtClient import os client = ApiCenterMgmtClient( credential=DefaultAzureCredential(), subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"] ) ``` ## Create API Center ```python from azure.mgmt.apicenter.models import Service api_center = client.services.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", resource=Service( location="eastus", tags={"environment": "production"} ) ) print(f"Created API Center: {api_center.name}") ``` ## List API Centers ```python api_centers = client.services.list_by_subscription() for api_center in api_centers: print(f"{api_center.name} - {api_center.location}") ``` ## Register an API ```python from azure.mgmt.apicenter.models import Api, ApiKind, LifecycleStage api = client.apis.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", resource=Api( title="My API", description="A sample API for demonstration", kind=ApiKind.REST, lifecycle_stage=LifecycleStage.PRODUCTION, terms_of_service={"url": "https://example.com/terms"}, contacts=[{"name": "API Team", "email": "api-team@example.com"}] ) ) print(f"Registered API: {api.title}") ``` ## Create API Version ```python from azure.mgmt.apicenter.models import ApiVersion, LifecycleStage version = client.api_versions.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", version_name="v1", resource=ApiVersion( title="Version 1.0", lifecycle_stage=LifecycleStage.PRODUCTION ) ) print(f"Created version: {version.title}") ``` ## Add API Definition ```python from azure.mgmt.apicenter.models import ApiDefinition definition = client.api_definitions.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", version_name="v1", definition_name="openapi", resource=ApiDefinition( title="OpenAPI Definition", description="OpenAPI 3.0 specification" ) ) ``` ## Import API Specification ```python from azure.mgmt.apicenter.models import ApiSpecImportRequest, ApiSpecImportSourceFormat # Import from inline content client.api_definitions.import_specification( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", version_name="v1", definition_name="openapi", body=ApiSpecImportRequest( format=ApiSpecImportSourceFormat.INLINE, value='{"openapi": "3.0.0", "info": {"title": "My API", "version": "1.0"}, "paths": {}}' ) ) ``` ## List APIs ```python apis = client.apis.list( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default" ) for api in apis: print(f"{api.name}: {api.title} ({api.kind})") ``` ## Create Environment ```python from azure.mgmt.apicenter.models import Environment, EnvironmentKind environment = client.environments.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", environment_name="production", resource=Environment( title="Production", description="Production environment", kind=EnvironmentKind.PRODUCTION, server={"type": "Azure API Management", "management_portal_uri": ["https://portal.azure.com"]} ) ) ``` ## Create Deployment ```python from azure.mgmt.apicenter.models import Deployment, DeploymentState deployment = client.deployments.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", workspace_name="default", api_name="my-api", deployment_name="prod-deployment", resource=Deployment( title="Production Deployment", description="Deployed to production APIM", environment_id="/workspaces/default/environments/production", definition_id="/workspaces/default/apis/my-api/versions/v1/definitions/openapi", state=DeploymentState.ACTIVE, server={"runtime_uri": ["https://api.example.com"]} ) ) ``` ## Define Custom Metadata ```python from azure.mgmt.apicenter.models import MetadataSchema metadata = client.metadata_schemas.create_or_update( resource_group_name="my-resource-group", service_name="my-api-center", metadata_schema_name="data-classification", resource=MetadataSchema( schema='{"type": "string", "title": "Data Classification", "enum": ["public", "internal", "confidential"]}' ) ) ``` ## Client Types | Client | Purpose | |--------|---------| | `ApiCenterMgmtClient` | Main client for all operations | ## Operations | Operation Group | Purpose | |----------------|---------| | `services` | API Center service management | | `workspaces` | Workspace management | | `apis` | API registration and management | | `api_versions` | API version management | | `api_definitions` | API definition management | | `deployments` | Deployment tracking | | `environments` | Environment management | | `metadata_schemas` | Custom metadata definitions | ## Best Practices 1. **Use workspaces** to organize APIs by team or domain 2. **Define metadata schemas** for consistent governance 3. **Track deployments** to understand where APIs are running 4. **Import specifications** to enable API analysis and linting 5. **Use lifecycle stages** to track API maturity 6. **Add contacts** for API ownership and support ## When to Use This skill is applicable to execute the workflow or actions described in the overview. ## Diff History - **v00.33.0**: Ingested from antigravity-awesome-skills community repo --- ## Why This Skill Exists Implement — Azure API Center Management SDK for Python. Use for managing API inventory, metadata, and governance across your <!-- SR_40: auto-generated from frontmatter `purpose`/`description` (OPP-Phase3). Expand with domain-specific rationale. --> ## What If Fails - condition: Código não disponível para análise <!-- SR_40: auto-generated from frontmatter `what_if_fails` (OPP-Phase3). -->
Voir sur GitHub