azure-mgmt-apimanagement-py

安装量: 40
排名: #17811

安装

npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill azure-mgmt-apimanagement-py

Azure API Management SDK for Python Manage Azure API Management services, APIs, products, and policies. Installation pip install azure-mgmt-apimanagement pip install azure-identity Environment Variables AZURE_SUBSCRIPTION_ID = your-subscription-id Authentication from azure . identity import DefaultAzureCredential from azure . mgmt . apimanagement import ApiManagementClient import os client = ApiManagementClient ( credential = DefaultAzureCredential ( ) , subscription_id = os . environ [ "AZURE_SUBSCRIPTION_ID" ] ) Create APIM Service from azure . mgmt . apimanagement . models import ( ApiManagementServiceResource , ApiManagementServiceSkuProperties , SkuType ) service = client . api_management_service . begin_create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , parameters = ApiManagementServiceResource ( location = "eastus" , publisher_email = "admin@example.com" , publisher_name = "My Organization" , sku = ApiManagementServiceSkuProperties ( name = SkuType . DEVELOPER , capacity = 1 ) ) ) . result ( ) print ( f"Created APIM: { service . name } " ) Import API from OpenAPI from azure . mgmt . apimanagement . models import ( ApiCreateOrUpdateParameter , ContentFormat , Protocol ) api = client . api . begin_create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , api_id = "my-api" , parameters = ApiCreateOrUpdateParameter ( display_name = "My API" , path = "myapi" , protocols = [ Protocol . HTTPS ] , format = ContentFormat . OPENAPI_JSON , value = '{"openapi": "3.0.0", "info": {"title": "My API", "version": "1.0"}, "paths": {"/health": {"get": {"responses": {"200": {"description": "OK"}}}}}}' ) ) . result ( ) print ( f"Imported API: { api . display_name } " ) Import API from URL api = client . api . begin_create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , api_id = "petstore" , parameters = ApiCreateOrUpdateParameter ( display_name = "Petstore API" , path = "petstore" , protocols = [ Protocol . HTTPS ] , format = ContentFormat . OPENAPI_LINK , value = "https://petstore.swagger.io/v2/swagger.json" ) ) . result ( ) List APIs apis = client . api . list_by_service ( resource_group_name = "my-resource-group" , service_name = "my-apim" ) for api in apis : print ( f" { api . name } : { api . display_name } - { api . path } " ) Create Product from azure . mgmt . apimanagement . models import ProductContract product = client . product . create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , product_id = "premium" , parameters = ProductContract ( display_name = "Premium" , description = "Premium tier with unlimited access" , subscription_required = True , approval_required = False , state = "published" ) ) print ( f"Created product: { product . display_name } " ) Add API to Product client . product_api . create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , product_id = "premium" , api_id = "my-api" ) Create Subscription from azure . mgmt . apimanagement . models import SubscriptionCreateParameters subscription = client . subscription . create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , sid = "my-subscription" , parameters = SubscriptionCreateParameters ( display_name = "My Subscription" , scope = f"/products/premium" , state = "active" ) ) print ( f"Subscription key: { subscription . primary_key } " ) Set API Policy from azure . mgmt . apimanagement . models import PolicyContract policy_xml = """ CustomValue """ client . api_policy . create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , api_id = "my-api" , policy_id = "policy" , parameters = PolicyContract ( value = policy_xml , format = "xml" ) ) Create Named Value (Secret) from azure . mgmt . apimanagement . models import NamedValueCreateContract named_value = client . named_value . begin_create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , named_value_id = "backend-api-key" , parameters = NamedValueCreateContract ( display_name = "Backend API Key" , value = "secret-key-value" , secret = True ) ) . result ( ) Create Backend from azure . mgmt . apimanagement . models import BackendContract backend = client . backend . create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , backend_id = "my-backend" , parameters = BackendContract ( url = "https://api.backend.example.com" , protocol = "http" , description = "My backend service" ) ) Create User from azure . mgmt . apimanagement . models import UserCreateParameters user = client . user . create_or_update ( resource_group_name = "my-resource-group" , service_name = "my-apim" , user_id = "newuser" , parameters = UserCreateParameters ( email = "user@example.com" , first_name = "John" , last_name = "Doe" ) ) Operation Groups Group Purpose api_management_service APIM instance management api API operations api_operation API operation details api_policy API-level policies product Product management product_api Product-API associations subscription Subscription management user User management named_value Named values/secrets backend Backend services certificate Certificates gateway Self-hosted gateways Best Practices Use named values for secrets and configuration Apply policies at appropriate scopes (global, product, API, operation) Use products to bundle APIs and manage access Enable Application Insights for monitoring Use backends to abstract backend services Version your APIs using APIM's versioning features When to Use This skill is applicable to execute the workflow or actions described in the overview.

返回排行榜