You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/api-management/api-management-api-import-restrictions.md
+20-19Lines changed: 20 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -109,14 +109,14 @@ Security definitions are ignored.
109
109
When importing query parameters, only the default array serialization method (`style: form`, `explode: true`) is supported. For more details on query parameters in OpenAPI specifications, refer to [the serialization specification](https://swagger.io/docs/specification/serialization/).
110
110
111
111
<!-- Ref: 1795433 Parameter limitations -->
112
-
Parameters [defined in cookies](https://swagger.io/docs/specification/describing-parameters/#cookie-parameters)are not supported. You can still use policy to decode and validate the contents of cookies.
112
+
Parameters [defined in cookies](https://swagger.io/docs/specification/describing-parameters/#cookie-parameters)aren't supported. You can still use policy to decode and validate the contents of cookies.
113
113
114
114
### <aname="open-api-v2"> </a>OpenAPI version 2
115
115
116
116
OpenAPI version 2 support is limited to JSON format only.
117
117
118
118
<!-- Ref: 1795433 Parameter limitations -->
119
-
["Form" type parameters](https://swagger.io/specification/v2/#parameter-object)are not supported. You can still use policy to decode and validate `application/x-www-form-urlencoded` and `application/form-data` payloads.
119
+
["Form" type parameters](https://swagger.io/specification/v2/#parameter-object)aren't supported. You can still use policy to decode and validate `application/x-www-form-urlencoded` and `application/form-data` payloads.
120
120
121
121
### <aname="open-api-v3"> </a>OpenAPI version 3.x
122
122
@@ -128,19 +128,20 @@ API Management supports the following specification versions:
128
128
#### HTTPS URLs
129
129
130
130
* If multiple `servers` are specified, API Management will use the first HTTPS URL it finds.
131
-
* If there aren't any HTTPS URLs, the server URL will be empty.
131
+
* If there aren't any HTTPS URLs, the server URL is empty.
132
132
133
133
#### Supported
134
134
135
135
-`example`
136
136
137
137
#### Unsupported
138
138
139
-
The following fields are included in [OpenAPI version 3.0.x](https://swagger.io/specification/), but are not supported:
139
+
The following fields are included in either [OpenAPI version 3.0.x](https://swagger.io/specification/) or [OpenAPI version 3.1.x](https://spec.openapis.org/oas/v3.1.0), but aren't supported:
@@ -159,10 +160,10 @@ For configuration management of API definitions across different services/enviro
159
160
160
161
### Add new API via OpenAPI import
161
162
162
-
For each operation found in the OpenAPI document, a new operation will be created with:
163
+
For each operation found in the OpenAPI document, a new operation is created with:
163
164
* Azure resource name set to `operationId`.
164
165
*`operationId` value is normalized.
165
-
* If `operationId` isn't specified (not present, `null`, or empty), Azure resource name value will be generated by combining HTTP method and path template.
166
+
* If `operationId` isn't specified (not present, `null`, or empty), Azure resource name value is generated by combining HTTP method and path template.
166
167
* For example, `get-foo`.
167
168
168
169
* Display name set to `summary`.
@@ -174,9 +175,9 @@ For each operation found in the OpenAPI document, a new operation will be create
174
175
**Normalization rules for `operationId`**
175
176
- Convert to lower case.
176
177
- Replace each sequence of non-alphanumeric characters with a single dash.
177
-
- For example, `GET-/foo/{bar}?buzz={quix}`will be transformed into `get-foo-bar-buzz-quix-`.
178
+
- For example, `GET-/foo/{bar}?buzz={quix}`is transformed into `get-foo-bar-buzz-quix-`.
178
179
- Trim dashes on both sides.
179
-
- For example, `get-foo-bar-buzz-quix-`will become`get-foo-bar-buzz-quix`
180
+
- For example, `get-foo-bar-buzz-quix-`becomes`get-foo-bar-buzz-quix`
180
181
- Truncate to fit 76 characters, four characters less than maximum limit for a resource name.
181
182
- Use remaining four characters for a de-duplication suffix, if necessary, in the form of `-1, -2, ..., -999`.
182
183
@@ -185,12 +186,12 @@ For each operation found in the OpenAPI document, a new operation will be create
185
186
During import, the existing API operation:
186
187
* Changes to match the API described in the OpenAPI document.
187
188
* Matches to an operation in the OpenAPI document by comparing its `operationId` value to the existing operation's Azure resource name.
188
-
* If a match is found, existing operation’s properties will be updated "in-place".
189
+
* If a match is found, existing operation’s properties are updated "in-place".
189
190
* If a match isn't found:
190
-
* A new operation will be created by combining HTTP method and path template, for example, `get-foo`.
191
+
* A new operation is created by combining HTTP method and path template, for example, `get-foo`.
191
192
* For each new operation, the import will attempt to copy policies from an existing operation with the same HTTP method and path template.
192
193
193
-
All existing unmatched operations will be deleted.
194
+
All existing unmatched operations are deleted.
194
195
195
196
To make import more predictable, follow these guidelines:
196
197
@@ -201,17 +202,17 @@ To make import more predictable, follow these guidelines:
201
202
**Normalization rules for `operationId`**
202
203
- Convert to lower case.
203
204
- Replace each sequence of non-alphanumeric characters with a single dash.
204
-
- For example, `GET-/foo/{bar}?buzz={quix}`will be transformed into `get-foo-bar-buzz-quix-`.
205
+
- For example, `GET-/foo/{bar}?buzz={quix}`is transformed into `get-foo-bar-buzz-quix-`.
205
206
- Trim dashes on both sides.
206
-
- For example, `get-foo-bar-buzz-quix-`will become`get-foo-bar-buzz-quix`
207
+
- For example, `get-foo-bar-buzz-quix-`becomes`get-foo-bar-buzz-quix`
207
208
- Truncate to fit 76 characters, four characters less than maximum limit for a resource name.
208
209
- Use remaining four characters for a de-duplication suffix, if necessary, in the form of `-1, -2, ..., -999`.
209
210
210
211
### Export API as OpenAPI
211
212
212
-
For each operation, its:
213
-
* Azure resource name will be exported as an `operationId`.
214
-
* Display name will be exported as a `summary`.
213
+
For each operation, it's:
214
+
* Azure resource name is exported as an `operationId`.
215
+
* Display name is exported as a `summary`.
215
216
216
217
Note that normalization of the `operationId` is done on import, not on export.
217
218
@@ -230,7 +231,7 @@ You can create [SOAP pass-through](import-soap-api.md) and [SOAP-to-REST](restif
230
231
231
232
### WS-* specifications
232
233
233
-
WSDL files incorporating WS-* specifications are not supported.
@@ -244,13 +245,13 @@ This message type is not supported.
244
245
- Official support isn't offered at this time.
245
246
246
247
### Recursion
247
-
- Types defined recursively are not supported by API Management.
248
+
- Types defined recursively aren't supported by API Management.
248
249
- For example, refer to an array of themselves.
249
250
250
251
### Multiple Namespaces
251
252
While multiple namespaces can be used in a schema, only the target namespace can be used to define message parts. These namespaces are used to define other input or output elements.
252
253
253
-
Namespaces other than the target are not preserved on export. While you can import a WSDL document defining message parts with other namespaces, all message parts will have the WSDL target namespace on export.
254
+
Namespaces other than the target aren't preserved on export. While you can import a WSDL document defining message parts with other namespaces, all message parts will have the WSDL target namespace on export.
254
255
255
256
### Arrays
256
257
SOAP-to-REST transformation supports only wrapped arrays shown in the example below:
Copy file name to clipboardExpand all lines: articles/devtest-labs/devtest-lab-delete-lab-vm.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,9 @@ When you create a VM in a lab, DevTest Labs automatically creates resources for
19
19
- The VM's key vault in the lab's resource group.
20
20
- Any availability set, load balancer, or public IP address in the VM's resource group. These resources are shared by multiple VMs in a resource group.
21
21
22
+
> [!CAUTION]
23
+
> Deleting VMs and labs is permanent, and cannot be undone.
24
+
22
25
To delete a VM from a lab:
23
26
24
27
1. On the lab's **Overview** page in the Azure portal, find the VM you want to delete in the list under **My virtual machines**.
@@ -33,7 +36,8 @@ To delete a VM from a lab:
33
36
- Select the VM name in the list, and then on the VM's **Overview** page, select **Delete** from the top menu.
34
37

35
38
36
-
1. On the **Are you sure you want to delete it?** page, select **Delete**.
39
+
1. On the **Are you sure you want to delete it?** page, select **Delete**.</br>
40
+
The deletion of the VM, it's network interface, and it's associated OS disks is permanent, and cannot be undone.
37
41
38
42

39
43
@@ -58,7 +62,8 @@ To delete a lab:
58
62
59
63

60
64
61
-
1. On the **Are you sure you want to delete it?** page, under **Type the lab name**, type the lab name, and then select **Delete**.
65
+
1. On the **Are you sure you want to delete it?** page, under **Type the lab name**, type the lab name, and then select **Delete**.</br>
66
+
The deletion of the lab and all it's resources is permanent, and cannot be undone.
62
67
63
68

This guide shows how you can check the health and performance for both Consumption and Standard logic app workflows.
19
+
20
+
## Prerequisites
21
+
22
+
* An Azure account and subscription. If you don't have a subscription, [sign up for a free Azure account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
23
+
24
+
* A Consumption workflow or Standard workflow that is running or has run at least once
25
+
26
+
## Find and view metrics
27
+
28
+
### [Consumption](#tab/consumption)
29
+
30
+
1. In the [Azure portal](https://portal.azure.com), open your logic app resource.
31
+
32
+
1. On the logic app resource menu, under **Monitoring**, select **Metrics**.
33
+
34
+
The **Metrics** page shows the following lists: **Scope**, **Metric Namespace**, and **Metric**.
35
+
36
+
1. Make sure that **Scope** is set to your Consumption logic app name and that **Metric Namespace** is set to **Logic app standard metrics**.
37
+
38
+
1. Open the **Metric** list to view the available metrics for your workflow.
39
+
40
+
:::image type="content" source="./media/view-workflow-metrics/view-metrics-consumption.png" alt-text="Screenshot showing Azure portal, Consumption logic app resource menu with Metrics selected, and the Metric list opened.":::
41
+
42
+
For more information about Consumption workflow metrics, see [Supported metrics with Azure Monitor - Microsoft.Logic/workflows](../azure-monitor/essentials/metrics-supported.md#microsoftlogicworkflows).
43
+
44
+
1. From the **Metric** list, select the metric that you want to review. From the **Aggregation** list, select the option for how you want to group the metric's values: **Count**, **Avg**, **Min**, **Max**, or **Sum**.
45
+
46
+
### [Standard (preview)](#tab/standard)
47
+
48
+
1. In the [Azure portal](https://portal.azure.com), open your logic app resource.
49
+
50
+
1. On the logic app resource menu, under **Monitoring**, select **Metrics**.
51
+
52
+
The **Metrics** page shows the following lists: **Scope**, **Metric Namespace**, and **Metric**.
53
+
54
+
1. Make sure that **Scope** is set to your Standard logic app name and that **Metric Namespace** is set to **App Service standard metrics**.
55
+
56
+
1. In the **Metric** search box, enter **workflow** to view the metrics that start with **Workflow**.
57
+
58
+
The filtered list now shows the available metrics for your workflow:
59
+
60
+
| Metric name | Description |
61
+
|-------------|-------------|
62
+
|**Workflow Action Completed Count**| The number of completed actions, regardless of status. |
63
+
|**Workflow Job Execution Delay**| The amount of time between when a job was scheduled to run and when the job actually ran. |
64
+
|**Workflow Job Execution Duration**| The amount of time that a job took to complete execution. |
65
+
|**Workflow Runs Completed Count**| The number of completed workflow executions, regardless of status. |
66
+
|**Workflow Runs Dispatched Count**| The number of previously queued requests that are now processed. |
67
+
|**Workflow Runs Started Count**| The number of started workflows, regardless of outcome status. |
68
+
|**Workflow Triggers Completed Count**| The number of completed triggers, regardless of outcome. |
69
+
70
+
:::image type="content" source="./media/view-workflow-metrics/view-metrics-standard.png" alt-text="Screenshot showing Azure portal, Standard logic app resource menu with Metrics selected, the Metric search box with workflow entered, and the Metric list opened.":::
71
+
72
+
> [!NOTE]
73
+
>
74
+
> For information about non-workflow related metrics, such as Azure App Service metrics for Standard workflows,
75
+
> see [Monitor apps in Azure App Service - Understand metrics](../app-service/web-sites-monitor.md#understand-metrics).
76
+
77
+
1. From the **Metric** list, select the metric that you want to review. From the **Aggregation** list, select the option for how you want to group the metric's values: **Count**, **Avg**, **Min**, **Max**, or **Sum**.
78
+
79
+
#### Filter on a specific workflow
80
+
81
+
If your Standard logic app has multiple workflows running, you can filter the results by workflow.
82
+
83
+
1. Under the **Metrics** toolbar, select **Add filter**.
84
+
85
+
1. From the **Property** list, select **Workflow Name**.
86
+
87
+
1. From the **Values** list, select the specific workflow.
88
+
89
+
#### Filter on a specific workflow status
90
+
91
+
1. Under the **Metrics** toolbar, select **Add filter**.
92
+
93
+
1. From the **Property** list, select **Status**.
94
+
95
+
1. From the **Values** list, select the status.
96
+
97
+
#### Example
98
+
99
+
Suppose that you want to view the number of workflow runs that have a specific status over the past 24 hours.
100
+
101
+
1. From the **Metric** list, select the metric named **Workflow Runs Completed**.
102
+
103
+
1. From the **Aggregation** list, select **Sum**.
104
+
105
+
:::image type="content" source="./media/view-workflow-metrics/example-metric-standard.png" alt-text="Screenshot showing example metric for Standard logic app.":::
106
+
107
+
In this example, the Standard logic app has multiple workflows running. So, you can filter the results by adding a filter.
108
+
109
+
1. Under the **Metrics** toolbar, select **Add filter**.
110
+
111
+
1. From the **Property** list, select **Workflow Name**.
112
+
113
+
1. From the **Values** list, select the specific workflow.
114
+
115
+
:::image type="content" source="./media/view-workflow-metrics/example-add-filter-standard.png" alt-text="Screenshot showing example added metrics filter for Standard logic app.":::
0 commit comments