Skip to content

Commit ed5c71c

Browse files
authored
Merge pull request #221062 from MicrosoftDocs/main
12/09 PM Publish
2 parents bc6c014 + 9a1d2b4 commit ed5c71c

File tree

116 files changed

+2232
-1303
lines changed

Some content is hidden

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

116 files changed

+2232
-1303
lines changed

.openpublishing.publish.config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -978,6 +978,7 @@
978978
"articles/cognitive-services/.openpublishing.redirection.cognitive-services.json",
979979
".openpublishing.redirection.baremetal-infrastructure.json",
980980
"articles/iot-dps/.openpublishing.redirection.iot-dps.json",
981-
"articles/cloud-shell/.openpublishing.redirection.cloud-shell.json"
981+
"articles/cloud-shell/.openpublishing.redirection.cloud-shell.json",
982+
".openpublishing.redirection.azure-vmware.json"
982983
]
983984
}

.openpublishing.redirection.azure-monitor.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5571,6 +5571,16 @@
55715571
"source_path_from_root": "/articles/azure-monitor/app/java-2x-micrometer.md",
55725572
"redirect_url": "/azure/azure-monitor/app/deprecated-java-2x",
55735573
"redirect_document_id": false
5574+
},
5575+
{
5576+
"source_path_from_root": "/articles/azure-monitor/vm/tutorial-monitor-vm-alert.md",
5577+
"redirect_url": "/azure/azure-monitor/vm/tutorial-monitor-vm-alert-availability",
5578+
"redirect_document_id": false
5579+
},
5580+
{
5581+
"source_path_from_root": "/articles/azure-monitor/vm/tutorial-monitor-vm-enable.md",
5582+
"redirect_url": "/azure/azure-monitor/vm/tutorial-monitor-vm-enable-insights",
5583+
"redirect_document_id": false
55745584
}
55755585
]
55765586
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"redirections": [
3+
{
4+
"source_path_from_root": "/articles/azure-vmware/send-logs-to-log-analytics.md",
5+
"redirect_url": "/azure/azure-vmware/configure-vmware-syslogs",
6+
"redirect_document_id": false
7+
}
8+
]
9+
}

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"redirections": [
3+
{
4+
"source_path_from_root": "/articles/storage/queues/storage-quickstart-queues-dotnet-legacy.md",
5+
"redirect_url": "/azure/storage/queues/storage-quickstart-queues-dotnet",
6+
"redirect_document_id": false
7+
},
38
{
49
"source_path_from_root": "/articles/sentinel/iot-solution.md",
510
"redirect_url": "/azure/defender-for-iot/organizations/iot-solution",

articles/active-directory/roles/custom-create.md

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: active-directory
88
ms.workload: identity
99
ms.subservice: roles
1010
ms.topic: how-to
11-
ms.date: 10/06/2021
11+
ms.date: 12/09/2022
1212
ms.author: rolyon
1313
ms.reviewer: vincesm
1414
ms.custom: it-pro
@@ -104,14 +104,10 @@ $roleAssignment = New-AzureADMSRoleAssignment -DirectoryScopeId $resourceScope -
104104

105105
## Create a role with the Microsoft Graph API
106106

107-
1. Create the role definition.
108-
109-
HTTP request to create a custom role definition.
110-
111-
POST
107+
1. Use the [Create unifiedRoleDefinition](/graph/api/rbacapplication-post-roledefinitions) API to create a custom role.
112108

113109
``` HTTP
114-
https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions
110+
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions
115111
```
116112
117113
Body
@@ -136,14 +132,10 @@ $roleAssignment = New-AzureADMSRoleAssignment -DirectoryScopeId $resourceScope -
136132
> [!Note]
137133
> The `"templateId": "GUID"` is an optional parameter that's sent in the body depending on the requirement. If you have a requirement to create multiple different custom roles with common parameters, it's best to create a template and define a `templateId` value. You can generate a `templateId` value beforehand by using the PowerShell cmdlet `(New-Guid).Guid`.
138134
139-
1. Create the role assignment.
140-
141-
HTTP request to create a custom role definition.
142-
143-
POST
135+
1. Use the [Create unifiedRoleAssignment](/graph/api/rbacapplication-post-roleassignments) API to assign the custom role.
144136
145137
```http
146-
https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
138+
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
147139
```
148140
149141
Body

articles/api-management/api-management-policy-expressions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ author: dlepow
77

88
ms.service: api-management
99
ms.topic: article
10-
ms.date: 02/07/2022
10+
ms.date: 12/08/2022
1111
ms.author: danlep
1212
---
1313
# API Management policy expressions
@@ -213,7 +213,7 @@ The `context` variable is implicitly available in every policy [expression](api-
213213
|<a id="ref-context-user"></a>`context.User`|`Email`: `string`<br /><br /> `FirstName`: `string`<br /><br /> `Groups`: `IEnumerable<`[`IGroup`](#ref-igroup)`>`<br /><br /> `Id`: `string`<br /><br /> `Identities`: `IEnumerable<`[`IUserIdentity`](#ref-iuseridentity)`>`<br /><br /> `LastName`: `string`<br /><br /> `Note`: `string`<br /><br /> `RegistrationDate`: `DateTime`|
214214
|<a id="ref-iapi"></a>`IApi`|`Id`: `string`<br /><br /> `Name`: `string`<br /><br /> `Path`: `string`<br /><br /> `Protocols`: `IEnumerable<string>`<br /><br /> `ServiceUrl`: [`IUrl`](#ref-iurl)<br /><br /> `SubscriptionKeyParameterNames`: [`ISubscriptionKeyParameterNames`](#ref-isubscriptionkeyparameternames)|
215215
|<a id="ref-igroup"></a>`IGroup`|`Id`: `string`<br /><br /> `Name`: `string`|
216-
|<a id="ref-imessagebody"></a>`IMessageBody`|`As<T>(preserveContent: bool = false): Where T: string, byte[],JObject, JToken, JArray, XNode, XElement, XDocument`<br /><br /> The `context.Request.Body.As<T>` and `context.Response.Body.As<T>` methods are used to read either a request and response message body in specified type `T`. By default, the method:<br /><ul><li>Uses the original message body stream.</li><li>Renders it unavailable after it returns.</li></ul> <br />To avoid that and have the method operate on a copy of the body stream, set the `preserveContent` parameter to `true`, as in [this example](api-management-transformation-policies.md#SetBody).|
216+
|<a id="ref-imessagebody"></a>`IMessageBody`|`As<T>(bool preserveContent = false): Where T: string, byte[], JObject, JToken, JArray, XNode, XElement, XDocument` <br /><br /> - The `context.Request.Body.As<T>` and `context.Response.Body.As<T>` methods read a request or response message body in specified type `T`. <br/><br/> - Or - <br/><br/>`AsFormUrlEncodedContent(bool preserveContent = false)` <br/></br>- The `context.Request.Body.AsFormUrlEncodedContent()` and `context.Response.Body.AsFormUrlEncodedContent()` methods read URL-encoded form data in a request or response message body and return an `IDictionary<string, IList<string>>` object. The decoded object supports `IDictionary` operations and the following expressions: `ToQueryString()`, `JsonConvert.SerializeObject()`, `ToFormUrlEncodedContent().` <br/><br/> By default, the `As<T>` and `AsFormUrlEncodedContent()` methods:<br /><ul><li>Use the original message body stream.</li><li>Render it unavailable after it returns.</li></ul> <br />To avoid that and have the method operate on a copy of the body stream, set the `preserveContent` parameter to `true`, as in [this example](api-management-transformation-policies.md#SetBody).|
217217
|<a id="ref-iprivateendpointconnection"></a>`IPrivateEndpointConnection`|`Name`: `string`<br /><br /> `GroupId`: `string`<br /><br /> `MemberName`: `string`<br /><br />For more information, see the [REST API](/rest/api/apimanagement/current-ga/private-endpoint-connection/list-private-link-resources).|
218218
|<a id="ref-iurl"></a>`IUrl`|`Host`: `string`<br /><br /> `Path`: `string`<br /><br /> `Port`: `int`<br /><br /> [`Query`](#ref-iurl-query): `IReadOnlyDictionary<string, string[]>`<br /><br /> `QueryString`: `string`<br /><br /> `Scheme`: `string`|
219219
|<a id="ref-iuseridentity"></a>`IUserIdentity`|`Id`: `string`<br /><br /> `Provider`: `string`|

articles/api-management/api-management-transformation-policies.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: dlepow
66

77
ms.service: api-management
88
ms.topic: reference
9-
ms.date: 03/07/2022
9+
ms.date: 12/08/2022
1010
ms.author: danlep
1111
---
1212

@@ -346,7 +346,7 @@ In this example the policy routes the request to a service fabric backend, using
346346
> - Preserving the content of a request in the outbound pipeline doesn't make sense because the request has already been sent to the backend at this point.
347347
> - If this policy is used when there is no message body, for example in an inbound GET, an exception is thrown.
348348
349-
For more information, see the `context.Request.Body`, `context.Response.Body`, and the `IMessage` sections in the [Context variable](api-management-policy-expressions.md#ContextVariables) table.
349+
For more information, see the `context.Request.Body`, `context.Response.Body`, and the `IMessageBody` sections in the [Context variable](api-management-policy-expressions.md#ContextVariables) table.
350350

351351
[!INCLUDE [api-management-policy-generic-alert](../../includes/api-management-policy-generic-alert.md)]
352352

@@ -399,6 +399,19 @@ Since we are not reserving the original request body, accessing it later in the
399399

400400
```
401401

402+
#### Example accessing the body as URL-encoded form data
403+
The following example uses the `AsFormUrlEncodedContent()` expression to access the request body as URL-encoded form data (content type `application/x-www-form-urlencoded`), and then converts it to JSON. Since we are not reserving the original request body, accessing it later in the pipeline will result in an exception.
404+
405+
```xml
406+
<set-body
407+
@{ 
408+
var inBody = context.Request.Body.AsFormUrlEncodedContent();
409+
return JsonConvert.SerializeObject(inBody); 
410+
411+
</set-body>
412+
413+
```
414+
402415
#### Filter response based on product
403416
This example shows how to perform content filtering by removing data elements from the response received from a backend service when using the `Starter` product. The example backend response includes root-level properties similar to the [OpenWeather One Call API](https://openweathermap.org/api/one-call-api).
404417

articles/api-management/index.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ landingContent:
3131
url: /azure/architecture/reference-architectures/enterprise-integration/basic-enterprise-integration?toc=%2Fazure%2Fapi-management%2Ftoc.json&bc=/azure/api-management/breadcrumb/toc.json
3232
- text: Landing zone accelerator
3333
url: /azure/architecture/example-scenario/integration/app-gateway-internal-api-management-function?toc=%2Fazure%2Fapi-management%2Ftoc.json&bc=/azure/api-management/breadcrumb/toc.json
34+
- linkListType: learn
35+
links:
36+
- text: Introduction to Azure API Management
37+
url: /training/modules/introduction-to-azure-api-management/
38+
- text: Explore API Management
39+
url: /training/modules/explore-api-management/
3440
# Card (optional)
3541
- title: Create an instance
3642
linkLists:

articles/app-service/configure-ssl-certificate.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ The free certificate comes with the following limitations:
8383
- Must meet all the above for successful certificate issuances and renewals.
8484

8585
### [Subdomain](#tab/subdomain)
86-
- Must have CNAME mapped _directly_ to `<app-name>.azurewebsites.net`. Mapping to an intermediate CNAME value blocks certificate issuance and renewal.
86+
- Must have CNAME mapped _directly_ to `<app-name>.azurewebsites.net` or [trafficmanager.net](configure-domain-traffic-manager.md#enable-custom-domain). Mapping to an intermediate CNAME value blocks certificate issuance and renewal.
8787
- Must meet all the above for successful certificate issuance and renewals.
8888

8989
---

articles/app-service/quickstart-wordpress.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ To complete this quickstart, you need an Azure account with an active subscripti
2020
> [!IMPORTANT]
2121
> After November 28, 2022, [PHP will only be supported on App Service on Linux.](https://github.com/Azure/app-service-linux-docs/blob/master/Runtime_Support/php_support.md#end-of-life-for-php-74).
2222
>
23-
> Additional documentation, including [Migrating to App Service](https://github.com/Azure/wordpress-linux-appservice/blob/main/WordPress/wordpress_migration_linux_appservices.md), can be found at [WordPress - App Service on Linux](https://github.com/Azure/wordpress-linux-appservice/tree/main/WordPress).
23+
> Additional documentation, including [Migrating to App Service](https://github.com/Azure/wordpress-linux-appservice/blob/main/WordPress/wordpress_migration_linux_appservices.md), can be found at [WordPress - App Service on Linux](https://github.com/Azure/wordpress-linux-appservice).
2424
>
2525
2626
## Create WordPress site using Azure portal
@@ -102,4 +102,4 @@ Congratulations, you've successfully completed this quickstart!
102102
> [Tutorial: PHP app with MySQL](tutorial-php-mysql-app.md)
103103
104104
> [!div class="nextstepaction"]
105-
> [Configure PHP app](configure-language-php.md)
105+
> [Configure PHP app](configure-language-php.md)

0 commit comments

Comments
 (0)