Skip to main content

azure-mgmt-apicenter-py

Azure API Center Management SDK for Python. Use for managing API inventory, metadata, and governance across your organization. Triggers: "azure-mgmt-apicenter", "ApiCenterMgmtClient", "API Center", "API inventory", "API governance".

الانتقال إلى التثبيت

معلومات المصدر

المستودع
LongLeo287/OmniClaw
آخر نشاط في المصدر
١١ أبريل ٢٠٢٦ في ٠٩:٠٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٧
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
5 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
azure_mgmt_apicenter_py
description
Azure API Center Management SDK for Python. Use for managing API inventory, metadata, and governance across your organization. Triggers: "azure-mgmt-apicenter", "ApiCenterMgmtClient", "API Center", "API inventory", "API governance".
license
MIT
metadata
{"author":"Microsoft","version":"1.0.0","package":"azure-mgmt-apicenter"}
# 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
عرض على GitHub