创建新的或更新 API 管理服务实例的现有指定 API。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?api-version=2024-05-01
URI 参数
名称 |
在 |
必需 |
类型 |
说明 |
apiId
|
path |
True
|
string
minLength: 1 maxLength: 256 pattern: ^[^*#&+:<>?]+$
|
API 修订标识符。 当前 API 管理服务实例中必须是唯一的。 非当前修订有;rev=n 作为后缀,其中 n 是修订号。
|
resourceGroupName
|
path |
True
|
string
minLength: 1 maxLength: 90
|
资源组的名称。 名称不区分大小写。
|
serviceName
|
path |
True
|
string
minLength: 1 maxLength: 50 pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
API 管理服务的名称。
|
subscriptionId
|
path |
True
|
string
(uuid)
|
目标订阅的 ID。 该值必须是 UUID。
|
api-version
|
query |
True
|
string
minLength: 1
|
用于此作的 API 版本。
|
名称 |
必需 |
类型 |
说明 |
If-Match
|
|
string
|
实体的 ETag。 创建实体时不需要,但在更新实体时是必需的。
|
请求正文
名称 |
必需 |
类型 |
说明 |
properties.path
|
True
|
string
minLength: 0 maxLength: 400
|
相对 URL 唯一标识此 API 及其所有资源路径在 API 管理服务实例中。 它追加到服务实例创建期间指定的 API 终结点基 URL,以形成此 API 的公共 URL。
|
apiRevision
|
|
string
minLength: 1 maxLength: 100
|
描述 API 的修订。 如果未提供任何值,则会创建默认修订版 1
|
apiRevisionDescription
|
|
string
maxLength: 256
|
API 修订的说明。
|
apiVersion
|
|
string
maxLength: 100
|
指示 API 的版本标识符(如果 API 已进行版本控制)
|
apiVersionDescription
|
|
string
maxLength: 256
|
API 版本的说明。
|
apiVersionSetId
|
|
string
|
相关 ApiVersionSet 的资源标识符。
|
authenticationSettings
|
|
AuthenticationSettingsContract
|
此 API 中包含的身份验证设置的集合。
|
contact
|
|
ApiContactInformation
|
API 的联系信息。
|
description
|
|
string
|
API 的说明。 可能包括 HTML 格式标记。
|
isCurrent
|
|
boolean
|
指示 API 修订是否为当前 API 修订版。
|
license
|
|
ApiLicenseInformation
|
API 的许可证信息。
|
properties.apiType
|
|
SoapApiType
|
要创建的 API 的类型。
-
http 创建 REST API
-
soap 创建 SOAP 直通 API
-
websocket 创建 websocket API
-
graphql 创建 GraphQL API。
将来可以添加新类型。
|
properties.apiVersionSet
|
|
ApiVersionSetContractDetails
|
版本集详细信息
|
properties.displayName
|
|
string
minLength: 1 maxLength: 300
|
API 名称。 长度必须为 1 到 300 个字符。
|
properties.format
|
|
ContentFormat
|
导入 API 的内容的格式。 将来可以添加新格式
|
properties.protocols
|
|
Protocol[]
|
描述可以调用此 API 中的作的协议。
|
properties.serviceUrl
|
|
string
minLength: 0 maxLength: 2000
|
实现此 API 的后端服务的绝对 URL。 长度不能超过 2000 个字符。
|
properties.sourceApiId
|
|
string
|
源 API 的 API 标识符。
|
properties.translateRequiredQueryParameters
|
|
TranslateRequiredQueryParametersConduct
|
将所需查询参数转换为模板参数的策略。 默认情况下,值为“template”。 可能的值:“template”、“query”
|
properties.value
|
|
string
|
导入 API 时的内容值。
|
properties.wsdlSelector
|
|
WsdlSelector
|
将 WSDL 导入限制为文档子集的条件。
|
subscriptionKeyParameterNames
|
|
SubscriptionKeyParameterNamesContract
|
提供 API 的协议。
|
subscriptionRequired
|
|
boolean
|
指定访问 API 是否需要 API 或产品订阅。
|
termsOfServiceUrl
|
|
string
|
API 服务条款的 URL。 必须采用 URL 格式。
|
type
|
|
ApiType
|
API 的类型。
|
响应
名称 |
类型 |
说明 |
200 OK
|
ApiContract
|
API 已成功更新。
标头
- ETag: string
- ___location: string
- Azure-AsyncOperation: string
|
201 Created
|
ApiContract
|
已成功创建 API。
标头
- ETag: string
- ___location: string
- Azure-AsyncOperation: string
|
Other Status Codes
|
ErrorResponse
|
描述作失败的原因的错误响应。
|
安全性
azure_auth
Azure Active Directory OAuth2 Flow。
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
名称 |
说明 |
user_impersonation
|
模拟用户帐户
|
示例
ApiManagementCreateApi
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01
{
"properties": {
"description": "apidescription5200",
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
}
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"displayName": "apiname1463",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"https",
"http"
]
}
}
import com.azure.resourcemanager.apimanagement.models.AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.OAuth2AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import com.azure.resourcemanager.apimanagement.models.SubscriptionKeyParameterNamesContract;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApi.json
*/
/**
* Sample code: ApiManagementCreateApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApi(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("tempgroup").withExistingService("rg1", "apimService1").withDisplayName("apiname1463")
.withServiceUrl("http://newechoapi.cloudapp.net/api").withPath("newapiPath")
.withProtocols(Arrays.asList(Protocol.HTTPS, Protocol.HTTP)).withDescription("apidescription5200")
.withAuthenticationSettings(
new AuthenticationSettingsContract().withOAuth2(new OAuth2AuthenticationSettingsContract()
.withAuthorizationServerId("fakeTokenPlaceholder").withScope("oauth2scope2580")))
.withSubscriptionKeyParameterNames(
new SubscriptionKeyParameterNamesContract().withHeaderProperty("header4520").withQuery("query3037"))
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"authenticationSettings": {
"oAuth2": {"authorizationServerId": "authorizationServerId2283", "scope": "oauth2scope2580"}
},
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "newapiPath",
"protocols": ["https", "http"],
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"subscriptionKeyParameterNames": {"header": "header4520", "query": "query3037"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApi() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("apidescription5200"),
AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
OAuth2: &armapimanagement.OAuth2AuthenticationSettingsContract{
AuthorizationServerID: to.Ptr("authorizationServerId2283"),
Scope: to.Ptr("oauth2scope2580"),
},
},
SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
Header: to.Ptr("header4520"),
Query: to.Ptr("query3037"),
},
Path: to.Ptr("newapiPath"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTPS),
to.Ptr(armapimanagement.ProtocolHTTP)},
ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
// OAuth2: &armapimanagement.OAuth2AuthenticationSettingsContract{
// AuthorizationServerID: to.Ptr("authorizationServerId2283"),
// Scope: to.Ptr("oauth2scope2580"),
// },
// OAuth2AuthenticationSettings: []*armapimanagement.OAuth2AuthenticationSettingsContract{
// {
// AuthorizationServerID: to.Ptr("authorizationServerId2283"),
// Scope: to.Ptr("oauth2scope2580"),
// }},
// },
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("header4520"),
// Query: to.Ptr("query3037"),
// },
// Path: to.Ptr("newapiPath"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApi.json
*/
async function apiManagementCreateApi() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
path: "newapiPath",
description: "apidescription5200",
authenticationSettings: {
oAuth2: {
authorizationServerId: "authorizationServerId2283",
scope: "oauth2scope2580",
},
},
displayName: "apiname1463",
protocols: ["https", "http"],
serviceUrl: "http://newechoapi.cloudapp.net/api",
subscriptionKeyParameterNames: { header: "header4520", query: "query3037" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApi.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "tempgroup";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "apidescription5200",
AuthenticationSettings = new AuthenticationSettingsContract
{
OAuth2 = new OAuth2AuthenticationSettingsContract
{
AuthorizationServerId = "authorizationServerId2283",
Scope = "oauth2scope2580",
},
},
SubscriptionKeyParameterNames = new SubscriptionKeyParameterNamesContract
{
Header = "header4520",
Query = "query3037",
},
DisplayName = "apiname1463",
ServiceLink = "http://newechoapi.cloudapp.net/api",
Path = "newapiPath",
Protocols = { ApiOperationInvokableProtocol.Https, ApiOperationInvokableProtocol.Http },
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiClone
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api2?api-version=2024-05-01
{
"properties": {
"displayName": "Echo API2",
"description": "Copy of Existing Echo Api including Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"isCurrent": true,
"sourceApiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001"
}
}
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiClone.json
*/
/**
* Sample code: ApiManagementCreateApiClone.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void
apiManagementCreateApiClone(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("echo-api2").withExistingService("rg1", "apimService1").withSourceApiId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001")
.withDisplayName("Echo API2").withServiceUrl("http://echoapi.cloudapp.net/api").withPath("echo2")
.withProtocols(Arrays.asList(Protocol.HTTP, Protocol.HTTPS))
.withDescription("Copy of Existing Echo Api including Operations.").withIsCurrent(true)
.withSubscriptionRequired(true).create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_clone.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="echo-api2",
parameters={
"properties": {
"description": "Copy of Existing Echo Api including Operations.",
"displayName": "Echo API2",
"isCurrent": True,
"path": "echo2",
"protocols": ["http", "https"],
"serviceUrl": "http://echoapi.cloudapp.net/api",
"sourceApiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001",
"subscriptionRequired": True,
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiClone.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiClone.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiClone() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "echo-api2", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("Copy of Existing Echo Api including Operations."),
IsCurrent: to.Ptr(true),
SubscriptionRequired: to.Ptr(true),
Path: to.Ptr("echo2"),
DisplayName: to.Ptr("Echo API2"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTP),
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("http://echoapi.cloudapp.net/api"),
SourceAPIID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("echoapi2"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("Copy of Existing Echo Api including Operations."),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// SubscriptionRequired: to.Ptr(true),
// Path: to.Ptr("echo2"),
// DisplayName: to.Ptr("Echo API2"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://echoapi.cloudapp.net/api"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiClone.json
*/
async function apiManagementCreateApiClone() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "echo-api2";
const parameters = {
path: "echo2",
description: "Copy of Existing Echo Api including Operations.",
displayName: "Echo API2",
isCurrent: true,
protocols: ["http", "https"],
serviceUrl: "http://echoapi.cloudapp.net/api",
sourceApiId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001",
subscriptionRequired: true,
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiClone.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "echo-api2";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "Copy of Existing Echo Api including Operations.",
IsCurrent = true,
IsSubscriptionRequired = true,
SourceApiId = new ResourceIdentifier("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001"),
DisplayName = "Echo API2",
ServiceLink = "http://echoapi.cloudapp.net/api",
Path = "echo2",
Protocols = { ApiOperationInvokableProtocol.Http, ApiOperationInvokableProtocol.Https },
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echoapi2",
"properties": {
"displayName": "Echo API2",
"apiRevision": "1",
"description": "Copy of Existing Echo Api including Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echoapi2",
"properties": {
"displayName": "Echo API2",
"apiRevision": "1",
"description": "Copy of Existing Echo Api including Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiNewVersionUsingExistingApi
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3?api-version=2024-05-01
{
"properties": {
"displayName": "Echo API2",
"description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"isCurrent": true,
"apiVersion": "v4",
"sourceApiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath",
"apiVersionSetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"
}
}
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiNewVersionUsingExistingApi.json
*/
/**
* Sample code: ApiManagementCreateApiNewVersionUsingExistingApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiNewVersionUsingExistingApi(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("echoapiv3").withExistingService("rg1", "apimService1").withSourceApiId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath")
.withDisplayName("Echo API2").withServiceUrl("http://echoapi.cloudapp.net/api").withPath("echo2")
.withProtocols(Arrays.asList(Protocol.HTTP, Protocol.HTTPS))
.withDescription("Create Echo API into a new Version using Existing Version Set and Copy all Operations.")
.withApiVersion("v4").withIsCurrent(true)
.withApiVersionSetId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458")
.withSubscriptionRequired(true).create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_new_version_using_existing_api.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="echoapiv3",
parameters={
"properties": {
"apiVersion": "v4",
"apiVersionSetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
"displayName": "Echo API2",
"isCurrent": True,
"path": "echo2",
"protocols": ["http", "https"],
"serviceUrl": "http://echoapi.cloudapp.net/api",
"sourceApiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath",
"subscriptionRequired": True,
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiNewVersionUsingExistingApi() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "echoapiv3", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("Create Echo API into a new Version using Existing Version Set and Copy all Operations."),
APIVersion: to.Ptr("v4"),
APIVersionSetID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"),
IsCurrent: to.Ptr(true),
SubscriptionRequired: to.Ptr(true),
Path: to.Ptr("echo2"),
DisplayName: to.Ptr("Echo API2"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTP),
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("http://echoapi.cloudapp.net/api"),
SourceAPIID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("echoapiv3"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("Create Echo API into a new Version using Existing Version Set and Copy all Operations."),
// APIRevision: to.Ptr("1"),
// APIVersion: to.Ptr("v4"),
// APIVersionSetID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// SubscriptionRequired: to.Ptr(true),
// Path: to.Ptr("echo2"),
// APIVersionSet: &armapimanagement.APIVersionSetContractDetails{
// Name: to.Ptr("Echo API2"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"),
// VersioningScheme: to.Ptr(armapimanagement.APIVersionSetContractDetailsVersioningSchemeSegment),
// },
// DisplayName: to.Ptr("Echo API2"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://echoapi.cloudapp.net/api"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
*/
async function apiManagementCreateApiNewVersionUsingExistingApi() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "echoapiv3";
const parameters = {
path: "echo2",
description:
"Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
apiVersion: "v4",
apiVersionSetId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
displayName: "Echo API2",
isCurrent: true,
protocols: ["http", "https"],
serviceUrl: "http://echoapi.cloudapp.net/api",
sourceApiId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath",
subscriptionRequired: true,
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "echoapiv3";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
ApiVersion = "v4",
IsCurrent = true,
ApiVersionSetId = new ResourceIdentifier("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"),
IsSubscriptionRequired = true,
SourceApiId = new ResourceIdentifier("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath"),
DisplayName = "Echo API2",
ServiceLink = "http://echoapi.cloudapp.net/api",
Path = "echo2",
Protocols = { ApiOperationInvokableProtocol.Http, ApiOperationInvokableProtocol.Https },
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echoapiv3",
"properties": {
"displayName": "Echo API2",
"apiRevision": "1",
"description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"apiVersion": "v4",
"apiVersionSetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"apiVersionSet": {
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"name": "Echo API2",
"versioningScheme": "Segment"
},
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echoapiv3",
"properties": {
"displayName": "Echo API2",
"apiRevision": "1",
"description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/api",
"path": "echo2",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"apiVersion": "v4",
"apiVersionSetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"apiVersionSet": {
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
"name": "Echo API2",
"versioningScheme": "Segment"
},
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiRevisionFromExistingApi
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3?api-version=2024-05-01
{
"properties": {
"path": "echo",
"serviceUrl": "http://echoapi.cloudapp.net/apiv3",
"sourceApiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
"apiRevisionDescription": "Creating a Revision of an existing API"
}
}
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiRevisionFromExistingApi.json
*/
/**
* Sample code: ApiManagementCreateApiRevisionFromExistingApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiRevisionFromExistingApi(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("echo-api;rev=3").withExistingService("rg1", "apimService1").withSourceApiId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api")
.withServiceUrl("http://echoapi.cloudapp.net/apiv3").withPath("echo")
.withApiRevisionDescription("Creating a Revision of an existing API").create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_revision_from_existing_api.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="echo-api;rev=3",
parameters={
"properties": {
"apiRevisionDescription": "Creating a Revision of an existing API",
"path": "echo",
"serviceUrl": "http://echoapi.cloudapp.net/apiv3",
"sourceApiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiRevisionFromExistingApi() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "echo-api;rev=3", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
APIRevisionDescription: to.Ptr("Creating a Revision of an existing API"),
Path: to.Ptr("echo"),
ServiceURL: to.Ptr("http://echoapi.cloudapp.net/apiv3"),
SourceAPIID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("echo-api;rev=3"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3"),
// Properties: &armapimanagement.APIContractProperties{
// APIRevision: to.Ptr("3"),
// APIRevisionDescription: to.Ptr("Creating a Revision of an existing API"),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// SubscriptionRequired: to.Ptr(true),
// Path: to.Ptr("echo"),
// DisplayName: to.Ptr("Echo API"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://echoapi.cloudapp.net/apiv3"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
*/
async function apiManagementCreateApiRevisionFromExistingApi() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "echo-api;rev=3";
const parameters = {
path: "echo",
apiRevisionDescription: "Creating a Revision of an existing API",
serviceUrl: "http://echoapi.cloudapp.net/apiv3",
sourceApiId:
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "echo-api;rev=3";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
ApiRevisionDescription = "Creating a Revision of an existing API",
SourceApiId = new ResourceIdentifier("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api"),
ServiceLink = "http://echoapi.cloudapp.net/apiv3",
Path = "echo",
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echo-api;rev=3",
"properties": {
"displayName": "Echo API",
"apiRevision": "3",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/apiv3",
"path": "echo",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"apiRevisionDescription": "Creating a Revision of an existing API",
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
"type": "Microsoft.ApiManagement/service/apis",
"name": "echo-api;rev=3",
"properties": {
"displayName": "Echo API",
"apiRevision": "3",
"subscriptionRequired": true,
"serviceUrl": "http://echoapi.cloudapp.net/apiv3",
"path": "echo",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"apiRevisionDescription": "Creating a Revision of an existing API",
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiUsingImportOverrideServiceUrl
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2024-05-01
{
"properties": {
"format": "swagger-link",
"value": "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
"path": "petstoreapi123",
"serviceUrl": "http://petstore.swagger.wordnik.com/api"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiUsingImportOverrideServiceUrl.json
*/
/**
* Sample code: ApiManagementCreateApiUsingImportOverrideServiceUrl.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiUsingImportOverrideServiceUrl(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("apidocs").withExistingService("rg1", "apimService1")
.withValue("http://apimpimportviaurl.azurewebsites.net/api/apidocs/")
.withFormat(ContentFormat.fromString("swagger-link"))
.withServiceUrl("http://petstore.swagger.wordnik.com/api").withPath("petstoreapi123").create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_import_override_service_url.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="apidocs",
parameters={
"properties": {
"format": "swagger-link",
"path": "petstoreapi123",
"serviceUrl": "http://petstore.swagger.wordnik.com/api",
"value": "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingImportOverrideServiceUrl() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "apidocs", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("petstoreapi123"),
ServiceURL: to.Ptr("http://petstore.swagger.wordnik.com/api"),
Format: to.Ptr(armapimanagement.ContentFormat("swagger-link")),
Value: to.Ptr("http://apimpimportviaurl.azurewebsites.net/api/apidocs/"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apidocs"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("This is a sample server Petstore server. You can find out more about Swagger \n at <a href=\"http://swagger.wordnik.com\">http://swagger.wordnik.com</a> or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters"),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstoreapi123"),
// DisplayName: to.Ptr("Swagger Sample App"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://petstore.swagger.wordnik.com/api"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
*/
async function apiManagementCreateApiUsingImportOverrideServiceUrl() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "apidocs";
const parameters = {
format: "swagger-link",
path: "petstoreapi123",
serviceUrl: "http://petstore.swagger.wordnik.com/api",
value: "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "apidocs";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
ServiceLink = "http://petstore.swagger.wordnik.com/api",
Path = "petstoreapi123",
Value = "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
Format = new ContentFormat("swagger-link"),
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apidocs",
"properties": {
"displayName": "Swagger Sample App",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger \n at <a href=\"http://swagger.wordnik.com\">http://swagger.wordnik.com</a> or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
"serviceUrl": "http://petstore.swagger.wordnik.com/api",
"path": "petstoreapi123",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apidocs",
"properties": {
"displayName": "Swagger Sample App",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger \n at <a href=\"http://swagger.wordnik.com\">http://swagger.wordnik.com</a> or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
"serviceUrl": "http://petstore.swagger.wordnik.com/api",
"path": "petstoreapi123",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiUsingOai3Import
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstore?api-version=2024-05-01
{
"properties": {
"format": "openapi-link",
"value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
"path": "petstore"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiUsingOai3Import.json
*/
/**
* Sample code: ApiManagementCreateApiUsingOai3Import.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void
apiManagementCreateApiUsingOai3Import(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("petstore").withExistingService("rg1", "apimService1")
.withValue("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml")
.withFormat(ContentFormat.OPENAPI_LINK).withPath("petstore").create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_oai3_import.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="petstore",
parameters={
"properties": {
"format": "openapi-link",
"path": "petstore",
"value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingOai3Import.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingOai3Import.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingOai3Import() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "petstore", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("petstore"),
Format: to.Ptr(armapimanagement.ContentFormatOpenapiLink),
Value: to.Ptr("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("petstoreapi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi"),
// Properties: &armapimanagement.APIContractProperties{
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstore"),
// DisplayName: to.Ptr("Swagger Petstore"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://petstore.swagger.io/v1"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingOai3Import.json
*/
async function apiManagementCreateApiUsingOai3Import() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "petstore";
const parameters = {
format: "openapi-link",
path: "petstore",
value:
"https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingOai3Import.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "petstore";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Path = "petstore",
Value = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
Format = ContentFormat.OpenApiLink,
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"serviceUrl": "http://petstore.swagger.io/v1",
"path": "petstore",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"serviceUrl": "http://petstore.swagger.io/v1",
"path": "petstore",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstore?api-version=2024-05-01
{
"properties": {
"format": "openapi-link",
"value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
"path": "petstore",
"translateRequiredQueryParameters": "template"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
import com.azure.resourcemanager.apimanagement.models.TranslateRequiredQueryParametersConduct;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.json
*/
/**
* Sample code: ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("petstore").withExistingService("rg1", "apimService1")
.withValue("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml")
.withFormat(ContentFormat.OPENAPI_LINK)
.withTranslateRequiredQueryParametersConduct(TranslateRequiredQueryParametersConduct.TEMPLATE)
.withPath("petstore").create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_oai3_import_with_translate_required_query_parameters_conduct.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="petstore",
parameters={
"properties": {
"format": "openapi-link",
"path": "petstore",
"translateRequiredQueryParameters": "template",
"value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "petstore", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("petstore"),
Format: to.Ptr(armapimanagement.ContentFormatOpenapiLink),
TranslateRequiredQueryParametersConduct: to.Ptr(armapimanagement.TranslateRequiredQueryParametersConductTemplate),
Value: to.Ptr("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("petstoreapi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi"),
// Properties: &armapimanagement.APIContractProperties{
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstore"),
// DisplayName: to.Ptr("Swagger Petstore"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://petstore.swagger.io/v1"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.json
*/
async function apiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "petstore";
const parameters = {
format: "openapi-link",
path: "petstore",
translateRequiredQueryParametersConduct: "template",
value:
"https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingOai3ImportWithTranslateRequiredQueryParametersConduct.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "petstore";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Path = "petstore",
Value = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
Format = ContentFormat.OpenApiLink,
TranslateRequiredQueryParametersConduct = TranslateRequiredQueryParametersConduct.Template,
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"serviceUrl": "http://petstore.swagger.io/v1",
"path": "petstore",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"serviceUrl": "http://petstore.swagger.io/v1",
"path": "petstore",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiUsingSwaggerImport
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstore?api-version=2024-05-01
{
"properties": {
"format": "swagger-link-json",
"value": "http://petstore.swagger.io/v2/swagger.json",
"path": "petstore"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiUsingSwaggerImport.json
*/
/**
* Sample code: ApiManagementCreateApiUsingSwaggerImport.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void
apiManagementCreateApiUsingSwaggerImport(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("petstore").withExistingService("rg1", "apimService1")
.withValue("http://petstore.swagger.io/v2/swagger.json").withFormat(ContentFormat.SWAGGER_LINK_JSON)
.withPath("petstore").create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_swagger_import.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="petstore",
parameters={
"properties": {
"format": "swagger-link-json",
"path": "petstore",
"value": "http://petstore.swagger.io/v2/swagger.json",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingSwaggerImport() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "petstore", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("petstore"),
Format: to.Ptr(armapimanagement.ContentFormatSwaggerLinkJSON),
Value: to.Ptr("http://petstore.swagger.io/v2/swagger.json"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("petstoreapi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters."),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstore"),
// DisplayName: to.Ptr("Swagger Petstore"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://petstore.swagger.io/v2"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
*/
async function apiManagementCreateApiUsingSwaggerImport() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "petstore";
const parameters = {
format: "swagger-link-json",
path: "petstore",
value: "http://petstore.swagger.io/v2/swagger.json",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "petstore";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Path = "petstore",
Value = "http://petstore.swagger.io/v2/swagger.json",
Format = ContentFormat.SwaggerLinkJson,
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"http"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "petstoreapi",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"http"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiUsingWadlImport
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstore?api-version=2024-05-01
{
"properties": {
"format": "wadl-link-json",
"value": "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
"path": "collector"
}
}
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiUsingWadlImport.json
*/
/**
* Sample code: ApiManagementCreateApiUsingWadlImport.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void
apiManagementCreateApiUsingWadlImport(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("petstore").withExistingService("rg1", "apimService1").withValue(
"https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl")
.withFormat(ContentFormat.WADL_LINK_JSON).withPath("collector").create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_using_wadl_import.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="petstore",
parameters={
"properties": {
"format": "wadl-link-json",
"path": "collector",
"value": "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingWadlImport.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingWadlImport.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiUsingWadlImport() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "petstore", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("collector"),
Format: to.Ptr(armapimanagement.ContentFormatWadlLinkJSON),
Value: to.Ptr("https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("collectorwadl"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr(""),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("collector"),
// DisplayName: to.Ptr("http://localhost:8080/collector-northbound"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://localhost:8080/collector-northbound"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingWadlImport.json
*/
async function apiManagementCreateApiUsingWadlImport() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "petstore";
const parameters = {
format: "wadl-link-json",
path: "collector",
value:
"https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiUsingWadlImport.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "petstore";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Path = "collector",
Value = "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
Format = ContentFormat.WadlLinkJson,
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
"type": "Microsoft.ApiManagement/service/apis",
"name": "collectorwadl",
"properties": {
"displayName": "http://localhost:8080/collector-northbound",
"apiRevision": "1",
"description": "",
"serviceUrl": "http://localhost:8080/collector-northbound",
"path": "collector",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
"type": "Microsoft.ApiManagement/service/apis",
"name": "collectorwadl",
"properties": {
"displayName": "http://localhost:8080/collector-northbound",
"apiRevision": "1",
"description": "",
"serviceUrl": "http://localhost:8080/collector-northbound",
"path": "collector",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiWithMultipleAuthServers
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01
{
"properties": {
"description": "apidescription5200",
"authenticationSettings": {
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
{
"authorizationServerId": "authorizationServerId2284",
"scope": "oauth2scope2581"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"displayName": "apiname1463",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"https",
"http"
]
}
}
import com.azure.resourcemanager.apimanagement.models.AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.OAuth2AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import com.azure.resourcemanager.apimanagement.models.SubscriptionKeyParameterNamesContract;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiWithMultipleAuthServers.json
*/
/**
* Sample code: ApiManagementCreateApiWithMultipleAuthServers.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiWithMultipleAuthServers(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("tempgroup").withExistingService("rg1", "apimService1").withDisplayName("apiname1463")
.withServiceUrl("http://newechoapi.cloudapp.net/api").withPath("newapiPath")
.withProtocols(Arrays.asList(Protocol.HTTPS, Protocol.HTTP)).withDescription("apidescription5200")
.withAuthenticationSettings(
new AuthenticationSettingsContract().withOAuth2AuthenticationSettings(Arrays.asList(
new OAuth2AuthenticationSettingsContract().withAuthorizationServerId("fakeTokenPlaceholder")
.withScope("oauth2scope2580"),
new OAuth2AuthenticationSettingsContract().withAuthorizationServerId("fakeTokenPlaceholder")
.withScope("oauth2scope2581"))))
.withSubscriptionKeyParameterNames(
new SubscriptionKeyParameterNamesContract().withHeaderProperty("header4520").withQuery("query3037"))
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_with_multiple_auth_servers.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"authenticationSettings": {
"oAuth2AuthenticationSettings": [
{"authorizationServerId": "authorizationServerId2283", "scope": "oauth2scope2580"},
{"authorizationServerId": "authorizationServerId2284", "scope": "oauth2scope2581"},
]
},
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "newapiPath",
"protocols": ["https", "http"],
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"subscriptionKeyParameterNames": {"header": "header4520", "query": "query3037"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithMultipleAuthServers.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithMultipleAuthServers.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiWithMultipleAuthServers() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("apidescription5200"),
AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
OAuth2AuthenticationSettings: []*armapimanagement.OAuth2AuthenticationSettingsContract{
{
AuthorizationServerID: to.Ptr("authorizationServerId2283"),
Scope: to.Ptr("oauth2scope2580"),
},
{
AuthorizationServerID: to.Ptr("authorizationServerId2284"),
Scope: to.Ptr("oauth2scope2581"),
}},
},
SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
Header: to.Ptr("header4520"),
Query: to.Ptr("query3037"),
},
Path: to.Ptr("newapiPath"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTPS),
to.Ptr(armapimanagement.ProtocolHTTP)},
ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
// OAuth2: &armapimanagement.OAuth2AuthenticationSettingsContract{
// AuthorizationServerID: to.Ptr("authorizationServerId2283"),
// Scope: to.Ptr("oauth2scope2580"),
// },
// OAuth2AuthenticationSettings: []*armapimanagement.OAuth2AuthenticationSettingsContract{
// {
// AuthorizationServerID: to.Ptr("authorizationServerId2283"),
// Scope: to.Ptr("oauth2scope2580"),
// },
// {
// AuthorizationServerID: to.Ptr("authorizationServerId2284"),
// Scope: to.Ptr("oauth2scope2581"),
// }},
// },
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("header4520"),
// Query: to.Ptr("query3037"),
// },
// Path: to.Ptr("newapiPath"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithMultipleAuthServers.json
*/
async function apiManagementCreateApiWithMultipleAuthServers() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
path: "newapiPath",
description: "apidescription5200",
authenticationSettings: {
oAuth2AuthenticationSettings: [
{
authorizationServerId: "authorizationServerId2283",
scope: "oauth2scope2580",
},
{
authorizationServerId: "authorizationServerId2284",
scope: "oauth2scope2581",
},
],
},
displayName: "apiname1463",
protocols: ["https", "http"],
serviceUrl: "http://newechoapi.cloudapp.net/api",
subscriptionKeyParameterNames: { header: "header4520", query: "query3037" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithMultipleAuthServers.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "tempgroup";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "apidescription5200",
AuthenticationSettings = new AuthenticationSettingsContract
{
OAuth2AuthenticationSettings = {new OAuth2AuthenticationSettingsContract
{
AuthorizationServerId = "authorizationServerId2283",
Scope = "oauth2scope2580",
}, new OAuth2AuthenticationSettingsContract
{
AuthorizationServerId = "authorizationServerId2284",
Scope = "oauth2scope2581",
}},
},
SubscriptionKeyParameterNames = new SubscriptionKeyParameterNamesContract
{
Header = "header4520",
Query = "query3037",
},
DisplayName = "apiname1463",
ServiceLink = "http://newechoapi.cloudapp.net/api",
Path = "newapiPath",
Protocols = { ApiOperationInvokableProtocol.Https, ApiOperationInvokableProtocol.Http },
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"oAuth2": {
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
"oAuth2AuthenticationSettings": [
{
"authorizationServerId": "authorizationServerId2283",
"scope": "oauth2scope2580"
},
{
"authorizationServerId": "authorizationServerId2284",
"scope": "oauth2scope2581"
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiWithMultipleOpenIdConnectProviders
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01
{
"properties": {
"description": "apidescription5200",
"authenticationSettings": {
"openidAuthenticationSettings": [
{
"openidProviderId": "openidProviderId2283",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
},
{
"openidProviderId": "openidProviderId2284",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"displayName": "apiname1463",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"https",
"http"
]
}
}
import com.azure.resourcemanager.apimanagement.models.AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.BearerTokenSendingMethods;
import com.azure.resourcemanager.apimanagement.models.OpenIdAuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import com.azure.resourcemanager.apimanagement.models.SubscriptionKeyParameterNamesContract;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiWithMultipleOpenIdConnectProviders.json
*/
/**
* Sample code: ApiManagementCreateApiWithMultipleOpenIdConnectProviders.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateApiWithMultipleOpenIdConnectProviders(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("tempgroup").withExistingService("rg1", "apimService1").withDisplayName("apiname1463")
.withServiceUrl("http://newechoapi.cloudapp.net/api").withPath("newapiPath")
.withProtocols(Arrays.asList(Protocol.HTTPS, Protocol.HTTP)).withDescription("apidescription5200")
.withAuthenticationSettings(
new AuthenticationSettingsContract().withOpenidAuthenticationSettings(Arrays.asList(
new OpenIdAuthenticationSettingsContract().withOpenidProviderId("openidProviderId2283")
.withBearerTokenSendingMethods(Arrays.asList(BearerTokenSendingMethods.AUTHORIZATION_HEADER)),
new OpenIdAuthenticationSettingsContract().withOpenidProviderId("openidProviderId2284")
.withBearerTokenSendingMethods(Arrays.asList(BearerTokenSendingMethods.AUTHORIZATION_HEADER)))))
.withSubscriptionKeyParameterNames(
new SubscriptionKeyParameterNamesContract().withHeaderProperty("header4520").withQuery("query3037"))
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_with_multiple_open_id_connect_providers.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"authenticationSettings": {
"openidAuthenticationSettings": [
{
"bearerTokenSendingMethods": ["authorizationHeader"],
"openidProviderId": "openidProviderId2283",
},
{
"bearerTokenSendingMethods": ["authorizationHeader"],
"openidProviderId": "openidProviderId2284",
},
]
},
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "newapiPath",
"protocols": ["https", "http"],
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"subscriptionKeyParameterNames": {"header": "header4520", "query": "query3037"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithMultipleOpenIdConnectProviders.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithMultipleOpenIdConnectProviders.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiWithMultipleOpenIdConnectProviders() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("apidescription5200"),
AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
OpenidAuthenticationSettings: []*armapimanagement.OpenIDAuthenticationSettingsContract{
{
BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
OpenidProviderID: to.Ptr("openidProviderId2283"),
},
{
BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
OpenidProviderID: to.Ptr("openidProviderId2284"),
}},
},
SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
Header: to.Ptr("header4520"),
Query: to.Ptr("query3037"),
},
Path: to.Ptr("newapiPath"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTPS),
to.Ptr(armapimanagement.ProtocolHTTP)},
ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
// Openid: &armapimanagement.OpenIDAuthenticationSettingsContract{
// BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
// to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
// OpenidProviderID: to.Ptr("openidProviderId2283"),
// },
// OpenidAuthenticationSettings: []*armapimanagement.OpenIDAuthenticationSettingsContract{
// {
// BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
// to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
// OpenidProviderID: to.Ptr("openidProviderId2283"),
// },
// {
// BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
// to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
// OpenidProviderID: to.Ptr("openidProviderId2284"),
// }},
// },
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("header4520"),
// Query: to.Ptr("query3037"),
// },
// Path: to.Ptr("newapiPath"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://newechoapi.cloudapp.net/api"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithMultipleOpenIdConnectProviders.json
*/
async function apiManagementCreateApiWithMultipleOpenIdConnectProviders() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
path: "newapiPath",
description: "apidescription5200",
authenticationSettings: {
openidAuthenticationSettings: [
{
bearerTokenSendingMethods: ["authorizationHeader"],
openidProviderId: "openidProviderId2283",
},
{
bearerTokenSendingMethods: ["authorizationHeader"],
openidProviderId: "openidProviderId2284",
},
],
},
displayName: "apiname1463",
protocols: ["https", "http"],
serviceUrl: "http://newechoapi.cloudapp.net/api",
subscriptionKeyParameterNames: { header: "header4520", query: "query3037" },
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithMultipleOpenIdConnectProviders.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "tempgroup";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "apidescription5200",
AuthenticationSettings = new AuthenticationSettingsContract
{
OpenidAuthenticationSettings = {new OpenIdAuthenticationSettingsContract
{
OpenIdProviderId = "openidProviderId2283",
BearerTokenSendingMethods = {BearerTokenSendingMethod.AuthorizationHeader},
}, new OpenIdAuthenticationSettingsContract
{
OpenIdProviderId = "openidProviderId2284",
BearerTokenSendingMethods = {BearerTokenSendingMethod.AuthorizationHeader},
}},
},
SubscriptionKeyParameterNames = new SubscriptionKeyParameterNamesContract
{
Header = "header4520",
Query = "query3037",
},
DisplayName = "apiname1463",
ServiceLink = "http://newechoapi.cloudapp.net/api",
Path = "newapiPath",
Protocols = { ApiOperationInvokableProtocol.Https, ApiOperationInvokableProtocol.Http },
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "http://newechoapi.cloudapp.net/api",
"path": "newapiPath",
"protocols": [
"http",
"https"
],
"authenticationSettings": {
"openid": {
"openidProviderId": "openidProviderId2283",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
},
"openidAuthenticationSettings": [
{
"openidProviderId": "openidProviderId2283",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
},
{
"openidProviderId": "openidProviderId2284",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
]
},
"subscriptionKeyParameterNames": {
"header": "header4520",
"query": "query3037"
},
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateApiWithOpenIdConnect
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01
{
"properties": {
"displayName": "Swagger Petstore",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"https"
],
"authenticationSettings": {
"openid": {
"openidProviderId": "testopenid",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
},
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
}
}
}
import com.azure.resourcemanager.apimanagement.models.AuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.BearerTokenSendingMethods;
import com.azure.resourcemanager.apimanagement.models.OpenIdAuthenticationSettingsContract;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import com.azure.resourcemanager.apimanagement.models.SubscriptionKeyParameterNamesContract;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateApiWithOpenIdConnect.json
*/
/**
* Sample code: ApiManagementCreateApiWithOpenIdConnect.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void
apiManagementCreateApiWithOpenIdConnect(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("tempgroup").withExistingService("rg1", "apimService1")
.withDisplayName("Swagger Petstore").withServiceUrl("http://petstore.swagger.io/v2").withPath("petstore")
.withProtocols(Arrays.asList(Protocol.HTTPS))
.withDescription(
"This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.")
.withAuthenticationSettings(new AuthenticationSettingsContract()
.withOpenid(new OpenIdAuthenticationSettingsContract().withOpenidProviderId("testopenid")
.withBearerTokenSendingMethods(Arrays.asList(BearerTokenSendingMethods.AUTHORIZATION_HEADER))))
.withSubscriptionKeyParameterNames(new SubscriptionKeyParameterNamesContract()
.withHeaderProperty("Ocp-Apim-Subscription-Key").withQuery("subscription-key"))
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_api_with_open_id_connect.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"authenticationSettings": {
"openid": {"bearerTokenSendingMethods": ["authorizationHeader"], "openidProviderId": "testopenid"}
},
"description": "This is a sample server Petstore server. You can find out more about Swagger at `http://swagger.io <http://swagger.io>`_ or on `irc.freenode.net, #swagger <http://swagger.io/irc/>`_. For this sample, you can use the api key ``special-key`` to test the authorization filters.",
"displayName": "Swagger Petstore",
"path": "petstore",
"protocols": ["https"],
"serviceUrl": "http://petstore.swagger.io/v2",
"subscriptionKeyParameterNames": {"header": "Ocp-Apim-Subscription-Key", "query": "subscription-key"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateApiWithOpenIdConnect() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Description: to.Ptr("This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters."),
AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
Openid: &armapimanagement.OpenIDAuthenticationSettingsContract{
BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
OpenidProviderID: to.Ptr("testopenid"),
},
},
SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
Header: to.Ptr("Ocp-Apim-Subscription-Key"),
Query: to.Ptr("subscription-key"),
},
Path: to.Ptr("petstore"),
DisplayName: to.Ptr("Swagger Petstore"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("http://petstore.swagger.io/v2"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("58da4c4ccdae970a08121230"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230"),
// Properties: &armapimanagement.APIContractProperties{
// Description: to.Ptr("This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters."),
// APIRevision: to.Ptr("1"),
// AuthenticationSettings: &armapimanagement.AuthenticationSettingsContract{
// Openid: &armapimanagement.OpenIDAuthenticationSettingsContract{
// BearerTokenSendingMethods: []*armapimanagement.BearerTokenSendingMethods{
// to.Ptr(armapimanagement.BearerTokenSendingMethodsAuthorizationHeader)},
// OpenidProviderID: to.Ptr("testopenid"),
// },
// },
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("petstore"),
// DisplayName: to.Ptr("Swagger Petstore"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://petstore.swagger.io/v2"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
*/
async function apiManagementCreateApiWithOpenIdConnect() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
path: "petstore",
description:
"This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
authenticationSettings: {
openid: {
bearerTokenSendingMethods: ["authorizationHeader"],
openidProviderId: "testopenid",
},
},
displayName: "Swagger Petstore",
protocols: ["https"],
serviceUrl: "http://petstore.swagger.io/v2",
subscriptionKeyParameterNames: {
header: "Ocp-Apim-Subscription-Key",
query: "subscription-key",
},
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "tempgroup";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
AuthenticationSettings = new AuthenticationSettingsContract
{
OpenId = new OpenIdAuthenticationSettingsContract
{
OpenIdProviderId = "testopenid",
BearerTokenSendingMethods = { BearerTokenSendingMethod.AuthorizationHeader },
},
},
SubscriptionKeyParameterNames = new SubscriptionKeyParameterNamesContract
{
Header = "Ocp-Apim-Subscription-Key",
Query = "subscription-key",
},
DisplayName = "Swagger Petstore",
ServiceLink = "http://petstore.swagger.io/v2",
Path = "petstore",
Protocols = { ApiOperationInvokableProtocol.Https },
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
"type": "Microsoft.ApiManagement/service/apis",
"name": "58da4c4ccdae970a08121230",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"https"
],
"authenticationSettings": {
"openid": {
"openidProviderId": "testopenid",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
},
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
"type": "Microsoft.ApiManagement/service/apis",
"name": "58da4c4ccdae970a08121230",
"properties": {
"displayName": "Swagger Petstore",
"apiRevision": "1",
"description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
"serviceUrl": "http://petstore.swagger.io/v2",
"path": "petstore",
"protocols": [
"https"
],
"authenticationSettings": {
"openid": {
"openidProviderId": "testopenid",
"bearerTokenSendingMethods": [
"authorizationHeader"
]
}
},
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateGraphQLApi
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01
{
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"type": "graphql",
"serviceUrl": "https://api.spacex.land/graphql",
"path": "graphql-api",
"protocols": [
"http",
"https"
]
}
}
import com.azure.resourcemanager.apimanagement.models.ApiType;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateGraphQLApi.json
*/
/**
* Sample code: ApiManagementCreateGraphQLApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void
apiManagementCreateGraphQLApi(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("tempgroup").withExistingService("rg1", "apimService1").withDisplayName("apiname1463")
.withServiceUrl("https://api.spacex.land/graphql").withPath("graphql-api")
.withProtocols(Arrays.asList(Protocol.HTTP, Protocol.HTTPS)).withDescription("apidescription5200")
.withApiType(ApiType.GRAPHQL).create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_graph_ql_api.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "graphql-api",
"protocols": ["http", "https"],
"serviceUrl": "https://api.spacex.land/graphql",
"type": "graphql",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateGraphQLApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateGraphQLApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateGraphQlApi() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
APIType: to.Ptr(armapimanagement.APITypeGraphql),
Description: to.Ptr("apidescription5200"),
Path: to.Ptr("graphql-api"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTP),
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("https://api.spacex.land/graphql"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// APIType: to.Ptr(armapimanagement.APITypeGraphql),
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// Path: to.Ptr("graphql-api"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("https://api.spacex.land/graphql"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateGraphQLApi.json
*/
async function apiManagementCreateGraphQlApi() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
apiType: "graphql",
path: "graphql-api",
description: "apidescription5200",
displayName: "apiname1463",
protocols: ["http", "https"],
serviceUrl: "https://api.spacex.land/graphql",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateGraphQLApi.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "tempgroup";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "apidescription5200",
ApiType = ApiType.GraphQL,
DisplayName = "apiname1463",
ServiceLink = "https://api.spacex.land/graphql",
Path = "graphql-api",
Protocols = { ApiOperationInvokableProtocol.Http, ApiOperationInvokableProtocol.Https },
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "https://api.spacex.land/graphql",
"type": "graphql",
"path": "graphql-api",
"protocols": [
"https",
"https"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "https://api.spacex.land/graphql",
"type": "graphql",
"path": "graphql-api",
"protocols": [
"http",
"https"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateGrpcApi
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01
{
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"type": "grpc",
"serviceUrl": "https://your-api-hostname/samples",
"path": "grpc-api",
"protocols": [
"https"
],
"format": "grpc-link",
"value": "https://raw.githubusercontent.com/kedacore/keda/main/pkg/scalers/externalscaler/externalscaler.proto"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiType;
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateGrpcApi.json
*/
/**
* Sample code: ApiManagementCreateGrpcApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void
apiManagementCreateGrpcApi(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("tempgroup").withExistingService("rg1", "apimService1")
.withValue(
"https://raw.githubusercontent.com/kedacore/keda/main/pkg/scalers/externalscaler/externalscaler.proto")
.withFormat(ContentFormat.GRPC_LINK).withDisplayName("apiname1463")
.withServiceUrl("https://your-api-hostname/samples").withPath("grpc-api")
.withProtocols(Arrays.asList(Protocol.HTTPS)).withDescription("apidescription5200")
.withApiType(ApiType.GRPC).create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_grpc_api.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"format": "grpc-link",
"path": "grpc-api",
"protocols": ["https"],
"serviceUrl": "https://your-api-hostname/samples",
"type": "grpc",
"value": "https://raw.githubusercontent.com/kedacore/keda/main/pkg/scalers/externalscaler/externalscaler.proto",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateGrpcApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateGrpcApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateGrpcApi() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
APIType: to.Ptr(armapimanagement.APITypeGrpc),
Description: to.Ptr("apidescription5200"),
Path: to.Ptr("grpc-api"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("https://your-api-hostname/samples"),
Format: to.Ptr(armapimanagement.ContentFormatGrpcLink),
Value: to.Ptr("https://raw.githubusercontent.com/kedacore/keda/main/pkg/scalers/externalscaler/externalscaler.proto"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// APIType: to.Ptr(armapimanagement.APITypeGrpc),
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// Path: to.Ptr("grpc-api"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ServiceURL: to.Ptr("https://your-api-hostname/samples"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateGrpcApi.json
*/
async function apiManagementCreateGrpcApi() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
apiType: "grpc",
format: "grpc-link",
path: "grpc-api",
description: "apidescription5200",
displayName: "apiname1463",
protocols: ["https"],
serviceUrl: "https://your-api-hostname/samples",
value:
"https://raw.githubusercontent.com/kedacore/keda/main/pkg/scalers/externalscaler/externalscaler.proto",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateGrpcApi.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "tempgroup";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "apidescription5200",
ApiType = ApiType.Grpc,
DisplayName = "apiname1463",
ServiceLink = "https://your-api-hostname/samples",
Path = "grpc-api",
Protocols = { ApiOperationInvokableProtocol.Https },
Value = "https://raw.githubusercontent.com/kedacore/keda/main/pkg/scalers/externalscaler/externalscaler.proto",
Format = ContentFormat.GrpcLink,
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "https://your-api-hostname/samples",
"type": "grpc",
"path": "grpc-api",
"protocols": [
"https"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "https://your-api-hostname/samples",
"type": "grpc",
"path": "grpc-api",
"protocols": [
"https"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true
}
}
ApiManagementCreateODataApi
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01
{
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"type": "odata",
"serviceUrl": "https://services.odata.org/TripPinWebApiService",
"path": "odata-api",
"protocols": [
"http",
"https"
],
"format": "odata-link",
"value": "https://services.odata.org/TripPinWebApiService/$metadata"
}
}
import com.azure.resourcemanager.apimanagement.models.ApiType;
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateODataApi.json
*/
/**
* Sample code: ApiManagementCreateODataApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void
apiManagementCreateODataApi(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("tempgroup").withExistingService("rg1", "apimService1")
.withValue("https://services.odata.org/TripPinWebApiService/$metadata").withFormat(ContentFormat.ODATA_LINK)
.withDisplayName("apiname1463").withServiceUrl("https://services.odata.org/TripPinWebApiService")
.withPath("odata-api").withProtocols(Arrays.asList(Protocol.HTTP, Protocol.HTTPS))
.withDescription("apidescription5200").withApiType(ApiType.ODATA).create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_odata_api.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"format": "odata-link",
"path": "odata-api",
"protocols": ["http", "https"],
"serviceUrl": "https://services.odata.org/TripPinWebApiService",
"type": "odata",
"value": "https://services.odata.org/TripPinWebApiService/$metadata",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateODataApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateODataApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateODataApi() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
APIType: to.Ptr(armapimanagement.APITypeOData),
Description: to.Ptr("apidescription5200"),
Path: to.Ptr("odata-api"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolHTTP),
to.Ptr(armapimanagement.ProtocolHTTPS)},
ServiceURL: to.Ptr("https://services.odata.org/TripPinWebApiService"),
Format: to.Ptr(armapimanagement.ContentFormatODataLink),
Value: to.Ptr("https://services.odata.org/TripPinWebApiService/$metadata"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// APIType: to.Ptr(armapimanagement.APITypeOData),
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// Path: to.Ptr("odata-api"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTP),
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("https://services.odata.org/TripPinWebApiService"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateODataApi.json
*/
async function apiManagementCreateODataApi() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
apiType: "odata",
format: "odata-link",
path: "odata-api",
description: "apidescription5200",
displayName: "apiname1463",
protocols: ["http", "https"],
serviceUrl: "https://services.odata.org/TripPinWebApiService",
value: "https://services.odata.org/TripPinWebApiService/$metadata",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateODataApi.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "tempgroup";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "apidescription5200",
ApiType = ApiType.Odata,
DisplayName = "apiname1463",
ServiceLink = "https://services.odata.org/TripPinWebApiService",
Path = "odata-api",
Protocols = { ApiOperationInvokableProtocol.Http, ApiOperationInvokableProtocol.Https },
Value = "https://services.odata.org/TripPinWebApiService/$metadata",
Format = ContentFormat.OdataLink,
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "https://services.odata.org/TripPinWebApiService",
"type": "odata",
"path": "odata-api",
"protocols": [
"http",
"https"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "https://services.odata.org/TripPinWebApiService",
"type": "odata",
"path": "odata-api",
"protocols": [
"http",
"https"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateSoapPassThroughApiUsingWsdlImport
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi?api-version=2024-05-01
{
"properties": {
"format": "wsdl-link",
"value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
"path": "currency",
"apiType": "soap",
"wsdlSelector": {
"wsdlServiceName": "CurrencyConvertor",
"wsdlEndpointName": "CurrencyConvertorSoap"
}
}
}
import com.azure.resourcemanager.apimanagement.models.ApiCreateOrUpdatePropertiesWsdlSelector;
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
import com.azure.resourcemanager.apimanagement.models.SoapApiType;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
*/
/**
* Sample code: ApiManagementCreateSoapPassThroughApiUsingWsdlImport.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateSoapPassThroughApiUsingWsdlImport(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("soapApi").withExistingService("rg1", "apimService1")
.withValue("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL").withFormat(ContentFormat.WSDL_LINK)
.withWsdlSelector(new ApiCreateOrUpdatePropertiesWsdlSelector().withWsdlServiceName("CurrencyConvertor")
.withWsdlEndpointName("CurrencyConvertorSoap"))
.withSoapApiType(SoapApiType.SOAP).withPath("currency").create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_soap_pass_through_api_using_wsdl_import.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="soapApi",
parameters={
"properties": {
"apiType": "soap",
"format": "wsdl-link",
"path": "currency",
"value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
"wsdlSelector": {"wsdlEndpointName": "CurrencyConvertorSoap", "wsdlServiceName": "CurrencyConvertor"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateSoapPassThroughApiUsingWsdlImport() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "soapApi", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("currency"),
Format: to.Ptr(armapimanagement.ContentFormatWsdlLink),
SoapAPIType: to.Ptr(armapimanagement.SoapAPITypeSoapPassThrough),
Value: to.Ptr("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL"),
WsdlSelector: &armapimanagement.APICreateOrUpdatePropertiesWsdlSelector{
WsdlEndpointName: to.Ptr("CurrencyConvertorSoap"),
WsdlServiceName: to.Ptr("CurrencyConvertor"),
},
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("soapApi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi"),
// Properties: &armapimanagement.APIContractProperties{
// APIType: to.Ptr(armapimanagement.APITypeSoap),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("currency"),
// DisplayName: to.Ptr("CurrencyConvertor"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://www.webservicex.net"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
*/
async function apiManagementCreateSoapPassThroughApiUsingWsdlImport() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "soapApi";
const parameters = {
format: "wsdl-link",
path: "currency",
soapApiType: "soap",
value: "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
wsdlSelector: {
wsdlEndpointName: "CurrencyConvertorSoap",
wsdlServiceName: "CurrencyConvertor",
},
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "soapApi";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Path = "currency",
Value = "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
Format = ContentFormat.WsdlLink,
WsdlSelector = new ApiCreateOrUpdatePropertiesWsdlSelector
{
WsdlServiceName = "CurrencyConvertor",
WsdlEndpointName = "CurrencyConvertorSoap",
},
SoapApiType = SoapApiType.SoapPassThrough,
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "soapApi",
"properties": {
"displayName": "CurrencyConvertor",
"apiRevision": "1",
"serviceUrl": "http://www.webservicex.net",
"path": "currency",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"type": "soap",
"isCurrent": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "soapApi",
"properties": {
"displayName": "CurrencyConvertor",
"apiRevision": "1",
"serviceUrl": "http://www.webservicex.net",
"path": "currency",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"type": "soap",
"isCurrent": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateSoapToRestApiUsingWsdlImport
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi?api-version=2024-05-01
{
"properties": {
"format": "wsdl-link",
"value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
"path": "currency",
"wsdlSelector": {
"wsdlServiceName": "CurrencyConvertor",
"wsdlEndpointName": "CurrencyConvertorSoap"
}
}
}
import com.azure.resourcemanager.apimanagement.models.ApiCreateOrUpdatePropertiesWsdlSelector;
import com.azure.resourcemanager.apimanagement.models.ContentFormat;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateSoapToRestApiUsingWsdlImport.json
*/
/**
* Sample code: ApiManagementCreateSoapToRestApiUsingWsdlImport.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateSoapToRestApiUsingWsdlImport(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("soapApi").withExistingService("rg1", "apimService1")
.withValue("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL").withFormat(ContentFormat.WSDL_LINK)
.withWsdlSelector(new ApiCreateOrUpdatePropertiesWsdlSelector().withWsdlServiceName("CurrencyConvertor")
.withWsdlEndpointName("CurrencyConvertorSoap"))
.withPath("currency").create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_soap_to_rest_api_using_wsdl_import.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="soapApi",
parameters={
"properties": {
"format": "wsdl-link",
"path": "currency",
"value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
"wsdlSelector": {"wsdlEndpointName": "CurrencyConvertorSoap", "wsdlServiceName": "CurrencyConvertor"},
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateSoapToRestApiUsingWsdlImport() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "soapApi", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
Path: to.Ptr("currency"),
Format: to.Ptr(armapimanagement.ContentFormatWsdlLink),
Value: to.Ptr("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL"),
WsdlSelector: &armapimanagement.APICreateOrUpdatePropertiesWsdlSelector{
WsdlEndpointName: to.Ptr("CurrencyConvertorSoap"),
WsdlServiceName: to.Ptr("CurrencyConvertor"),
},
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("soapApi"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi"),
// Properties: &armapimanagement.APIContractProperties{
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// SubscriptionKeyParameterNames: &armapimanagement.SubscriptionKeyParameterNamesContract{
// Header: to.Ptr("Ocp-Apim-Subscription-Key"),
// Query: to.Ptr("subscription-key"),
// },
// Path: to.Ptr("currency"),
// DisplayName: to.Ptr("CurrencyConvertor"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolHTTPS)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("http://www.webservicex.net"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
*/
async function apiManagementCreateSoapToRestApiUsingWsdlImport() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "soapApi";
const parameters = {
format: "wsdl-link",
path: "currency",
value: "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
wsdlSelector: {
wsdlEndpointName: "CurrencyConvertorSoap",
wsdlServiceName: "CurrencyConvertor",
},
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "soapApi";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Path = "currency",
Value = "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
Format = ContentFormat.WsdlLink,
WsdlSelector = new ApiCreateOrUpdatePropertiesWsdlSelector
{
WsdlServiceName = "CurrencyConvertor",
WsdlEndpointName = "CurrencyConvertorSoap",
},
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "soapApi",
"properties": {
"displayName": "CurrencyConvertor",
"apiRevision": "1",
"serviceUrl": "http://www.webservicex.net",
"path": "currency",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
"type": "Microsoft.ApiManagement/service/apis",
"name": "soapApi",
"properties": {
"displayName": "CurrencyConvertor",
"apiRevision": "1",
"serviceUrl": "http://www.webservicex.net",
"path": "currency",
"protocols": [
"https"
],
"subscriptionKeyParameterNames": {
"header": "Ocp-Apim-Subscription-Key",
"query": "subscription-key"
},
"isCurrent": true,
"provisioningState": "InProgress"
}
}
ApiManagementCreateWebSocketApi
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01
{
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"type": "websocket",
"serviceUrl": "wss://echo.websocket.org",
"path": "newapiPath",
"protocols": [
"wss",
"ws"
]
}
}
import com.azure.resourcemanager.apimanagement.models.ApiType;
import com.azure.resourcemanager.apimanagement.models.Protocol;
import java.util.Arrays;
/**
* Samples for Api CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/
* ApiManagementCreateWebsocketApi.json
*/
/**
* Sample code: ApiManagementCreateWebSocketApi.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void
apiManagementCreateWebSocketApi(com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager.apis().define("tempgroup").withExistingService("rg1", "apimService1").withDisplayName("apiname1463")
.withServiceUrl("wss://echo.websocket.org").withPath("newapiPath")
.withProtocols(Arrays.asList(Protocol.WSS, Protocol.WS)).withDescription("apidescription5200")
.withApiType(ApiType.WEBSOCKET).create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_websocket_api.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="00000000-0000-0000-0000-000000000000",
)
response = client.api.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
api_id="tempgroup",
parameters={
"properties": {
"description": "apidescription5200",
"displayName": "apiname1463",
"path": "newapiPath",
"protocols": ["wss", "ws"],
"serviceUrl": "wss://echo.websocket.org",
"type": "websocket",
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateWebsocketApi.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v3"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/e436160e64c0f8d7fb20d662be2712f71f0a7ef5/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateWebsocketApi.json
func ExampleAPIClient_BeginCreateOrUpdate_apiManagementCreateWebSocketApi() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAPIClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "tempgroup", armapimanagement.APICreateOrUpdateParameter{
Properties: &armapimanagement.APICreateOrUpdateProperties{
APIType: to.Ptr(armapimanagement.APITypeWebsocket),
Description: to.Ptr("apidescription5200"),
Path: to.Ptr("newapiPath"),
DisplayName: to.Ptr("apiname1463"),
Protocols: []*armapimanagement.Protocol{
to.Ptr(armapimanagement.ProtocolWss),
to.Ptr(armapimanagement.ProtocolWs)},
ServiceURL: to.Ptr("wss://echo.websocket.org"),
},
}, &armapimanagement.APIClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.APIContract = armapimanagement.APIContract{
// Name: to.Ptr("apiid9419"),
// Type: to.Ptr("Microsoft.ApiManagement/service/apis"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419"),
// Properties: &armapimanagement.APIContractProperties{
// APIType: to.Ptr(armapimanagement.APITypeWebsocket),
// Description: to.Ptr("apidescription5200"),
// APIRevision: to.Ptr("1"),
// IsCurrent: to.Ptr(true),
// IsOnline: to.Ptr(true),
// Path: to.Ptr("newapiPath"),
// DisplayName: to.Ptr("apiname1463"),
// Protocols: []*armapimanagement.Protocol{
// to.Ptr(armapimanagement.ProtocolWs),
// to.Ptr(armapimanagement.ProtocolWss)},
// ProvisioningState: to.Ptr("Succeeded"),
// ServiceURL: to.Ptr("wss://echo.websocket.org"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
require("dotenv/config");
/**
* This sample demonstrates how to Creates new or updates existing specified API of the API Management service instance.
*
* @summary Creates new or updates existing specified API of the API Management service instance.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateWebsocketApi.json
*/
async function apiManagementCreateWebSocketApi() {
const subscriptionId =
process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "00000000-0000-0000-0000-000000000000";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const apiId = "tempgroup";
const parameters = {
apiType: "websocket",
path: "newapiPath",
description: "apidescription5200",
displayName: "apiname1463",
protocols: ["wss", "ws"],
serviceUrl: "wss://echo.websocket.org",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.api.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
apiId,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.ApiManagement.Models;
using Azure.ResourceManager.ApiManagement;
// Generated from example definition: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2024-05-01/examples/ApiManagementCreateWebsocketApi.json
// this example is just showing the usage of "Api_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ApiManagementServiceResource created on azure
// for more information of creating ApiManagementServiceResource, please refer to the document of ApiManagementServiceResource
string subscriptionId = "00000000-0000-0000-0000-000000000000";
string resourceGroupName = "rg1";
string serviceName = "apimService1";
ResourceIdentifier apiManagementServiceResourceId = ApiManagementServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, serviceName);
ApiManagementServiceResource apiManagementService = client.GetApiManagementServiceResource(apiManagementServiceResourceId);
// get the collection of this ApiResource
ApiCollection collection = apiManagementService.GetApis();
// invoke the operation
string apiId = "tempgroup";
ApiCreateOrUpdateContent content = new ApiCreateOrUpdateContent
{
Description = "apidescription5200",
ApiType = ApiType.WebSocket,
DisplayName = "apiname1463",
ServiceLink = "wss://echo.websocket.org",
Path = "newapiPath",
Protocols = { ApiOperationInvokableProtocol.Wss, ApiOperationInvokableProtocol.Ws },
};
ArmOperation<ApiResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, apiId, content);
ApiResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
ApiData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "wss://echo.websocket.org",
"type": "websocket",
"path": "newapiPath",
"protocols": [
"ws",
"wss"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
___location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2024-05-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=200
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5c730e343244df1b9cb56e85?api-version=2024-05-01
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
"type": "Microsoft.ApiManagement/service/apis",
"name": "apiid9419",
"properties": {
"displayName": "apiname1463",
"apiRevision": "1",
"description": "apidescription5200",
"serviceUrl": "wss://echo.websocket.org",
"type": "websocket",
"path": "newapiPath",
"protocols": [
"ws",
"wss"
],
"authenticationSettings": null,
"subscriptionKeyParameterNames": null,
"isCurrent": true,
"isOnline": true,
"provisioningState": "InProgress"
}
}
定义
Object
API 联系信息
名称 |
类型 |
说明 |
email
|
string
|
联系人/组织的电子邮件地址。 必须采用电子邮件地址格式
|
name
|
string
|
联系人/组织的标识名称
|
url
|
string
|
指向联系信息的 URL。 必须采用 URL 格式
|
ApiContract
Object
API 详细信息。
名称 |
类型 |
说明 |
id
|
string
|
资源的完全限定资源 ID。 Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
资源的名称
|
properties.apiRevision
|
string
minLength: 1 maxLength: 100
|
描述 API 的修订。 如果未提供任何值,则会创建默认修订版 1
|
properties.apiRevisionDescription
|
string
maxLength: 256
|
API 修订的说明。
|
properties.apiVersion
|
string
maxLength: 100
|
指示 API 的版本标识符(如果 API 已进行版本控制)
|
properties.apiVersionDescription
|
string
maxLength: 256
|
API 版本的说明。
|
properties.apiVersionSet
|
ApiVersionSetContractDetails
|
版本集详细信息
|
properties.apiVersionSetId
|
string
|
相关 ApiVersionSet 的资源标识符。
|
properties.authenticationSettings
|
AuthenticationSettingsContract
|
此 API 中包含的身份验证设置的集合。
|
properties.contact
|
ApiContactInformation
|
API 的联系信息。
|
properties.description
|
string
|
API 的说明。 可能包括 HTML 格式标记。
|
properties.displayName
|
string
minLength: 1 maxLength: 300
|
API 名称。 长度必须为 1 到 300 个字符。
|
properties.isCurrent
|
boolean
|
指示 API 修订是否为当前 API 修订版。
|
properties.isOnline
|
boolean
|
指示是否可通过网关访问 API 修订。
|
properties.license
|
ApiLicenseInformation
|
API 的许可证信息。
|
properties.path
|
string
minLength: 0 maxLength: 400
|
相对 URL 唯一标识此 API 及其所有资源路径在 API 管理服务实例中。 它追加到服务实例创建期间指定的 API 终结点基 URL,以形成此 API 的公共 URL。
|
properties.protocols
|
Protocol[]
|
描述可以调用此 API 中的作的协议。
|
properties.provisioningState
|
string
|
预配状态
|
properties.serviceUrl
|
string
minLength: 0 maxLength: 2000
|
实现此 API 的后端服务的绝对 URL。 长度不能超过 2000 个字符。
|
properties.sourceApiId
|
string
|
源 API 的 API 标识符。
|
properties.subscriptionKeyParameterNames
|
SubscriptionKeyParameterNamesContract
|
提供 API 的协议。
|
properties.subscriptionRequired
|
boolean
|
指定访问 API 是否需要 API 或产品订阅。
|
properties.termsOfServiceUrl
|
string
|
API 服务条款的 URL。 必须采用 URL 格式。
|
properties.type
|
ApiType
|
API 的类型。
|
type
|
string
|
资源的类型。 例如“Microsoft.Compute/virtualMachines”或“Microsoft.Storage/storageAccounts”
|
ApiCreateOrUpdateParameter
Object
API 创建或更新参数。
名称 |
类型 |
说明 |
apiRevision
|
string
minLength: 1 maxLength: 100
|
描述 API 的修订。 如果未提供任何值,则会创建默认修订版 1
|
apiRevisionDescription
|
string
maxLength: 256
|
API 修订的说明。
|
apiVersion
|
string
maxLength: 100
|
指示 API 的版本标识符(如果 API 已进行版本控制)
|
apiVersionDescription
|
string
maxLength: 256
|
API 版本的说明。
|
apiVersionSetId
|
string
|
相关 ApiVersionSet 的资源标识符。
|
authenticationSettings
|
AuthenticationSettingsContract
|
此 API 中包含的身份验证设置的集合。
|
contact
|
ApiContactInformation
|
API 的联系信息。
|
description
|
string
|
API 的说明。 可能包括 HTML 格式标记。
|
isCurrent
|
boolean
|
指示 API 修订是否为当前 API 修订版。
|
isOnline
|
boolean
|
指示是否可通过网关访问 API 修订。
|
license
|
ApiLicenseInformation
|
API 的许可证信息。
|
properties.apiType
|
SoapApiType
|
要创建的 API 的类型。
-
http 创建 REST API
-
soap 创建 SOAP 直通 API
-
websocket 创建 websocket API
-
graphql 创建 GraphQL API。
将来可以添加新类型。
|
properties.apiVersionSet
|
ApiVersionSetContractDetails
|
版本集详细信息
|
properties.displayName
|
string
minLength: 1 maxLength: 300
|
API 名称。 长度必须为 1 到 300 个字符。
|
properties.format
|
ContentFormat
|
导入 API 的内容的格式。 将来可以添加新格式
|
properties.path
|
string
minLength: 0 maxLength: 400
|
相对 URL 唯一标识此 API 及其所有资源路径在 API 管理服务实例中。 它追加到服务实例创建期间指定的 API 终结点基 URL,以形成此 API 的公共 URL。
|
properties.protocols
|
Protocol[]
|
描述可以调用此 API 中的作的协议。
|
properties.provisioningState
|
string
|
预配状态
|
properties.serviceUrl
|
string
minLength: 0 maxLength: 2000
|
实现此 API 的后端服务的绝对 URL。 长度不能超过 2000 个字符。
|
properties.sourceApiId
|
string
|
源 API 的 API 标识符。
|
properties.translateRequiredQueryParameters
|
TranslateRequiredQueryParametersConduct
|
将所需查询参数转换为模板参数的策略。 默认情况下,值为“template”。 可能的值:“template”、“query”
|
properties.value
|
string
|
导入 API 时的内容值。
|
properties.wsdlSelector
|
WsdlSelector
|
将 WSDL 导入限制为文档子集的条件。
|
subscriptionKeyParameterNames
|
SubscriptionKeyParameterNamesContract
|
提供 API 的协议。
|
subscriptionRequired
|
boolean
|
指定访问 API 是否需要 API 或产品订阅。
|
termsOfServiceUrl
|
string
|
API 服务条款的 URL。 必须采用 URL 格式。
|
type
|
ApiType
|
API 的类型。
|
Object
API 许可证信息
名称 |
类型 |
说明 |
name
|
string
|
用于 API 的许可证名称
|
url
|
string
|
用于 API 的许可证的 URL。 必须采用 URL 格式
|
ApiType
枚举
API 的类型。
值 |
说明 |
graphql
|
|
grpc
|
|
http
|
|
odata
|
|
soap
|
|
websocket
|
|
ApiVersionSetContractDetails
Object
API 版本集包含一组与 API 版本相关的常见配置
名称 |
类型 |
说明 |
description
|
string
|
API 版本集的说明。
|
id
|
string
|
现有 API 版本集的标识符。 省略此值以创建新的版本集。
|
name
|
string
|
API 版本集的显示名称。
|
versionHeaderName
|
string
|
如果 versioningScheme 设置为 header ,则表示 API 版本的 HTTP 标头参数的名称。
|
versionQueryName
|
string
|
如果 versioningScheme 设置为 query ,则指示 API 版本的查询参数的名称。
|
versioningScheme
|
versioningScheme
|
一个值,该值确定 API 版本标识符将位于 HTTP 请求中的位置。
|
AuthenticationSettingsContract
Object
API 身份验证设置。
bearerTokenSendingMethods
枚举
如何将令牌发送到服务器。
值 |
说明 |
authorizationHeader
|
使用持有者架构在授权标头中传输访问令牌
|
query
|
访问令牌将作为查询参数传输。
|
ContentFormat
枚举
导入 API 的内容的格式。 将来可以添加新格式
值 |
说明 |
graphql-link
|
托管在可公开访问的 Internet 地址上的 GraphQL API 终结点。
|
grpc
|
内容是内联的,内容类型是 gRPC protobuf 文件。
|
grpc-link
|
gRPC protobuf 文件托管在可公开访问的 Internet 地址上。
|
odata
|
内容是内联的,内容类型是 OData XML 文档。
|
odata-link
|
托管在可公开访问的 Internet 地址上的 OData 元数据文档。
|
openapi
|
内容是内联的,内容类型是 OpenAPI 3.0 YAML 文档。
|
openapi+json
|
内容是内联的,内容类型是 OpenAPI 3.0 JSON 文档。
|
openapi+json-link
|
OpenAPI 3.0 JSON 文档托管在可公开访问的 Internet 地址上。
|
openapi-link
|
OpenAPI 3.0 YAML 文档托管在可公开访问的 Internet 地址上。
|
swagger-json
|
内容是内联的,内容类型是 OpenAPI 2.0 JSON 文档。
|
swagger-link-json
|
OpenAPI 2.0 JSON 文档托管在可公开访问的 Internet 地址上。
|
wadl-link-json
|
WADL 文档托管在可公开访问的 Internet 地址上。
|
wadl-xml
|
内容是内联的,内容类型是 WADL 文档。
|
wsdl
|
内容是内联的,文档是 WSDL/Soap 文档。
|
wsdl-link
|
WSDL 文档托管在可公开访问的 Internet 地址上。
|
ErrorAdditionalInfo
Object
资源管理错误附加信息。
名称 |
类型 |
说明 |
info
|
object
|
其他信息。
|
type
|
string
|
其他信息类型。
|
ErrorDetail
Object
错误详细信息。
ErrorResponse
Object
错误响应
OAuth2AuthenticationSettingsContract
Object
API OAuth2 身份验证设置详细信息。
名称 |
类型 |
说明 |
authorizationServerId
|
string
|
OAuth 授权服务器标识符。
|
scope
|
string
|
作范围。
|
OpenIdAuthenticationSettingsContract
Object
API OAuth2 身份验证设置详细信息。
Protocol
枚举
描述可以调用此 API 中的作的协议。
SoapApiType
枚举
要创建的 API 的类型。
-
http
创建 REST API
-
soap
创建 SOAP 直通 API
-
websocket
创建 websocket API
-
graphql
创建 GraphQL API。
将来可以添加新类型。
值 |
说明 |
graphql
|
导入具有 GraphQL 前端的 API。
|
grpc
|
导入具有 gRPC 前端的 API。
|
http
|
导入具有 RESTful 前端的 SOAP API。
|
odata
|
导入具有 OData 前端的 API。
|
soap
|
导入具有 SOAP 前端的 SOAP API。
|
websocket
|
导入具有 Websocket 前端的 API。
|
SubscriptionKeyParameterNamesContract
Object
订阅密钥参数名称详细信息。
名称 |
类型 |
说明 |
header
|
string
|
订阅密钥标头名称。
|
query
|
string
|
订阅密钥查询字符串参数名称。
|
TranslateRequiredQueryParametersConduct
枚举
将所需查询参数转换为模板参数的策略。 默认情况下,值为“template”。 可能的值:“template”、“query”
值 |
说明 |
query
|
保留所需的查询参数(未完成翻译)。
|
template
|
将所需的查询参数转换为模板参数。 默认值
|
versioningScheme
枚举
一个值,该值确定 API 版本标识符将位于 HTTP 请求中的位置。
值 |
说明 |
Header
|
API 版本在 HTTP 标头中传递。
|
Query
|
API 版本在查询参数中传递。
|
Segment
|
API 版本在路径段中传递。
|
WsdlSelector
Object
将 WSDL 导入限制为文档子集的条件。
名称 |
类型 |
说明 |
wsdlEndpointName
|
string
|
要从 WSDL 导入的终结点的名称(端口)
|
wsdlServiceName
|
string
|
要从 WSDL 导入的服务的名称
|