Skip to content

Commit fadcd60

Browse files
committed
Merge branch 'main' into release-preview-apim-premv2
2 parents 24c9018 + e24b380 commit fadcd60

File tree

78 files changed

+1499
-625
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1499
-625
lines changed

.openpublishing.build.ps1

Lines changed: 0 additions & 17 deletions
This file was deleted.

.openpublishing.publish.config.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,12 @@
590590
"branch": "main",
591591
"branch_mapping": {}
592592
},
593+
{
594+
"path_to_root": "msdocs-jboss-mysql-sample-app",
595+
"url": "https://github.com/Azure-Samples/msdocs-jboss-mysql-sample-app",
596+
"branch": "main",
597+
"branch_mapping": {}
598+
},
593599
{
594600
"path_to_root": "playwright-testing-service",
595601
"url": "https://github.com/microsoft/playwright-testing-service",

articles/api-management/add-api-manually.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Test the operation in the Azure portal. You can also test it in the **Developer
9191
This section shows how to add a wildcard operation. A wildcard operation lets you pass an arbitrary value with an API request. Instead of creating separate GET operations as shown in the previous sections, you could create a wildcard GET operation.
9292

9393
> [!CAUTION]
94-
> Use care when configuring a wildcard operation. This configuration may make an API more vulnerable to certain [API security threats](mitigate-owasp-api-threats.md#improper-assets-management).
94+
> Use care when configuring a wildcard operation. This configuration may make an API more vulnerable to certain [API security threats](mitigate-owasp-api-threats.md#improper-inventory-management).
9595
9696
### Add the operation
9797

articles/api-management/api-management-howto-api-inspector.md

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: api-management
55
author: dlepow
66
ms.service: azure-api-management
77
ms.topic: tutorial
8-
ms.date: 05/05/2024
8+
ms.date: 11/04/2024
99
ms.author: danlep
1010
ms.custom: devdivchpfy22
1111
---
@@ -36,11 +36,14 @@ In this tutorial, you learn how to:
3636

3737
## Trace a call in the portal
3838

39+
Follow these steps to trace an API request in the test console in the portal. This example assumes that you [imported](import-and-publish.md) a sample API in a previous tutorial. You can follow similar steps with a different API that you imported.
40+
3941
1. Sign in to the [Azure portal](https://portal.azure.com), and navigate to your API Management instance.
40-
1. Select **APIs**.
41-
1. Select **Demo Conference API** from your API list.
42+
1. Select **APIs** > **APIs**.
43+
1. Select **Petstore API** from your API list.
4244
1. Select the **Test** tab.
43-
1. Select the **GetSpeakers** operation.
45+
1. Select the **Find pet by ID** operation.
46+
1. In the *petId* **Query parameter**, enter *1*.
4447
1. Optionally check the value for the **Ocp-Apim-Subscription-Key** header used in the request by selecting the "eye" icon.
4548
> [!TIP]
4649
> You can override the value of **Ocp-Apim-Subscription-Key** by retrieving a key for another subscription in the portal. Select **Subscriptions**, and open the context menu (**...**) for another subscription. Select **Show/hide keys** and copy one of the keys. You can also regenerate keys if needed. Then, in the test console, select **+ Add header** to add an **Ocp-Apim-Subscription-Key** header with the new key value.
@@ -55,7 +58,7 @@ In this tutorial, you learn how to:
5558

5659
:::image type="content" source="media/api-management-howto-api-inspector/response-trace-1.png" alt-text="Review response trace":::
5760

58-
* **Inbound** - Shows the original request API Management received from the caller and the policies applied to the request. For example, if you added policies in [Tutorial: Transform and protect your API](transform-api.md), they'll appear here.
61+
* **Inbound** - Shows the original request API Management received from the caller and the policies applied to the request. For example, if you added policies in [Tutorial: Transform and protect your API](transform-api.md), they appear here.
5962

6063
* **Backend** - Shows the requests API Management sent to the API backend and the response it received.
6164

@@ -69,25 +72,31 @@ In this tutorial, you learn how to:
6972

7073
## Enable tracing for an API
7174

72-
You can enable tracing for an API when making requests to API Management using `curl`, a REST client such as Visual Studio Code with the REST Client extension, or a client app.
75+
The following high level steps are required to enable tracing for a request to API Management when using `curl`, a REST client such as Visual Studio Code with the REST Client extension, or a client app. Currently these steps must be followed using the [API Management REST API](/rest/api/apimanagement):
76+
77+
1. Obtain a token credential for tracing.
78+
1. Add the token value in an `Apim-Debug-Authorization` request header to the API Management gateway.
79+
1. Obtain a trace ID in the `Apim-Trace-Id` response header.
80+
1. Retrieve the trace corresponding to the trace ID.
7381

74-
Enable tracing by the following steps using calls to the API Management REST API.
82+
Detailed steps follow.
7583

7684
> [!NOTE]
77-
> The following steps require API Management REST API version 2023-05-01-preview or later. You must be assigned the Contributor or higher role on the API Management instance to call the REST API.
85+
> * These steps require API Management REST API version 2023-05-01-preview or later. You must be assigned the Contributor or higher role on the API Management instance to call the REST API.
86+
> * For information about authenticating to the REST API, see [Azure REST API reference](/rest/api/azure).
7887
79-
1. Obtain trace credentials by calling the [List debug credentials](/rest/api/apimanagement/gateway/list-debug-credentials) API. Pass the gateway ID in the URI, or use "managed" for the instance's managed gateway in the cloud. For example, to obtain trace credentials for the managed gateway, use a call similar to the following:
88+
1. **Obtain a token credential** - Call the API Management gateway's [List debug credentials](/rest/api/apimanagement/gateway/list-debug-credentials) API. In the URI, enter "managed" for the instance's managed gateway in the cloud, or the gateway ID for a self-hosted gateway. For example, to obtain trace credentials for the instance's managed gateway, use a request similar to the following:
8089

8190
```http
8291
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listDebugCredentials?api-version=2023-05-01-preview
8392
```
8493
85-
In the request body, pass the full resource ID of the API that you want to trace, and specify `purposes` as `tracing`. By default the token credential returned in the response expires after 1 hour, but you can specify a different value in the payload.
94+
In the request body, pass the full resource ID of the API that you want to trace, and specify `purposes` as `tracing`. By default the token credential returned in the response expires after 1 hour, but you can specify a different value in the payload. For example:
8695
8796
```json
8897
{
8998
"credentialsExpireAfter": PT1H,
90-
"apiId": "<API resource ID>",
99+
"apiId": ""/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiName}",
91100
"purposes": ["tracing"]
92101
}
93102
```
@@ -96,21 +105,27 @@ Enable tracing by the following steps using calls to the API Management REST API
96105
97106
```json
98107
{
99-
"token": "aid=api-name&p=tracing&ex=......."
108+
"token": "aid=api-name&......."
100109
}
101110
```
102111
103-
1. To enable tracing for a request to the API Management gateway, send the token value in an `Apim-Debug-Authorization` header. For example, to trace a call to the demo conference API, use a call similar to the following:
112+
1. **Add the token value in a request header** - To enable tracing for a request to the API Management gateway, send the token value in an `Apim-Debug-Authorization` header. For example, to trace a call to the Petstore API that you imported in a previous tutorial, you might use a request similar to the following:
104113
105114
```bash
106-
curl -v GET https://apim-hello-world.azure-api.net/conference/speakers HTTP/1.1 -H "Ocp-Apim-Subscription-Key: <subscription-key>" -H "Apim-Debug-Authorization: aid=api-name&p=tracing&ex=......."
115+
curl -v https://apim-hello-world.azure-api.net/pet/1 HTTP/1.1 -H "Ocp-Apim-Subscription-Key: <subscription-key>" -H "Apim-Debug-Authorization: aid=api-name&......."
107116
```
108-
1. Depending on the token, the response contains different headers:
109-
* If the token is valid, the response includes an `Apim-Trace-Id` header whose value is the trace ID.
117+
118+
1. Depending on the token, the response contains one of the following headers:
119+
* If the token is valid, the response includes an `Apim-Trace-Id` header whose value is the trace ID, similar to the following:
120+
121+
```http
122+
Apim-Trace-Id: 0123456789abcdef....
123+
```
124+
110125
* If the token is expired, the response includes an `Apim-Debug-Authorization-Expired` header with information about expiration date.
111-
* If the token was obtained for wrong API, the response includes an `Apim-Debug-Authorization-WrongAPI` header with an error message.
126+
* If the token was obtained for a different API, the response includes an `Apim-Debug-Authorization-WrongAPI` header with an error message.
112127
113-
1. To retrieve the trace, pass the trace ID obtained in the previous step to the [List trace](/rest/api/apimanagement/gateway/list-trace) API for the gateway. For example, to retrieve the trace for the managed gateway, use a call similar to the following:
128+
1. **Retrieve the trace** - Pass the trace ID obtained in the previous step to the gateway's [List trace](/rest/api/apimanagement/gateway/list-trace) API. For example, to retrieve the trace for the managed gateway, use a request similar to the following:
114129
115130
```http
116131
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listTrace?api-version=2023-05-01-preview
@@ -120,7 +135,7 @@ Enable tracing by the following steps using calls to the API Management REST API
120135
121136
```json
122137
{
123-
"traceId": "<trace ID>"
138+
"traceId": "0123456789abcdef...."
124139
}
125140
```
126141
@@ -134,7 +149,7 @@ For information about customizing trace information, see the [trace](trace-polic
134149
In this tutorial, you learned how to:
135150
136151
> [!div class="checklist"]
137-
> * Trace an example call
152+
> * Trace an example call in the test conosle
138153
> * Review request processing steps
139154
> * Enable tracing for an API
140155

0 commit comments

Comments
 (0)