Updates from: 06/13/2022 01:05:48
Service Microsoft Docs article Related commit history on GitHub Change details
active-directory V2 Oauth2 Client Creds Grant Flow https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/v2-oauth2-client-creds-grant-flow.md
Read the [client credentials overview documentation](https://aka.ms/msal-net-cli
| Sample | Platform |Description | |--|-|| |[active-directory-dotnetcore-daemon-v2](https://github.com/Azure-Samples/active-directory-dotnetcore-daemon-v2) | .NET Core 2.1 Console | A simple .NET Core application that displays the users of a tenant querying the Microsoft Graph using the identity of the application, instead of on behalf of a user. The sample also illustrates the variation using certificates for authentication. |
-|[active-directory-dotnet-daemon-v2](https://github.com/Azure-Samples/active-directory-dotnet-daemon-v2)|ASP.NET MVC | A web application that syncs data from the Microsoft Graph using the identity of the application, instead of on behalf of a user. |
+|[active-directory-dotnet-daemon-v2](https://github.com/Azure-Samples/active-directory-dotnet-daemon-v2)| ASP.NET MVC | A web application that syncs data from the Microsoft Graph using the identity of the application, instead of on behalf of a user. |
+|[ms-identity-javascript-nodejs-console](https://github.com/Azure-Samples/ms-identity-javascript-nodejs-console)| Node.js Console | A simple Node.js application that displays the users of a tenant by querying the Microsoft Graph using the identity of the application |
active-directory Howto Use Azure Monitor Workbooks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/reports-monitoring/howto-use-azure-monitor-workbooks.md
Typical personas for workbooks are:
## How to use it
-All workbooks are stored in the workbook [gallery](../../azure-monitor/visualize/workbooks-overview.md#gallery)
-You have two options for working with workbooks:
+When working with workbooks, you can either start with an empty workbook, or use an existing template. Workbook templates enable you to quickly get started using workbooks without needing to build from scratch.
-- Create a new workbook from scratch-- Start with an existing workbook template from the gallery
+There are:
+
+- **Public templates** published to a [gallery](../../azure-monitor/visualize/workbooks-overview.md#gallery) that serve as a good starting point when you are just getting started with workbooks.
+- **Private templates** when you start building your own workbooks and want to save one as a template to serve as the foundation for multiple workbooks in your tenant.
-By using an already existing template from the gallery, you can benefit from the work others have already invested into solving the same business problem as you.
## Prerequisites
aks Cluster Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/cluster-configuration.md
This enables an OIDC Issuer URL of the provider which allows the API server to d
[!INCLUDE [preview features callout](./includes/preview/preview-callout.md)]
+> [!WARNING]
+> Enable/disable OIDC Issuer will change the current service account token issuer to a new value, which causes some down time and make API server restart. If the application pods based on service account token keep in failed status after enable/disable OIDC Issuer, it's recommended to restart the pods manually.
+ ### Before you begin You must have the following resource installed:
aks Release Tracker https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/release-tracker.md
# AKS release tracker
-> [!NOTE]
-> The AKS release tracker is currently not accessible. When the feature is fully released, this article will be updated to include access instructions.
- AKS releases weekly rounds of fixes and feature and component updates that affect all clusters and customers. However, these releases can take up to two weeks to roll out to all regions from the initial time of shipping due to Azure Safe Deployment Practices (SDP). It is important for customers to know when a particular AKS release is hitting their region, and the AKS release tracker provides these details in real time by versions and regions. ## Why release tracker?
With AKS release tracker, customers can follow specific component updates presen
## How to use the release tracker
+To view the release tracker, visit the [AKS release status webpage][release-tracker-webpage].
+ The top half of the tracker shows the latest and 3 previously available release versions for each region, and links to the corresponding release notes entry. This view is helpful when you want to track the available versions by region. :::image type="content" source="./media/release-tracker/regional-status.png" alt-text="Screenshot of the A K S release tracker's regional status table displayed in a web browser.":::
The bottom half of the tracker shows the SDP process. The table has two views: o
:::image type="content" source="./media/release-tracker/sdp-process.png" alt-text="Screenshot of the A K S release tracker's S D P process table displayed in a web browser."::: <!-- LINKS - external -->
-[aks-release]: https://github.com/Azure/AKS/releases
+[aks-release]: https://github.com/Azure/AKS/releases
+[release-tracker-webpage]: https://releases.aks.azure.com/webpage/https://docsupdatetracker.net/index.html
app-service Configure Connect To Azure Storage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/configure-connect-to-azure-storage.md
The following features are supported for Linux containers:
| **Storage accounts** | Azure Storage account. It must contain an Azure Files share. | | **Share name** | Files share to mount. | | **Access key** (Advanced only) | [Access key](../storage/common/storage-account-keys-manage.md) for your storage account. |
- | **Mount path** | Directory inside your file/blob storage that you want to mount. Only `/mounts/pathname` is supported.|
+ | **Mount path** | Directory inside your app service that you want to mount. Only `/mounts/pathname` is supported.|
::: zone-end ::: zone pivot="container-windows" | Setting | Description |
The following features are supported for Linux containers:
| **Storage accounts** | Azure Storage account. It must contain an Azure Files share. | | **Share name** | Files share to mount. | | **Access key** (Advanced only) | [Access key](../storage/common/storage-account-keys-manage.md) for your storage account. |
- | **Mount path** | Directory inside your file/blob storage that you want to mount. Do not use a root directory (`[C-Z]:\` or `/`) or the `home` directory (`[C-Z]:\home`, or `/home`).|
+ | **Mount path** | Directory inside your Windows container that you want to mount. Do not use a root directory (`[C-Z]:\` or `/`) or the `home` directory (`[C-Z]:\home`, or `/home`).|
::: zone-end ::: zone pivot="container-linux" | Setting | Description |
app-service Using An Ase https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/environment/using-an-ase.md
To configure DNS in Azure DNS Private zones:
The DNS settings for your ASE default domain suffix do not restrict your apps to only being accessible by those names. You can set a custom domain name without any validation on your apps in an ILB ASE. If you then want to create a zone named *contoso.net*, you could do so and point it to the ILB IP address. The custom domain name works for app requests but doesn't for the scm site. The scm site is only available at *&lt;appname&gt;.scm.&lt;asename&gt;.appserviceenvironment.net*.
-The zone named *.&lt;asename&gt;.appserviceenvironment.net* is globally unique. Before May 2019, customers were able to specify the domain suffix of the ILB ASE. If you wanted to use *.contoso.com* for the domain suffix, you were able do so and that would include the scm site. There were challenges with that model including; managing the default TLS/SSL certificate, lack of single sign-on with the scm site, and the requirement to use a wildcard certificate. The ILB ASE default certificate upgrade process was also disruptive and caused application restarts. To solve these problems, the ILB ASE behavior was changed to use a domain suffix based on the name of the ASE and with a Microsoft owned suffix. The change to the ILB ASE behavior only affects ILB ASEs made after May 2019. Pre-existing ILB ASEs must still manage the default certificate of the ASE and their DNS configuration.
+The zone named *.&lt;asename&gt;.appserviceenvironment.net* is globally unique. Before May 2019, customers were able to specify the domain suffix of the ILB ASE. If you wanted to use *.contoso.com* for the domain suffix, you were able do so and that would include the scm site. There were challenges with that model including; managing the default TLS/SSL certificate, lack of single sign-on with the scm site, and the requirement to use a wildcard certificate. The ILB ASE default certificate upgrade process was also disruptive and caused application restarts. To solve these problems, the ILB ASE behavior was changed to use a domain suffix based on the name of the ASE and with a Microsoft owned suffix. The change to the ILB ASE behavior only affects ILB ASEs made after May 2019. Pre-existing ILB ASEs must still manage the default certificate of the ASE and their DNS configuration. If your ILB ASE V2 was created after May 2019, you do not need to manage the ILB default certificate as it is managed by Microsoft.
## Publishing
For more specific examples, use: az find "az appservice ase"
[AppDeploy]: ../deploy-local-git.md [ASEWAF]: ./integrate-with-application-gateway.md [AppGW]: ../../web-application-firewall/ag/ag-overview.md
-[logalerts]: ../../azure-monitor/alerts/alerts-log.md
+[logalerts]: ../../azure-monitor/alerts/alerts-log.md
app-service Webjobs Sdk How To https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/webjobs-sdk-how-to.md
The attribute can be declared at the parameter, method, or class level. The sett
### Timeout attribute
-The [`Timeout`](https://github.com/Azure/azure-webjobs-sdk/blob/master/src/Microsoft.Azure.WebJobs/TimeoutAttribute.cs) attribute causes a function to be canceled if it doesn't finish within a specified amount of time. In the following example, the function would run for one day without the Timeout attribute. Timeout causes the function to be canceled after 15 seconds.
+The [`Timeout`](https://github.com/Azure/azure-webjobs-sdk/blob/master/src/Microsoft.Azure.WebJobs/TimeoutAttribute.cs) attribute causes a function to be canceled if it doesn't finish within a specified amount of time. In the following example, the function would run for one day without the Timeout attribute. Timeout causes the function to be canceled after 15 seconds. When the Timeout attribute's "throwOnError" parameter is set to "true", the function invocation is terminated by having an exception thrown by the webjobs SDK when the timeout inverval is exceeded. The default value of "throwOnError" is "false". When the Timeout attribute is used, the default behavior is to cancel the function invocation by setting the cancellation token while allowing the invocation to run indefinitely until the function code returns or throws an exception.
```cs [Timeout("00:00:15")]
azure-resource-manager Template Tutorial Create First Template https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/templates/template-tutorial-create-first-template.md
Title: Tutorial - Create & deploy template
+ Title: Tutorial - Create and deploy template
description: Create your first Azure Resource Manager template (ARM template). In the tutorial, you learn about the template file syntax and how to deploy a storage account.- Previously updated : 12/01/2021+ Last updated : 06/07/2022
-#Customer intent: As a developer new to Azure deployment, I want to learn how to use Visual Studio Code to create and edit Resource Manager templates, so I can use the templates to deploy Azure resources.
+#Customer intent: As a developer new to Azure deployment, I want to learn how to use Visual Studio Code to create and edit Azure Resource Manager templates, so I can use them to deploy Azure resources.
# Tutorial: Create and deploy your first ARM template
-This tutorial introduces you to Azure Resource Manager templates (ARM templates). It shows you how to create a starter template and deploy it to Azure. You'll learn about the structure of the template and the tools you'll need for working with templates. It takes about **12 minutes** to complete this tutorial, but the actual time will vary based on how many tools you need to install.
+This tutorial introduces you to Azure Resource Manager templates (ARM templates). It shows you how to create a starter template and deploy it to Azure. It teaches you about the template structure and the tools you need to work with templates. It takes about **12 minutes** to complete this tutorial, but the actual time varies based on how many tools you need to install.
-This tutorial is the first of a series. As you progress through the series, you modify the starting template step by step until you've explored all of the core parts of an ARM template. These elements are the building blocks for much more complex templates. We hope by the end of the series you're confident creating your own templates and ready to automate your deployments with templates.
+This tutorial is the first of a series. As you progress through the series, you modify the starting template, step by step, until you've explored all of the core parts of an ARM template. These elements are the building blocks for more complex templates. We hope by the end of the series you're confident in creating your own templates and ready to automate your deployments with templates.
-If you want to learn about the benefits of using templates and why you should automate deployment with templates, see [ARM template overview](overview.md). To learn about ARM templates through a guided set of modules on Microsoft Learn, see [Deploy and manage resources in Azure by using ARM templates](/learn/paths/deploy-manage-resource-manager-templates/).
+If you want to learn about the benefits of using templates and why you should automate deployments with templates, see [ARM template overview](overview.md). To learn about ARM templates through a guided set of modules on [Microsoft Learn](/learn), see [Deploy and manage resources in Azure by using JSON ARM templates](/learn/paths/deploy-manage-resource-manager-templates.md).
-If you don't have an Azure subscription, [create a free account](https://azure.microsoft.com/free/) before you begin.
+If you don't have a Microsoft Azure subscription, [create a free account](https://azure.microsoft.com/free/) before you begin.
> [!TIP]
-> If you're new to ARM templates, you might consider learning Bicep instead. Bicep is a new language that offers the same capabilities as ARM templates but with a syntax that's easier to use. To start learning Bicep, see [Quickstart: Create Bicep files with Visual Studio Code](../bicep/quickstart-create-bicep-use-visual-studio-code.md).
+> If you're new to ARM templates, you might consider learning Bicep instead. Bicep is a new language that offers the same capabilities as ARM templates but with an easier-to-use syntax. To start learning Bicep, see [Quickstart: Create Bicep files with Visual Studio Code](../bicep/quickstart-create-bicep-use-visual-studio-code.md).
## Get tools
Let's start by making sure you have the tools you need to create and deploy temp
### Editor
-Templates are JSON files. To create templates, you need a good JSON editor. We recommend Visual Studio Code with the Resource Manager Tools extension. If you need to install these tools, see [Quickstart: Create ARM templates with Visual Studio Code](quickstart-create-templates-use-visual-studio-code.md).
+Templates are JavaScript Object Notation (JSON) files. To create templates, you need a good JSON editor. We recommend Visual Studio Code with the Azure Resource Manager Tools extension. If you need to install these tools, see [Quickstart: Create ARM templates with Visual Studio Code](quickstart-create-templates-use-visual-studio-code.md).
### Command-line deployment
-You also need either Azure PowerShell or Azure CLI to deploy the template. If you use Azure CLI, you must have the latest version. For the installation instructions, see:
+You also need either Azure PowerShell or Azure Command-Line Interface (CLI) to deploy the template. If you use Azure CLI, you need to have version 2.37.0 or later. For the installation instructions, see:
- [Install Azure PowerShell](/powershell/azure/install-az-ps) - [Install Azure CLI on Windows](/cli/azure/install-azure-cli-windows)
You also need either Azure PowerShell or Azure CLI to deploy the template. If yo
After installing either Azure PowerShell or Azure CLI, make sure you sign in for the first time. For help, see [Sign in - PowerShell](/powershell/azure/install-az-ps#sign-in) or [Sign in - Azure CLI](/cli/azure/get-started-with-azure-cli#sign-in). > [!IMPORTANT]
-> If you're using Azure CLI, make sure you have version 2.6 or later. The commands shown in this tutorial will not work if you're using earlier versions. To check your installed version, use: `az --version`.
+> If you're using Azure CLI, make sure you have version 2.37.0 or later. If you're using Azure PowerShell, make sure you have version 7.2.4 or later. The commands shown in this tutorial don't work if you're using earlier versions. To check your installed version, use: `az --version`.
Okay, you're ready to start learning about templates. ## Create your first template
-1. Open Visual Studio Code with the Resource Manager Tools extension installed.
+1. Open Visual Studio Code with the installed ARM processor Tools extension.
1. From the **File** menu, select **New File** to create a new file.
-1. From the **File** menu, select **Save as**.
+1. From the **File** menu, select **Save As**.
1. Name the file _azuredeploy_ and select the _json_ file extension. The complete name of the file is _azuredeploy.json_.
-1. Save the file to your workstation. Select a path that is easy to remember because you'll provide that path later when deploying the template.
+1. Save the file to your workstation. Select a path that's easy to remember because you need to provide that path later when deploying the template.
1. Copy and paste the following JSON into the file: ```json
Okay, you're ready to start learning about templates.
Here's what your Visual Studio Code environment looks like:
- ![ARM template Visual Studio Code first template](./media/template-tutorial-create-first-template/resource-manager-visual-studio-code-first-template.png)
+ :::image type="content" source="./media/template-tutorial-create-first-template/resource-manager-visual-studio-code-first-template.png" alt-text="ARM template Visual Studio Code first template.":::
This template doesn't deploy any resources. We're starting with a blank template so you can get familiar with the steps to deploy a template while minimizing the chance of something going wrong. The JSON file has these elements:
- - `$schema`: Specifies the location of the JSON schema file. The schema file describes the properties that are available within a template. For example, the schema defines `resources` as one of the valid properties for a template. Don't worry that the date for the schema is 2019-04-01. This schema version is up to date and includes all of the latest features. The schema date hasn't been changed because there have been no breaking changes since its introduction.
- - `contentVersion`: Specifies the version of the template (such as 1.0.0.0). You can provide any value for this element. Use this value to document significant changes in your template. When deploying resources using the template, this value can be used to make sure that the right template is being used.
- - `resources`: Contains the resources you want to deploy or update. Currently, it's empty, but you'll add resources later.
+ - `$schema`: Specifies the location of the JSON schema file. The schema file describes the properties that are available within a template. The schema, for example, defines `resources` as one of the valid properties for a template. Don't worry that the date for the schema is 2019-04-01. This schema version is up to date and includes all of the latest features. The schema date hasn't been changed because there have been no breaking changes since its introduction.
+ - `contentVersion`: Specifies the version of the template, such as 1.0.0.0. You can provide any value for this element. Use this value to document significant changes in your template. When you deploy resources using the template, you can use this value to make sure you're using the right template.
+ - `resources`: Contains the resources you want to deploy or update. Currently, it's empty, but you can add resources later.
1. Save the file.
Congratulations, you've created your first template.
## Sign in to Azure
-To start working with Azure PowerShell/Azure CLI, sign in with your Azure credentials.
+To start working with Azure PowerShell or Azure CLI, sign in with your Azure credentials.
-Select the tabs in the following code sections to choose between Azure PowerShell and Azure CLI. The CLI examples in this article are written for the Bash shell.
+Select the tabs in the following code sections to pick between Azure PowerShell and Azure CLI. The CLI examples in this article are written for the Bash shell.
# [PowerShell](#tab/azure-powershell)
az login
-If you have multiple Azure subscriptions, select the subscription you want to use. Replace `SubscriptionName` with your subscription name. You can also use the subscription ID instead of the subscription name.
+If you have multiple Azure subscriptions, choose the subscription you want to use. Replace `SubscriptionName` with your subscription name. You can also use your subscription ID instead of your subscription name.
# [PowerShell](#tab/azure-powershell)
az account set --subscription SubscriptionName
## Create resource group
-When you deploy a template, you specify a resource group that will contain the resources. Before running the deployment command, create the resource group with either Azure CLI or Azure PowerShell.
+When you deploy a template, you can specify a resource group to contain the resources. Before running the deployment command, create the resource group with either the Bash Azure CLI or Azure PowerShell.
+
+> [!NOTE]
+> Samples for the Azure CLI are written for the bash shell. To run this sample in Windows PowerShell or the Command Prompt, you may need to remove the back slashes and write the command as one line such as:
+
+```az group create --name myResourceGroup --location "Central US"```
# [PowerShell](#tab/azure-powershell)
New-AzResourceGroupDeployment `
# [Azure CLI](#tab/azure-cli)
-To run this deployment command, you must have the [latest version](/cli/azure/install-azure-cli) of Azure CLI.
+To run this deployment command, you need to have the [latest version](/cli/azure/install-azure-cli) of Azure CLI.
```azurecli templateFile="{provide-the-path-to-the-template-file}"
The deployment command returns results. Look for `ProvisioningState` to see whet
# [PowerShell](#tab/azure-powershell)
-![PowerShell deployment provisioning state](./media/template-tutorial-create-first-template/resource-manager-deployment-provisioningstate.png)
+ :::image type="content" source="./media/template-tutorial-create-first-template/resource-manager-deployment-provisioningstate.png" alt-text="PowerShell deployment provisioning state.":::
# [Azure CLI](#tab/azure-cli)
-![Azure CLI deployment provisioning state](./media/template-tutorial-create-first-template/azure-cli-provisioning-state.png)
+ :::image type="content" source="./media/template-tutorial-create-first-template/azure-cli-provisioning-state.png" alt-text="Azure CLI deployment provisioning state.":::
You can verify the deployment by exploring the resource group from the Azure por
1. From the left menu, select **Resource groups**.
-1. Select the resource group deploy in the last procedure. The default name is **myResourceGroup**. You shall see no resource deployed within the resource group.
+1. Check the box to the left of **myResourceGroup** and select **myResourceGroup**.
-1. Notice in the upper right of the overview, the status of the deployment is displayed. Select **1 Succeeded**.
+1. Select the resource group you created in the earlier procedure. The default name is **myResourceGroup**. The resource group doesn't have any resources yet because you deployed a blank template.
- ![View deployment status](./media/template-tutorial-create-first-template/deployment-status.png)
+1. Notice in the middle of the overview, in the **Essentials** section, the page displays the deployment status next to **Deployments**. Select **1 Succeeded**.
-1. You see a history of deployment for the resource group. Select **blanktemplate**.
+ :::image type="content" source="./media/template-tutorial-create-first-template/deployment-status.png" alt-text="See deployment status.":::
- ![Select deployment](./media/template-tutorial-create-first-template/select-from-deployment-history.png)
+1. You see a history of deployment for the resource group. Check the box to the left of **blanktemplate** and select **blanktemplate**.
-1. You see a summary of the deployment. In this case, there's not a lot to see because no resources were deployed. Later in this series you might find it helpful to review the summary in the deployment history. Notice on the left you can view inputs, outputs, and the template used during deployment.
+ :::image type="content" source="./media/template-tutorial-create-first-template/select-from-deployment-history.png" alt-text="Select deployment.":::
- ![View deployment summary](./media/template-tutorial-create-first-template/view-deployment-summary.png)
+1. You see a summary of the deployment. In this case, there's not a lot to see because no resources are deployed. Later in this series you might find it helpful to review the summary in the deployment history. Notice on the left you can see inputs, outputs, and the template that the deployment used.
+
+ :::image type="content" source="./media/template-tutorial-create-first-template/view-deployment-summary.png" alt-text="See deployment summary.":::
## Clean up resources
If you're moving on to the next tutorial, you don't need to delete the resource
If you're stopping now, you might want to delete the resource group.
-1. From the Azure portal, select **Resource group** from the left menu.
-2. Enter the resource group name in the **Filter by name** field.
-3. Select the resource group name.
+1. From the Azure portal, select **Resource groups** from the left menu.
+2. Type the resource group name in the **Filter for any field...**.
+3. Check the box next to **myResourceGroup** and select **myResourceGroup** or the resource group name you chose.
4. Select **Delete resource group** from the top menu.
+ :::image type="content" source="./media/template-tutorial-create-first-template/resource-deletion.png" alt-text="See deletion.":::
+ ## Next steps
-You created a simple template to deploy to Azure. In the next tutorial, you'll add a storage account to the template and deploy it to your resource group.
+You created a simple template to deploy to Azure. In the next tutorial, you can learn how to add a storage account to the template and deploy it to your resource group.
> [!div class="nextstepaction"] > [Add resource](template-tutorial-add-resource.md)
azure-video-indexer Create Account Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-video-indexer/create-account-portal.md
Title: Create an Azure Video Indexer account
-description: This topic explains how to create an account for Azure Video Indexer.
+description: This article explains how to create an account for Azure Video Indexer.
Previously updated : 05/03/2022 Last updated : 06/10/2022 # Get started with Azure Video Indexer in Azure portal
-This Quickstart walks you through the steps to get started with Azure Video Indexer. You will create an Azure Video Indexer account and its accompanying resources by using the Azure portal.
+This Quickstart walks you through the steps to get started with Azure Video Indexer. You'll create an Azure Video Indexer account and its accompanying resources by using the Azure portal.
-To start using Azure Video Indexer, you will need to create an Azure Video Indexer account. The account needs to be associated with a [Media Services][docs-ms] resource and a [User-assigned managed identity][docs-uami]. The managed identity will need to have Contributor permissions role on the Media Services.
+To start using Azure Video Indexer, you'll need to create an Azure Video Indexer account. The account needs to be associated with a [Media Services][docs-ms] resource and a [managed identity][docs-uami]. The managed identity will need to have Contributor permissions role on the Media Services.
## Prerequisites
To start using Azure Video Indexer, you will need to create an Azure Video Index
* Register the **EventGrid** resource provider using the Azure portal. In the [Azure portal](https://ms.portal.azure.com), go to **Subscriptions**->[<*subscription*>]->**ResourceProviders**.
-Search for **Microsoft.Media** and **Microsoft.EventGrid**. If not in the "Registered" state, click **Register**. It takes a couple of minutes to register.
+Search for **Microsoft.Media** and **Microsoft.EventGrid**. If not in the "Registered" state, select **Register**. It takes a couple of minutes to register.
### Azure Video Indexer
Search for **Microsoft.Media** and **Microsoft.EventGrid**. If not in the "Regis
1. Sign into the [Azure portal](https://portal.azure.com/). 1. Using the search bar at the top, enter **"Azure Video Indexer"**.
-1. Click on *Azure Video Indexer* under *Services*.
+1. Select on *Azure Video Indexer* under *Services*.
![Image of search bar](media/create-account-portal/search-bar.png)
-1. Click **Create**.
+1. Select **Create**.
1. In the **Create an Azure Video Indexer resource** section enter required values.
- ![Image of create account](media/create-account-portal/create-account-blade.png)
+ ![Image of how to create an Azure Video Indexer resource.](media/create-account-portal/avi-create-blade.png)
Here are the definitions: | Name | Description| |||
- |**Subscription**|Choose the subscription that you are using to create the Azure Video Indexer account.|
- |**Resource Group**|Choose a resource group where you are creating the Azure Video Indexer account, or select **Create new** to create a resource group.|
+ |**Subscription**|Choose the subscription that you're using to create the Azure Video Indexer account.|
+ |**Resource Group**|Choose a resource group where you're creating the Azure Video Indexer account, or select **Create new** to create a resource group.|
|**Azure Video Indexer account**|Select *Create a new account* option.| |**Resource name**|Enter the name of the new Azure Video Indexer account, the name can contain letters, numbers and dashes with no spaces.| |**Region**|Select the geographic region that will be used to deploy the Azure Video Indexer account. The location matches the **resource group location** you chose, if you'd like to change the selected location change the selected resource group or create a new one in the preferred location. [Azure region in which Azure Video Indexer is available](https://azure.microsoft.com/global-infrastructure/services/?products=cognitive-services&regions=all)| |**Media Services account name**|Select a Media Services that the new Azure Video Indexer account will use to process the videos. You can select an existing Media Services or you can create a new one. The Media Services must be in the same location you selected.|
- |**User-assigned managed identity**|Select a user-assigned managed identity that the new Azure Video Indexer account will use to access the Media Services. You can select an existing user-assigned managed identity or you can create a new one. The user-assignment managed identity will be assigned the role of Contributor role on the Media Services.|
-1. Click **Review + create** at the bottom of the form.
+ |**Managed identity**|Select an existing **user-assigned** managed identity or **system-assigned** managed identity or both when creating the account. The new Azure Video Indexer account will use the selected managed identity to access the Media Services associated with the account. If both user-assigned and system assigned managed identities will be selected during the account creation the **default** managed identity is the user assigned managed identity. A Contributor role should be assigned on the Media Services.|
+1. Select **Review + create** at the bottom of the form.
### Review deployed resource
You can use the Azure portal to validate the Azure Video Indexer account and oth
### Overview
-![Image of overview](media/create-account-portal/overview.png)
+![Image of Azure Video Indexer overview blade.](media/create-account-portal/avi-overview.png)
+
+Select on *Explore Azure Video Indexer's portal* to view your new account on the [Azure Video Indexer portal](https://aka.ms/vi-portal-link).
+
+#### Unique essentials
+|Name|Description|
+|||
+|Status| When the resource is connected properly, status is **Active**. When there's a problem with the connection between the managed identity and the Media Service instance status will be *Connection to Azure Media Services failed*. Contributor role assignment on the Media Services should be added to the proper managed identity.|
+|Managed identity |The name of the default managed identity, user-assigned or system-assigned. The default managed identity can be updated using the *Change* button.|
-Click on *Explore Azure Video Indexer's portal* to view your new account on the [Azure Video Indexer portal](https://aka.ms/vi-portal-link)
### Management API
-![Image of Generate-access-token](media/create-account-portal/generate-access-token.png)
+![Image of Generate-access-token.](media/create-account-portal/generate-access-token.png)
Use the *Management API* tab to manually generate access tokens for the account. This token can be used to authenticate API calls for this account. Each token is valid for one hour.
Choose the following:
* Permission type: **Contributor** or **Reader** * Scope: **Account**, **Project** or **Video** * For **Project** or **Video** you should also insert the matching ID
-* Click **Generate**
+* Select **Generate**
+
+### Identity
+
+Use the *Identity* tab to manually update the managed identities associated with the Azure Video Indexer resource.
+Add new managed identities, switch the default managed identity between user-assigned and system-assigned or set a new user-assigned managed identity.
azure-vmware Deploy Disaster Recovery Using Jetstream https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-vmware/deploy-disaster-recovery-using-jetstream.md
Last updated 04/11/2022
-# Deploy disaster recovery using JetStream DR
+# Deploy disaster recovery using JetStream DR software
[JetStream DR](https://www.jetstreamsoft.com/product-portfolio/jetstream-dr/) is a cloud-native disaster recovery solution designed to minimize downtime of virtual machines (VMs) if there was a disaster. Instances of JetStream DR are deployed at both the protected and recovery sites.
-JetStream is built on the foundation of Continuous Data Protection (CDP), using [VMware VAIO framework](https://core.vmware.com/resource/vmware-vsphere-apis-io-filtering-vaio), which enables minimal or close to no data loss. JetStream DR provides the level of protection wanted for business and mission-critical applications. It also enables cost-effective DR by using minimal resources at the DR site and using cost-effective cloud storage, such as [Azure Blob Storage](https://azure.microsoft.com/services/storage/blobs/).
+JetStream is built on the foundation of Continuous Data Protection (CDP), using [VMware vSphere API for I/O filtering (VAIO) framework](https://core.vmware.com/resource/vmware-vsphere-apis-io-filtering-vaio), which enables minimal or close to no data loss. JetStream DR provides the level of protection wanted for business and mission-critical applications. It also enables cost-effective DR by using minimal resources at the DR site and using cost-effective cloud storage, such as [Azure Blob Storage](https://azure.microsoft.com/services/storage/blobs/).
In this article, you'll implement JetStream DR for your Azure VMware Solution private cloud and on-premises VMware workloads.
To learn more about JetStream DR, see:
- [JetStream knowledge base articles](https://www.jetstreamsoft.com/resources/knowledge-base/) - ## Core components of the JetStream DR solution | Items | Description |
In this scenario, the primary site is an Azure VMware Solution private cloud in
:::image type="content" source="media/jetstream-disaster-recovery/jetstream-cloud-to-cloud-diagram.png" alt-text="Diagram showing the Azure VMware Solution private cloud to private cloud JetStream deployment." border="false" lightbox="media/jetstream-disaster-recovery/jetstream-cloud-to-cloud-diagram.png":::
-## Prerequisites
+## Disaster Recovery with Azure NetApp Files, JetStream DR and Azure VMware Solution
+
+Disaster Recovery to cloud is a resilient and cost-effective way of protecting the workloads against site outages and data corruption events like ransomware. Leveraging the VMware VAIO framework, on-premises VMware workloads can be replicated to Azure Blob storage and recovered with minimal or close to no data loss and near-zero Recovery Time Objective (RTO). JetStream DR can seamlessly recover workloads replicated from on-premises to Azure VMware Solution and specifically to Azure NetApp Files.
+
+JetStream DR enables cost-effective disaster recovery by consuming minimal resources at the DR site and using cost-effective cloud storage. JetStream DR automates recovery to Azure NetApp Files (ANF) datastores using Azure Blob Storage. It can recover independent VMs or groups of related VMs into the recovery site infrastructure according to runbook settings. It also provides point-in-time recovery for ransomware protection.
+
+### Install JetStream DR
+To install JetStream DR in the on-premises data center and in the Azure VMware Solution private cloud:
+
+- Install JetStream DR in the on-premises data center:
+
+ - Download the JetStream DR bundle from Azure Marketplace (ZIP) and deploy the JetStream DR MSA (OVA) in the designated cluster.
+ - Configure the cluster with the IO filter package (install JetStream VIB).
+ - Provision Azure Blob (Azure Storage Account) in the same region as the DR Azure VMware Solution cluster.
+ - Deploy the disaster recovery virtual appliance (DRVA) and assign a replication log volume (VMDK from existing datastore or shared iSCSI storage).
+ - Create protected domains (groups of related VMs) and assign DRVAs and the Azure Blob Storage/ANF.
+ - Start protection.
+
+- Install JetStream DR in the Azure VMware Solution private cloud:
+
+ - Use the Run command to install and configure JetStream DR.
+ - Add the same Azure Blob container and discover domains using the Scan Domain option.
+ - Deploy the DRVA appliance.
+ - Create a replication log volume using an available vSAN or ANF datastore.
+ - Import protected domains and configure RocVA (recovery VA) to use ANF datastore for VM placements.
+ - Select the appropriate failover option and start continuous rehydration for near-zero RTO domains/VMs.
+
+- During a disaster event, trigger failover to Azure NetApp Files datastores in the designated Azure VMware Solution DR site.
+
+- Invoke failback to the protected site after the protected site has been recovered.
+### Ransomware recovery
+
+Recovering from ransomware can be a daunting task. Specifically, it can be hard for IT organizations to pinpoint what the ΓÇ£safe point of return is,ΓÇ¥. After that safe point is determined, how to ensure that recovered workloads are safeguarded from the attacks re-occurring by sleeping malware or through vulnerable applications.
+
+JetStream DR for Azure VMware Solution together with Azure NetApp Files datastores can address these concerns by allowing organizations to recover from an available point-in-time. It ensures that workloads are recovered to a functional and isolated network if required, allows the applications to function and communicate with each other without exposing them to any North-South traffic. It also gives security teams a safe place to perform forensics, and conduct other recovery measures.
+
+For full details, refer to the article: [Disaster Recovery with Azure NetApp Files, JetStream DR and Azure VMware Solution](https://www.jetstreamsoft.com/portal/jetstream-knowledge-base/disaster-recovery-with-azure-netapp-files-jetstream-dr-and-avs-azure-vmware-solution/).
++
+## Prerequisites
### Scenario 1: On-premises VMware vSphere to Azure VMware Solution DR
In this scenario, the primary site is an Azure VMware Solution private cloud in
>[!NOTE] >The **Enable hierarchical namespace** option on the blob isn't supported. -- An NSX-T Data Center network segment configured on Azure VMware Solution private cloud and optionally enable DHCP on the segment for the JetStream Virtual appliances.
+- An NSX-T network segment configured on Azure VMware Solution private cloud with DHCP enabled on the segment for the transient JetStream Virtual appliances employed during recovery or failover.
- A DNS server configured to resolve the IP addresses of Azure VMware Solution vCenter Server, Azure VMware Solution ESXi hosts, Azure Storage account, and the JetStream Marketplace service for the JetStream virtual appliances.
+- (Optional) Azure NetApp Files volume(s) are created and attached to the Azure VMware Solution private cloud for recovery or failover of protected VMs to Azure NetApp Files backed datastores.
+ - [Integrate Azure NetApp Files with Azure VMware Solution](https://docs.microsoft.com/azure/azure-vmware/netapp-files-with-azure-vmware-solution)
+ - [Disaster Recovery with Azure NetApp Files, JetStream DR and AVS (Azure VMware Solution)](https://www.jetstreamsoft.com/portal/jetstream-knowledge-base/disaster-recovery-with-azure-netapp-files-jetstream-dr-and-avs-azure-vmware-solution/)
### Scenario 2: Azure VMware Solution to Azure VMware Solution DR
In this scenario, the primary site is an Azure VMware Solution private cloud in
>[!NOTE] >The **Enable hierarchical namespace** option on the blob isn't supported. -- An NSX-T Data Center network segment configured on Azure VMware Solution private cloud and optionally enable DHCP on the segment for the JetStream Virtual appliances. --- A DNS server configured on both the primary and DR sites to resolve the IP addresses of Azure VMware Solution vCenter Server, Azure VMware Solution ESXi hosts, Azure Storage account, and the JetStream Marketplace service for the JetStream virtual appliances.
+- An NSX-T network segment configured on Azure VMware Solution private cloud with DHCP enabled on the segment for the transient JetStream Virtual appliances employed during recovery or failover.
+- A DNS server configured on both the primary and DR sites to resolve the IP addresses of Azure VMware Solution vCenter Server, Azure VMware Solution ESXi hosts, Azure Storage account, and the JetStream Marketplace service for the JetStream virtual appliances.
+- (Optional) Azure NetApp Files volume(s) are created and attached to the Azure VMware Solution private cloud for recovery or failover of protected VMs to Azure NetApp Files backed datastores.
+ - [Integrate Azure NetApp Files with Azure VMware Solution](https://docs.microsoft.com/azure/azure-vmware/netapp-files-with-azure-vmware-solution)
+ - [Disaster Recovery with Azure NetApp Files, JetStream DR and AVS (Azure VMware Solution)](https://docs.microsoft.com/azure/azure-vmware/netapp-files-with-azure-vmware-solution)
For more on-premises JetStream DR prerequisites, see the [JetStream Pre-Installation Guide](https://www.jetstreamsoft.com/portal/jetstream-knowledge-base/pre-installation-guidelines/). -- ## Install JetStream DR on Azure VMware Solution You can follow these steps for both supported scenarios.
Azure VMware Solution supports the installation of JetStream using either static
| **Credential** | Credentials of the root user of the JetStream MSA VM. | | **HostName** | Hostname (FQDN) of the JetStream MSA VM. | | **Network** | Name of the NSX-T Data Center network segment where you must deploy the JetStream MSA. |
- | **Specify name for execution** | Alphanumeric name of the execution, for example, **Install-JetDRWithStaticIP-Exec1**. It's used to verify if the cmdlet ran successfully. |
+ | **Specify name for execution** | Alphanumeric name of the execution, for example, **Install-JetDRWithStaticIP-Exec1**. It's used to verify if the cmdlet ran successfully and should be unique for each run. |
1. [View the status of the execution](concepts-run-command.md#view-the-status-of-an-execution).
This step also installs JetStream vSphere Installation Bundle (VIB) on the clust
| **Credential** | Credentials of the root user of the JetStream MSA VM. | | **HostName** | Hostname (FQDN) of the JetStream MSA VM. | | **Network** | Name of the NSX-T Data Center network segment where you must deploy the JetStream MSA. |
- | **Specify name for execution** | Alphanumeric name of the execution, for example, **Install-JetDRWithDHCP-Exec1**. It's used to verify if the cmdlet ran successfully. |
+ | **Specify name for execution** | Alphanumeric name of the execution, for example, **Install-JetDRWithDHCP-Exec1**. It's used to verify if the cmdlet ran successfully and should be unique for each run. |
1. [View the status of the execution](concepts-run-command.md#view-the-status-of-an-execution).
This step also installs JetStream vSphere Installation Bundle (VIB) on the clust
| **ProtectedCluster** | Name of the Azure VMware Solution private cloud cluster to be protected, for example, **Cluster-1**. You can only provide one cluster name during the install. | | **Credential** | Credentials of the root user of the JetStream MSA VM. | | **MSIp** | IP address of the JetStream MSA VM. |
- | **Specify name for execution** | Alphanumeric name of the execution, for example, **Enable-JetDRForCluster-Exec1**. It's used to verify if the cmdlet ran successfully. |
+ | **Specify name for execution** | Alphanumeric name of the execution, for example, **Enable-JetDRForCluster-Exec1**. It's used to verify if the cmdlet ran successfully and should be unique for each run. |
1. [View the status of the execution](concepts-run-command.md#view-the-status-of-an-execution).
This cmdlet disables JetStream DR only on one of the clusters and doesn't comple
| **ProtectedCluster** | Name of the Azure VMware Solution private cloud cluster to be protected, for example, **Cluster-1**. You can only provide one cluster name during the install. | | **Credential** | Credentials of the root user of the JetStream MSA VM. | | **MSIp** | IP address of the JetStream MSA VM. |
- | **Specify name for execution** | Alphanumeric name of the execution, for example, **Disable-JetDRForCluster-Exec1**. It's used to verify if the cmdlet ran successfully. |
+ | **Specify name for execution** | Alphanumeric name of the execution, for example, **Disable-JetDRForCluster-Exec1**. It's used to verify if the cmdlet ran successfully and should be unique for each run. |
1. [View the status of the execution](concepts-run-command.md#view-the-status-of-an-execution).
This cmdlet disables JetStream DR only on one of the clusters and doesn't comple
| **ProtectedCluster** | Name of the Azure VMware Solution private cloud cluster to be protected, for example, **Cluster-1**. You can only provide one cluster name during the install. | | **Credential** | Credentials of the root user of the JetStream MSA VM. | | **MSIp** | IP address of the JetStream MSA VM. |
- | **Specify name for execution** | Alphanumeric name of the execution, for example, **Invoke-PreflightJetDRUninstall-Exec1**. It's used to verify if the cmdlet ran successfully. |
+ | **Specify name for execution** | Alphanumeric name of the execution, for example, **Invoke-PreflightJetDRUninstall-Exec1**. It's used to verify if the cmdlet ran successfully and should be unique for each run.|
1. [View the status of the execution](concepts-run-command.md#view-the-status-of-an-execution).
This cmdlet disables JetStream DR only on one of the clusters and doesn't comple
| **ProtectedCluster** | Name of the Azure VMware Solution private cloud cluster to be protected, for example, **Cluster-1**. You can only provide one cluster name during the install. | | **Credential** | Credentials of the root user of the JetStream MSA VM. | | **MSIp** | IP address of the JetStream MSA VM. |
- | **Specify name for execution** | Alphanumeric name of the execution, for example, **Uninstall-JetDR-Exec1**. It's used to verify if the cmdlet ran successfully. |
+ | **Specify name for execution** | Alphanumeric name of the execution, for example, **Uninstall-JetDR-Exec1**. It's used to verify if the cmdlet ran successfully and should be unique for each run.|
1. [View the status of the execution](concepts-run-command.md#view-the-status-of-an-execution).
-
## Support JetStream DR is a solution that [JetStream Software](https://www.jetstreamsoft.com/) supports. For any product or support issues with JetStream, contact support-avs@jetstreamsoft.com.
azure-vmware Enable Public Ip Nsx Edge https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-vmware/enable-public-ip-nsx-edge.md
Title: Enable Public IP to the NSX Edge for Azure VMware Solution (Preview)
-description: This article explains how to enable internet access for your Azure VMware Solution.
+description: This article shows how to enable internet access for your Azure VMware Solution.
Last updated 05/12/2022
In this article, you'll learn how to enable Public IP to the NSX Edge for your A
>[!TIP] >Before you enable Internet access to your Azure VMware Solution, review the [Internet connectivity design considerations](concepts-design-public-internet-access.md).
-Public IP to the NSX Edge is a feature in Azure VMware Solution that enables inbound and outbound internet access for your Azure VMware Solution environment. The Public IP is configured in Azure VMware Solution through the Azure portal and the NSX-T Data center interface within your Azure VMware Solution private cloud.
+Public IP to the NSX Edge is a feature in Azure VMware Solution that enables inbound and outbound internet access for your Azure VMware Solution environment.
+
+>[!IMPORTANT]
+>To enable this feature for your subscription, register the ```PIPOnNSXEnabled``` flag and follow these steps to [set up the preview feature in your Azure subscription](https://docs.microsoft.com/azure/azure-resource-manager/management/preview-features?tabs=azure-portal).
+
+The Public IP is configured in Azure VMware Solution through the Azure portal and the NSX-T Data center interface within your Azure VMware Solution private cloud.
+ With this capability, you have the following features: - A cohesive and simplified experience for reserving and using a Public IP down to the NSX Edge. - The ability to receive up to 1000 or more Public IPs, enabling Internet access at scale.
For example, the following rule is set to Match External Address, and this setti
:::image type="content" source="media/public-ip-nsx-edge/gateway-specific-rules-match-external-connectivity.png" alt-text="Screenshot Internet connectivity inbound Public IP." lightbox="media/public-ip-nsx-edge/gateway-specific-rules-match-external-connectivity-expanded.png"::: If **Match Internal Address** was specified, the destination would be the internal or private IP address of the VM.
-For more information on the NSX-T Gateway Firewall see the [NSX-T Gateway Firewall Administration Guide]( https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.1/administration/GUID-A52E1A6F-F27D-41D9-9493-E3A75EC35481.html)
+For more information on the NSX-T Gateway Firewall see the [NSX-T Gateway Firewall Administration Guide]( https://docs.vmware.com/VMware-NSX-T-Data-Center/3.1/administration/GUID-A52E1A6F-F27D-41D9-9493-E3A75EC35481.html)
The Distributed Firewall could be used to filter traffic to VMs. This feature is outside the scope of this document. For more information, see [NSX-T Distributed Firewall Administration Guide]( https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.1/administration/GUID-6AB240DB-949C-4E95-A9A7-4AC6EF5E3036.html)git status. ## Next steps
communication-services Privacy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/privacy.md
Azure Communication Services will feed into Azure Monitor logging data for under
- [Azure Data Subject Requests for the GDPR and CCPA](/microsoft-365/compliance/gdpr-dsr-azure) - [Microsoft Trust Center](https://www.microsoft.com/trust-center/privacy/data-location)-- [Azure Interactive Map - Where is my customer data?](https://azuredatacentermap.azurewebsites.net/)
+- [Azure Interactive Map - Where is my customer data?](https://infrastructuremap.microsoft.com/)
communication-services Create Communication Resource https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/quickstarts/create-communication-resource.md
zone_pivot_groups: acs-plat-azp-azcli-net-ps
+ms.devlang: azurecli
# Quickstart: Create and manage Communication Services resources
After navigating to your Communication Services resource, select **Keys** from t
You can also access key information using Azure CLI, like your resource group or the keys for a specific resource. Install [Azure CLI](/cli/azure/install-azure-cli-windows?tabs=azure-cli) and use the following command to login. You will need to provide your credentials to connect with your Azure account.
-```azurecli
+```azurepowershell-interactive
az login ``` Now you can access important information about your resources.
-```azurecli
+```azurepowershell-interactive
az communication list --resource-group "<resourceGroup>" az communication list-key --name "<communicationName>" --resource-group "<resourceGroup>" ``` If you would like to select a specific subscription you can also specify the ```--subscription``` flag and provide the subscription ID.
-```
+```azurepowershell-interactive
az communication list --resource-group "resourceGroup>" --subscription "<subscriptionID>" az communication list-key --name "<communicationName>" --resource-group "resourceGroup>" --subscription "<subscriptionID>"
communication-services Calling Hero Sample https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/samples/calling-hero-sample.md
zone_pivot_groups: acs-web-ios-android
::: zone pivot="platform-android" [!INCLUDE [Android Calling Hero Sample](./includes/android-calling-hero.md)]
cosmos-db Create Sql Api Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/sql/create-sql-api-python.md
In this quickstart, you create and manage an Azure Cosmos DB SQL API account fro
* [Visual Studio Monthly Credits](https://azure.microsoft.com/pricing/member-offers/credit-for-visual-studio-subscribers) * [Azure Cosmos DB Free Tier](../optimize-dev-test.md#azure-cosmos-db-free-tier) * Without an Azure active subscription:
- * [Try Azure Cosmos DB for free](https://azure.microsoft.com/try/cosmosdb/), a tests environment that lasts for 30 days.
+ * [Try Azure Cosmos DB for free](/azure/cosmos-db/try-free), a tests environment that lasts for 30 days.
* [Azure Cosmos DB Emulator](https://aka.ms/cosmosdb-emulator) - [Python 2.7 or 3.6+](https://www.python.org/downloads/), with the `python` executable in your `PATH`. - [Visual Studio Code](https://code.visualstudio.com/).
cosmos-db Sql Api Python Samples https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/sql/sql-api-python-samples.md
Sample solutions that do CRUD operations and other common operations on Azure Co
* [Visual Studio Monthly Credits](https://azure.microsoft.com/pricing/member-offers/credit-for-visual-studio-subscribers) * [Azure Cosmos DB Free Tier](../free-tier.md) * Without an Azure active subscription:
- * [Try Azure Cosmos DB for free](https://azure.microsoft.com/try/cosmosdb/), a tests environment that lasts for 30 days.
+ * [Try Azure Cosmos DB for free](/azure/cosmos-db/try-free), a tests environment that lasts for 30 days.
* [Azure Cosmos DB Emulator](https://aka.ms/cosmosdb-emulator) - [Python 2.7 or 3.6+](https://www.python.org/downloads/), with the `python` executable in your `PATH`. - [Visual Studio Code](https://code.visualstudio.com/).
data-factory Data Flow Join https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/data-factory/data-flow-join.md
Previously updated : 06/09/2022 Last updated : 06/10/2022 # Join transformation in mapping data flow
If you would like to explicitly produce a full cartesian product, use the Derive
You can choose to join based on fuzzy join logic instead of exact column value matching by turning on the "Use fuzzy matching" checkbox option.
+> [!VIDEO https://www.microsoft.com/en-us/videoplayer/embed/RE4ZeWr]
+ * Combine text parts: Use this option to find matches by remove space between words. For example, Data Factory is matched with DataFactory if this option is enabled. * Similarity score column: You can optionally choose to store the matching score for each row in a column by entering a new column name here to store that value. * Similarity threshold: Choose a value between 60 and 100 as a percentage match between values in the columns you've selected. :::image type="content" source="media/data-flow/fuzzy-1.png" alt-text="Fuzzy join":::
+> [!NOTE]
+> Fuzzy matching currently works only with string column types and with inner, left outer, and full outer join types. You must turn off the broadcast optimization when using fuzzing matching joins.
+ ## Configuration 1. Choose which data stream you're joining with in the **Right stream** dropdown.
defender-for-cloud Enhanced Security Features Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/enhanced-security-features-overview.md
Title: Understand the enhanced security features of Microsoft Defender for Cloud description: Learn about the benefits of enabling enhanced security in Microsoft Defender for Cloud Previously updated : 05/31/2022 Last updated : 06/12/2022
Yes. When you enable [Microsoft Defender for Servers](defender-for-servers-intro
### If a Log Analytics agent reports to multiple workspaces, will I be charged twice?
-No you will not be charged twice.
+If a machine reports to multiple workspaces, and all of them have Defender for Servers enabled, the machines will be billed for each attached workspace.
### If a Log Analytics agent reports to multiple workspaces, is the 500 MB free data ingestion available on all of them?
defender-for-cloud Export To Siem https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/export-to-siem.md
Each SIEM platform has a tool to enable it to receive alerts from Azure Event Hu
| Tool | Hosted in Azure | Description | |:|:| :| | IBM QRadar | No | The Microsoft Azure DSM and Microsoft Azure Event Hubs Protocol are available for download from [the IBM support website](https://www.ibm.com/docs/en/qsip/7.4?topic=microsoft-azure-platform). |
-| Splunk | No | [Splunk Add-on for Microsoft Cloud Services](https://splunkbase.splunk.com/app/3110/) is an open source project available in Splunkbase. <br><br> If you can't install an add-on in your Splunk instance, for example if you're using a proxy or running on Splunk Cloud, you can forward these events to the Splunk HTTP Event Collector using [Azure Function For Splunk](https://github.com/Microsoft/AzureFunctionforSplunkVS), which is triggered by new messages in the event hub. |
+| Splunk | No | [Splunk Add-on for Microsoft Cloud Services](https://splunkbase.splunk.com/app/3110/) is an open source project available in Splunkbase. <br><br> If you can't install an add-on in your Splunk instance, for example if you're using a proxy or running on Splunk Cloud, you can forward these events to the Splunk HTTP Event Collector using [Azure Function For Splunk](https://github.com/splunk/azure-functions-splunk), which is triggered by new messages in the event hub. |
## Stream alerts with continuous export
defender-for-iot Tutorial Getting Started Eiot Sensor https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/tutorial-getting-started-eiot-sensor.md
You can also download, and add the [Azure public IP ranges](https://www.microsof
A sensor is needed to discover, and continuously monitor Enterprise IoT devices. The sensor will use the Enterprise IoT network, and endpoint sensors to gain comprehensive visibility.
+**Prerequisites**: Make sure that you've completed [Set up a server or Virtual Machine (VM)](#set-up-a-server-or-virtual-machine-vm) and [Prepare your environment](#prepare-your-environment), including verifying that you have the listed required resources.
+ **To set up an Enterprise IoT sensor**: 1. Navigate to the [Azure portal](https://portal.azure.com#home).
For more information, see:
- [Manage your IoT devices with the device inventory for organizations](how-to-manage-device-inventory-for-organizations.md) - [View and manage alerts on the Defender for IoT portal](how-to-manage-cloud-alerts.md) - [Use Azure Monitor workbooks in Microsoft Defender for IoT (Public preview)](workbooks.md)-- [OT threat monitoring in enterprise SOCs](concept-sentinel-integration.md)
+- [OT threat monitoring in enterprise SOCs](concept-sentinel-integration.md)
dns Dns Delegate Domain Azure Dns https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/dns/dns-delegate-domain-azure-dns.md
Title: 'Tutorial: Host your domain and subdomain - Azure DNS'
-description: In this tutorial, you learn how to configure Azure DNS to host your DNS zones.
+ Title: 'Tutorial: Host your domain in Azure DNS'
+description: In this tutorial, you learn how to configure Azure DNS to host your DNS zones using Azure portal.
Previously updated : 05/25/2022 Last updated : 06/10/2022 + #Customer intent: As an experienced network administrator, I want to configure Azure DNS, so I can host DNS zones.
You can use Azure DNS to host your DNS domain and manage your DNS records. By hosting your domains in Azure, you can manage your DNS records by using the same credentials, APIs, tools, and billing as your other Azure services.
-Suppose you buy the domain `contoso.net` from a domain name registrar and then create a zone with the name `contoso.net` in Azure DNS. Since you're the owner of the domain, your registrar offers you the option to configure the name server (NS) records for your domain. The registrar stores the NS records in the .NET parent zone. Internet users around the world are then directed to your domain in your Azure DNS zone when they try to resolve DNS records in contoso.net.
-
+Suppose you buy the domain `contoso.com` from a domain name registrar and then create a zone with the name `contoso.com` in Azure DNS. Since you're the owner of the domain, your registrar offers you the option to configure the name server (NS) records for your domain. The registrar stores the NS records in the `.com` parent zone. Internet users around the world are then directed to your domain in your Azure DNS zone when they try to resolve DNS records in `contoso.com`.
In this tutorial, you learn how to:
In this tutorial, you learn how to:
> * Delegate the domain. > * Verify the delegation is working. - If you donΓÇÖt have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin. ## Prerequisites
-You must have a domain name available to test with that you can host in Azure DNS. You must have full control of this domain. Full control includes the ability to set the name server (NS) records for the domain.
+* An Azure account with an active subscription.
+* A domain name that you can host in Azure DNS. You must have full control of this domain. Full control includes the ability to set the name server (NS) records for the domain.
+
+> [!NOTE]
+> In this tutorial, `contoso.com` is used as an example domain name. Replace `contoso.com` with your own domain name.
+
+## Sign in to Azure
-In this example, we'll reference the parent domain a `contoso.net`.
+Sign in to the Azure portal at https://portal.azure.com.
## Create a DNS zone
-1. Go to the [Azure portal](https://portal.azure.com/) to create a DNS zone. Search for and select **DNS zones**.
+1. In the Azure portal, enter *dns zone* in the search box at the top of the portal, and then select **DNS zones** from the search results.
-1. Select **+ Create**.
+1. In **DNS zones**, select **+ Create**.
-1. On the **Create DNS zone** page, enter the following values, and then select **Review + create**.
+1. In the **Create DNS zone** page, enter or select the following information in the **Basics** tab:
- | **Setting** | **Value** | **Details** |
- |--|--|--|
- | **Resource group** | *ContosoRG* | Create a resource group. The resource group name must be unique within the subscription that you selected. The location of the resource group doesn't affect the DNS zone. The DNS zone location is always "global," and isn't shown. |
- | **This zone is a child of an existing zone already hosted in Azure DNS** | leave unchecked | Leave this box unchecked since the DNS zone is **not** a [child zone](./tutorial-public-dns-zones-child.md). |
- | **Name** | *contoso.net* | Enter your parent DNS zone name |
- | **Resource group location** | *East US* | This field is based on the location selected as part of Resource group creation |
-
-1. Select **Create**.
+ | Setting | Value |
+ | - | -- |
+ | **Project details** | |
+ | Subscription | Select your Azure subscription.|
+ | Resource group | Select **Create new** </br> In **Name**, enter **myResourceGroup** </br> Select **OK**. |
+ | **Instance details** | |
+ | This zone is a child of an existing zone already hosted in Azure DNS | Clear this checkbox since the DNS zone isn't a [child zone](./tutorial-public-dns-zones-child.md). |
+ | Name | Enter your parent DNS zone name. |
+ | Resource group location | Select the resource group location. </br> The resource group location doesn't affect your DNS zone service, which is global and not bound to a location. |
+
+ :::image type="content" source="./media/dns-delegate-domain-azure-dns/create-parent-dns-zone.png" alt-text="Screenshot of Create D N S zone page showing the settings used in this tutorial to create a parent D N S zone.":::
+1. Select **Review + create**.
+1. Select **Create**.
> [!NOTE]
- > If the new zone that you are creating is a child zone (e.g. Parent zone = `contoso.net` Child zone = `child.contoso.net`), please refer to our [Creating a new Child DNS zone tutorial](./tutorial-public-dns-zones-child.md)
+ > If the new zone that you are creating is a child zone (e.g. parent zone = `contoso.com` child zone = `child.contoso.com`), then please refer to [Create a child DNS zone tutorial](./tutorial-public-dns-zones-child.md).
## Retrieve name servers Before you can delegate your DNS zone to Azure DNS, you need to know the name servers for your zone. Azure DNS gives name servers from a pool each time a zone is created.
-1. Select **Resource groups** in the left-hand menu, select the **ContosoRG** resource group, and then from the **Resources** list, select **contoso.net** DNS zone.
+1. In the Azure portal, enter *dns zone* in the search box at the top of the portal, and then select **DNS zones** from the search results.
-1. Retrieve the name servers from the DNS zone page. In this example, the zone `contoso.net` has been assigned name servers `ns1-01.azure-dns.com`, `ns2-01.azure-dns.net`, `ns3-01.azure-dns.org`, and `ns4-01.azure-dns.info`:
+1. In **DNS zones**, select **contoso.com**.
- :::image type="content" source="./media/dns-delegate-domain-azure-dns/dns-name-servers.png" alt-text="Screenshot of D N S zone showing name servers" lightbox="./media/dns-delegate-domain-azure-dns/dns-name-servers.png":::
+1. In the **Overview** page, retrieve the name servers. In this example, the DNS zone **contoso.com** has been assigned name servers `ns1-01.azure-dns.com`, `ns2-01.azure-dns.net`, `ns3-01.azure-dns.org`, and `ns4-01.azure-dns.info`:
+
+ :::image type="content" source="./media/dns-delegate-domain-azure-dns/dns-name-servers-inline.png" alt-text="Screenshot of D N S zone showing assigned Azure name servers" lightbox="./media/dns-delegate-domain-azure-dns/dns-name-servers-expanded.png":::
Azure DNS automatically creates authoritative NS records in your zone for the assigned name servers.
Once the DNS zone gets created and you have the name servers, you'll need to upd
1. When you delegate a domain to Azure DNS, you must use the name servers that Azure DNS provides. Use all four name servers, regardless of the name of your domain. Domain delegation doesn't require a name server to use the same top-level domain as your domain.
-> [!NOTE]
+> [!IMPORTANT]
> When you copy each name server address, make sure you copy the trailing period at the end of the address. The trailing period indicates the end of a fully qualified domain name. Some registrars append the period if the NS name doesn't have it at the end. To be compliant with the DNS RFC, include the trailing period. Delegations that use name servers in your own zone, sometimes called *vanity name servers*, aren't currently supported in Azure DNS.
You don't have to specify the Azure DNS name servers. If the delegation is set u
1. From a command prompt, enter a nslookup command similar to the following example: ```
- nslookup -type=SOA contoso.net
+ nslookup -type=SOA contoso.com
``` 1. Verify that your response looks similar to the following nslookup output: ``` Server: ns1-04.azure-dns.com
- Address: 208.76.47.4
-
- contoso.net
- primary name server = ns1-04.azure-dns.com
- responsible mail addr = msnhst.microsoft.com
- serial = 1
- refresh = 900 (15 mins)
- retry = 300 (5 mins)
- expire = 604800 (7 days)
- default TTL = 300 (5 mins)
+ Address: 40.90.4.1
+
+ contoso.com
+ primary name server = ns1-04.azure-dns.com
+ responsible mail addr = azuredns-hostmaster.microsoft.com
+ serial = 1
+ refresh = 3600 (1 hour)
+ retry = 300 (5 mins)
+ expire = 604800 (7 days)
+ default TTL = 300 (5 mins)
+ ns1-01.azure-dns.com internet address = 40.90.4.1
+ ns1-01.azure-dns.com AAAA IPv6 address = 2603:1061::1
``` ## Clean up resources
-When no longer needed, you can delete all resources created in this tutorial by following these steps to delete the resource group **ContosoRG**:
+When no longer needed, you can delete all resources created in this tutorial by following these steps:
-1. From the left-hand menu, select **Resource groups**.
+1. On the Azure portal menu, select **Resource groups**.
-2. Select the **ContosoRG** resource group.
+2. Select the **myResourceGroup** resource group.
3. Select **Delete resource group**.
-4. Enter **ContosoRG** and select **Delete**.
+4. Enter *myResourceGroup* and select **Delete**.
## Next steps
-In this tutorial, you created a DNS zone for your domain and delegated it to Azure DNS. To learn about Azure DNS and web apps, continue with the tutorial for web apps.
+In this tutorial, you learned how to create a DNS zone for your domain and delegate it to Azure DNS. To learn how to create child DNS zones, continue with the next tutorial:
> [!div class="nextstepaction"]
-> [Create DNS records for a web app in a custom domain](./dns-web-sites-custom-domain.md)
+> [Create a child DNS zone](./tutorial-public-dns-zones-child.md)
dns Dns Web Sites Custom Domain https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/dns/dns-web-sites-custom-domain.md
Title: 'Tutorial: Create custom Azure DNS records for a web app'
-description: In this tutorial, you create custom domain DNS records for web app using Azure DNS.
+description: In this tutorial, you learn how to create custom domain DNS records for web apps using Azure DNS.
Previously updated : 06/06/2022 Last updated : 06/10/2022 #Customer intent: As an experienced network administrator, I want to create DNS records in Azure DNS, so I can host a web app in a custom domain.
# Tutorial: Create DNS records in a custom domain for a web app
-You can configure Azure DNS to host a custom domain for your web apps. For example, you can create an Azure web app and have your users access it using either www\.contoso.com or contoso.com as a fully qualified domain name (FQDN).
+You can configure Azure DNS to host a custom domain for your web apps. For example, you can create an Azure web app and have your users access it using either `www.contoso.com` or `contoso.com` as a fully qualified domain name (FQDN).
To do this, you have to create three records:
To do this, you have to create three records:
* A root "TXT" record for verification * A "CNAME" record for the www name that points to the A record
-> [!NOTE]
-> Contoso.com is used as an example throughout this tutorial. Substitute your own domain name for contoso.com.
In this tutorial, you learn how to:
In this tutorial, you learn how to:
> * Add custom host names to your web app > * Test the custom host names
+If you donΓÇÖt have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
+ ## Prerequisites
-* An Azure account with an active subscription. If you donΓÇÖt have one, you can [create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
+* An Azure account with an active subscription.
* A domain name that you can host in Azure DNS. You must have full control of this domain. Full control includes the ability to set the name server (NS) records for the domain.
In this tutorial, you learn how to:
* An Azure DNS zone with delegation in your registrar to Azure DNS. If you don't have one, you can [create a DNS zone](./dns-getstarted-powershell.md), then [delegate your domain](dns-delegate-domain-azure-dns.md#delegate-the-domain) to Azure DNS.
+> [!NOTE]
+> In this tutorial, `contoso.com` is used as an example domain name. Replace `contoso.com` with your own domain name.
+ [!INCLUDE [updated-for-az](../../includes/updated-for-az.md)]
+## Sign in to Azure
+
+Sign in to the Azure portal at https://portal.azure.com.
## Create the A record
To create the A record, use:
```azurepowershell New-AzDnsRecordSet -Name "@" -RecordType "A" -ZoneName "contoso.com" ` -ResourceGroupName "MyAzureResourceGroup" -Ttl 600 `
- -DnsRecords (New-AzDnsRecordConfig -IPv4Address "<your web app IP address>")
+ -DnsRecords (New-AzDnsRecordConfig -IPv4Address "<ip of web app service>")
``` > [!IMPORTANT]
You should see the same page for both URLs. For example:
When no longer needed, you can delete all resources created in this tutorial by deleting the resource group **MyAzureResourceGroup**:
-1. From the left-hand menu, select **Resource groups**.
-
+1. On the Azure portal menu, select **Resource groups**.
2. Select the **MyAzureResourceGroup** resource group.-
-3. Select **Delete resource group**.
-
+3. On the **Overview** page, select **Delete resource group**.
4. Enter *MyAzureResourceGroup* and select **Delete**. ## Next steps
-Learn how to create Azure DNS private zones.
+In this tutorial, you learned how to create DNS records in a custom domain for a web app. To learn how to create alias records to reference zone records, continue with the next tutorial:
> [!div class="nextstepaction"]
-> [Get started with Azure DNS private zones using PowerShell](private-dns-getstarted-powershell.md)
+> [Create alias records for zone records](tutorial-alias-rr.md)
dns Tutorial Alias Pip https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/dns/tutorial-alias-pip.md
Previously updated : 06/09/2022 Last updated : 06/10/2022 -+ #Customer intent: As an experienced network administrator, I want to configure Azure an DNS alias record to refer to an Azure public IP address.
If you donΓÇÖt have an Azure subscription, create a [free account](https://azure
* A domain name hosted in Azure DNS. If you don't have an Azure DNS zone, you can [create a DNS zone](./dns-delegate-domain-azure-dns.md#create-a-dns-zone), then [delegate your domain](dns-delegate-domain-azure-dns.md#delegate-the-domain) to Azure DNS. > [!NOTE]
-> In this tutorial, `contoso.com` is used as an example. Replace `contoso.com` with your own domain name.
+> In this tutorial, `contoso.com` is used as an example domain name. Replace `contoso.com` with your own domain name.
## Sign in to Azure
Create a virtual network and a subnet to place your web server in.
1. In **Virtual networks**, select **+ Create**. 1. In **Create virtual network**, enter or select the following information in the **Basics** tab:
- | **Setting** | **Value** |
- |-||
- | **Project Details** | |
- | Subscription | Select your Azure subscription |
- | Resource Group | Select **Create new** </br> In **Name**, enter **PIPResourceGroup** </br> Select **OK** |
- | **Instance details** | |
- | Name | Enter **myPIPVNet** |
- | Region | Select your region |
+ | Setting | Value |
+ | - | -- |
+ | **Project Details** | |
+ | Subscription | Select your Azure subscription. |
+ | Resource Group | Select **Create new**. </br> In **Name**, enter **PIPResourceGroup**. </br> Select **OK**. |
+ | **Instance details** | |
+ | Name | Enter **myPIPVNet**. |
+ | Region | Select your region. |
1. Select the **IP Addresses** tab or select the **Next: IP Addresses** button at the bottom of the page. 1. In the **IP Addresses** tab, enter the following information:
- | Setting | Value |
- |--|-|
- | IPv4 address space | Enter **10.10.0.0/16** |
+ | Setting | Value |
+ | - | -- |
+ | IPv4 address space | Enter **10.10.0.0/16**. |
1. Select **+ Add subnet**, and enter this information in the **Add subnet**:
- | Setting | Value |
- |-|-|
- | Subnet name | Enter **WebSubnet** |
- | Subnet address range | Enter **10.10.0.0/24** |
+ | Setting | Value |
+ | - | -- |
+ | Subnet name | Enter **WebSubnet**. |
+ | Subnet address range | Enter **10.10.0.0/24**. |
1. Select **Add**. 1. Select the **Review + create** tab or select the **Review + create** button.
Create a Windows Server 2019 virtual machine.
1. In **Virtual machines**, select **+ Create** and then select **Azure virtual machine**. 1. In **Create a virtual machine**, enter or select the following information in the **Basics** tab:
- | **Setting** | **Value** |
- |||
- | **Project Details** | |
- | Subscription | Select your Azure subscription |
- | Resource Group | Select **RG-DNS-Alias-pip** |
- | **Instance details** | |
- | Virtual machine name | Enter **Web-01** |
- | Region | Select **(US) East US** |
- | Availability options | Select **No infrastructure redundancy required** |
- | Security type | Select **Standard**. |
- | Image | Select **Windows Server 2019 Datacenter - Gen2** |
- | Size | Choose VM size or take default setting |
+ | Setting | Value |
+ | - | -- |
+ | **Project Details** | |
+ | Subscription | Select your Azure subscription. |
+ | Resource Group | Select **PIPResourceGroup**. |
+ | **Instance details** | |
+ | Virtual machine name | Enter **Web-01**. |
+ | Region | Select **(US) East US**. |
+ | Availability options | Select **No infrastructure redundancy required**. |
+ | Security type | Select **Standard**. |
+ | Image | Select **Windows Server 2019 Datacenter - Gen2**. |
+ | Size | Select your VM size. |
| **Administrator account** | |
- | Username | Enter a username |
- | Password | Enter a password |
- | Confirm password | Reenter password |
- | **Inbound port rules** | |
- | Public inbound ports | Select **None** |
+ | Username | Enter a username. |
+ | Password | Enter a password. |
+ | Confirm password | Reenter password. |
+ | **Inbound port rules** | |
+ | Public inbound ports | Select **None**. |
1. Select the **Networking** tab, or select **Next: Disks**, then **Next: Networking**.
Create a Windows Server 2019 virtual machine.
| Setting | Value | ||-| | **Network interface** | |
- | Virtual network | **myPIPVNet** |
- | Subnet | **WebSubnet** |
- | Public IP | Take the default public IP |
- | NIC network security group | Select **Basic**|
- | Public inbound ports | Select **Allow selected ports** |
- | Select inbound ports | Select **HTTP (80)**, **HTTPS (443)** and **RDP (3389)** |
+ | Virtual network | Select **myPIPVNet**. |
+ | Subnet | Select **WebSubnet**. |
+ | Public IP | Take the default public IP. |
+ | NIC network security group | Select **Basic**. |
+ | Public inbound ports | Select **Allow selected ports**. |
+ | Select inbound ports | Select **HTTP (80)**, **HTTPS (443)** and **RDP (3389)**. |
1. Select **Review + create**. 1. Review the settings, and then select **Create**.
Install IIS web server on **Web-01**.
1. On the **Server Manager** dashboard, select **Manage** then **Add Roles and Features**. 1. Select **Server Roles** or select **Next** three times. On the **Server Roles** page, select **Web Server (IIS)**. 1. Select **Add Features**, and then select **Next**.+
+ :::image type="content" source="./media/tutorial-alias-pip/iis-web-server-installation.png" alt-text="Screenshot of Add Roles and Features Wizard in Windows Server 2019 showing how to add the I I S Web Server.":::
+ 1. Select **Confirmation** or select **Next** three times, and then select **Install**. The installation process takes a few minutes to finish. 1. After the installation finishes, select **Close**. 1. Open a web browser. Browse to **localhost** to verify that the default IIS web page appears.
This procedure succeeds because you used an alias record to point to the public
## Clean up resources
-When no longer needed, you can delete all resources created in this tutorial by deleting the **RG-DNS-Alias-pip** resource group and the alias record **web01** from **contoso.com** DNS zone.
+When no longer needed, you can delete all resources created in this tutorial by following these steps:
+
+1. On the Azure portal menu, select **Resource groups**.
+1. Select the **PIPResourceGroup** resource group.
+1. On the **Overview** page, select **Delete resource group**.
+1. Enter *PIPResourceGroup* and select **Delete**.
+1. On the Azure portal menu, select **All resources**.
+1. Select **contoso.com** DNS zone.
+1. On the **Overview** page, select the **web01** record created in this tutorial.
+1. Select **Delete** and then **Yes**.
## Next steps
-In this tutorial, you created an alias record to refer to an Azure public IP address resource. To learn how to create an alias record to support domain name apex with Traffic Manager, continue with the alias records for Traffic Manager tutorial.
+In this tutorial, you learned how to create an alias record to refer to an Azure public IP address resource. To learn how to create an alias record to support an apex domain name with Traffic Manager, continue with the next tutorial:
> [!div class="nextstepaction"]
-> [Create alias records for Traffic Manager](./tutorial-alias-tm.md)
+> [Create alias records for Traffic Manager](tutorial-alias-tm.md)
dns Tutorial Alias Rr https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/dns/tutorial-alias-rr.md
Previously updated : 06/09/2022- Last updated : 06/10/2022+ #Customer intent: As an experienced network administrator, I want to configure Azure an DNS alias record to refer to a resource record within the zone.
In this tutorial, you learn how to:
> * Create an alias record for the resource record. > * Test the alias record. - If you donΓÇÖt have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin. ## Prerequisites
If you donΓÇÖt have an Azure subscription, create a [free account](https://azure
* A domain name hosted in Azure DNS. If you don't have an Azure DNS zone, you can [create a DNS zone](./dns-delegate-domain-azure-dns.md#create-a-dns-zone), then [delegate your domain](dns-delegate-domain-azure-dns.md#delegate-the-domain) to Azure DNS. > [!NOTE]
-> In this tutorial, `contoso.com` is used as an example. Replace `contoso.com` with your own domain name.
+> In this tutorial, `contoso.com` is used as an example domain name. Replace `contoso.com` with your own domain name.
## Sign in to Azure
Create an alias record that points to a resource record in the zone.
### Create the target resource record 1. In the Azure portal, enter *contoso.com* in the search box at the top of the portal, and then select **contoso.com** DNS zone from the search results.
-1. In the **Overview** page, select the **+Record set** button.
+1. In the **Overview** page, select the **+ Record set** button.
1. In the **Add record set**, enter *server* in the **Name**. 1. Select **A** for the **Type**. 1. Enter *10.10.10.10* in the **IP address**. 1. Select **OK**.
- :::image type="content" source="./media/tutorial-alias-rr/add-record-set-inline.png" alt-text="Screentshot of adding the target record set in the Add record set page." lightbox="./media/tutorial-alias-rr/add-record-set-expanded.png":::
+ :::image type="content" source="./media/tutorial-alias-rr/add-record-set-inline.png" alt-text="Screenshot of adding the target record set in the Add record set page." lightbox="./media/tutorial-alias-rr/add-record-set-expanded.png":::
### Create the alias record
-1. In the **Overview** page of **contoso.com** DNS zone, select the **+Record set** button.
+1. In the **Overview** page of **contoso.com** DNS zone, select the **+ Record set** button.
1. In the **Add record set**, enter *test* in the **Name**. 1. Select **A** for the **Type**. 1. Select **Yes** for the **Alias record set**, and then select the **Zone record set** for the **Alias type**.
After adding the alias record, you can verify that it's working by using a tool
## Clean up resources
-When you no longer need the resources created for this tutorial, delete the **server** and **test** records from your zone.
+When no longer needed, you can delete all records created in this tutorial by following these steps:
+
+1. On the Azure portal menu, select **All resources**.
+1. Select **contoso.com** DNS zone.
+1. On the **Overview** page, select the **server** record.
+1. Select **Delete** and then **Yes**.
+1. Repeat last two steps with **test** record.
## Next steps
-In this tutorial, you learned the basic steps to create an alias record to refer to a resource record within the Azure DNS zone.
+In this tutorial, you learned the basic steps to create an alias record to refer to a resource record within the Azure DNS zone. To learn how to create an alias record that references an Azure public IP address resource, continue with the next tutorial:
-- Learn more about [alias records](dns-alias.md).-- Learn more about [zones and records](dns-zones-records.md).
+> [!div class="nextstepaction"]
+> [Create alias record for public IP address](tutorial-alias-pip.md)
dns Tutorial Alias Tm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/dns/tutorial-alias-tm.md
Title: 'Tutorial: Create an alias record to support domain name apex with Traffic Manager'
+ Title: 'Tutorial: Create an alias record to support apex domain name with Traffic Manager'
-description: In this tutorial, you learn how to create and configure an Azure DNS alias record to support using your domain name apex with Traffic Manager.
+description: In this tutorial, you learn how to create and configure an Azure DNS alias record to support using your apex domain name with Traffic Manager.
Last updated 06/10/2022 -
-#Customer intent: As an experienced network administrator, I want to configure Azure DNS alias records to use my domain name apex with Traffic Manager.
+
+#Customer intent: As an experienced network administrator, I want to configure Azure DNS alias records to use my apex domain name with Traffic Manager.
-# Tutorial: Create an alias record to support domain name apex with Traffic Manager
+# Tutorial: Create an alias record to support apex domain names with Traffic Manager
-You can create an alias record for your domain name apex to reference an Azure Traffic Manager profile. Instead of using a redirecting service, you configure Azure DNS to reference a Traffic Manager profile directly from your zone.
+You can create an alias record for your apex domain name to reference an Azure Traffic Manager profile. Instead of using a redirecting service, you configure Azure DNS to reference a Traffic Manager profile directly from your zone.
In this tutorial, you learn how to:
Create a virtual network and a subnet to place your web servers in.
1. In **Virtual networks**, select **+ Create**. 1. In **Create virtual network**, enter or select the following information in the **Basics** tab:
- | **Setting** | **Value** |
- |-|-|
- | **Project Details** | |
- | Subscription | Select your Azure subscription |
- | Resource Group | Select **Create new** </br> In **Name**, enter *TMResourceGroup* </br> Select **OK** |
- | **Instance details** | |
- | Name | Enter *myTMVNet* |
- | Region | Select your region |
+ | Setting | Value |
+ ||-|
+ | **Project Details** | |
+ | Subscription | Select your Azure subscription. |
+ | Resource Group | Select **Create new**. </br> In **Name**, enter *TMResourceGroup*. </br> Select **OK**. |
+ | **Instance details** | |
+ | Name | Enter *myTMVNet*. |
+ | Region | Select your region. |
1. Select the **IP Addresses** tab or select the **Next: IP Addresses** button at the bottom of the page. 1. In the **IP Addresses** tab, enter the following information:
- | Setting | Value |
- |-|-|
- | IPv4 address space | Enter *10.10.0.0/16* |
+ | Setting | Value |
+ ||-|
+ | IPv4 address space | Enter *10.10.0.0/16*. |
1. Select **+ Add subnet**, and enter this information in the **Add subnet**:
- | Setting | Value |
- |-|-|
- | Subnet name | Enter *WebSubnet* |
- | Subnet address range | Enter *10.10.0.0/24* |
+ | Setting | Value |
+ ||-|
+ | Subnet name | Enter *WebSubnet*. |
+ | Subnet address range | Enter *10.10.0.0/24*. |
1. Select **Add**. 1. Select the **Review + create** tab or select the **Review + create** button.
Create two Windows Server 2019 virtual machines.
1. In **Virtual machines**, select **+ Create** and then select **Azure virtual machine**. 1. In **Create a virtual machine**, enter or select the following information in the **Basics** tab:
- | **Setting** | **Value** |
- |||
- | **Project Details** | |
- | Subscription | Select your Azure subscription |
- | Resource Group | Select **TMResourceGroup** |
- | **Instance details** | |
- | Virtual machine name | Enter *Web-01* |
- | Region | Select **(US) East US** |
- | Availability options | Select **No infrastructure redundancy required** |
- | Security type | Select **Standard**. |
- | Image | Select **Windows Server 2019 Datacenter - Gen2** |
- | Size | Select your VM size |
- | **Administrator account** | |
- | Username | Enter a username |
- | Password | Enter a password |
- | Confirm password | Reenter password |
- | **Inbound port rules** | |
- | Public inbound ports | Select **None** |
+ | Setting | Value |
+ ||-|
+ | **Project Details** | |
+ | Subscription | Select your Azure subscription. |
+ | Resource Group | Select **TMResourceGroup**. |
+ | **Instance details** | |
+ | Virtual machine name | Enter *Web-01*. |
+ | Region | Select **(US) East US**. |
+ | Availability options | Select **No infrastructure redundancy required**. |
+ | Security type | Select **Standard**. |
+ | Image | Select **Windows Server 2019 Datacenter - Gen2**. |
+ | Size | Select your VM size. |
+ | **Administrator account** | |
+ | Username | Enter a username. |
+ | Password | Enter a password. |
+ | Confirm password | Reenter password. |
+ | **Inbound port rules** | |
+ | Public inbound ports | Select **None**. |
1. Select the **Networking** tab, or select **Next: Disks**, then **Next: Networking**.
Create two Windows Server 2019 virtual machines.
| Setting | Value | ||-| | **Network interface** | |
- | Virtual network | Select **myTMVNet** |
- | Subnet | Select **WebSubnet** |
- | Public IP | Select **Create new**, and then enter *Web-01-ip* in **Name** </br> Select **Basic** for the **SKU**, and **Static** for the **Assignment** |
- | NIC network security group | Select **Basic**|
- | Public inbound ports | Select **Allow selected ports** |
- | Select inbound ports | Select **HTTP (80)**, **HTTPS (443)** and **RDP (3389)** |
+ | Virtual network | Select **myTMVNet**. |
+ | Subnet | Select **WebSubnet**. |
+ | Public IP | Select **Create new**, and then enter *Web-01-ip* in **Name**. </br> Select **Basic** for the **SKU**, and **Static** for the **Assignment**. |
+ | NIC network security group | Select **Basic**. |
+ | Public inbound ports | Select **Allow selected ports**. |
+ | Select inbound ports | Select **HTTP (80)**, **HTTPS (443)** and **RDP (3389)**. |
1. Select **Review + create**. 1. Review the settings, and then select **Create**.
Install IIS on both **Web-01** and **Web-02** virtual machines.
1. Select **Confirmation** or select **Next** three times, and then select **Install**. The installation process takes a few minutes to finish. 1. After the installation finishes, select **Close**. 1. Go to *C:\inetpub\wwwroot* and open *iisstart.htm* with Notepad or any editor of your choice.
-1. Replace `IIS Windows Server` in the title with the virtual machine name `Web-01` and save the file.
+1. Replace all the text in the file with `Hello World from Web-01` and save the *.htm* file.
1. Open a web browser. Browse to **localhost** to verify that the default IIS welcome page appears.
- :::image type="content" source="./media/tutorial-alias-tm/iis-on-web-01-vm-in-web-browser.png" alt-text="Screenshot of Internet Explorer showing the I I S Web Server Welcome page.":::
+ :::image type="content" source="./media/tutorial-alias-tm/iis-on-web-01-vm-in-web-browser.png" alt-text="Screenshot of Internet Explorer showing the I I S Web Server default page of first virtual machine.":::
-1. Repeat previous steps to install IIS web server on **Web-02** virtual machine. Use `Web-02` in the title of *iisstart.htm*.
+1. Repeat previous steps to install IIS web server on **Web-02** virtual machine. Enter `Hello World from Web-02` in *iisstart.htm*.
### Add a DNS label
-The public IP addresses need a DNS label to work with Traffic Manager.
+Public IP addresses need DNS labels to work with Traffic Manager.
1. In the Azure portal, enter *TMResourceGroup* in the search box at the top of the portal, and then select **TMResourceGroup** from the search results. 1. In the **TMResourceGroup** resource group, select the **Web-01-ip** public IP address.
The public IP addresses need a DNS label to work with Traffic Manager.
1. Select **+ Create**. 1. In the **Create Traffic Manager profile** page, enter or select the following information:
- | Setting | Value |
- |--||
- | Name | Enter *TM-alias-test* |
- | Routing method | Select **Priority** |
- | Subscription | Select your Azure subscription |
- | Resource group | Select **TMResourceGroup** |
+ | Setting | Value |
+ ||-|
+ | Name | Enter *TM-alias-test*. |
+ | Routing method | Select **Priority**. |
+ | Subscription | Select your Azure subscription. |
+ | Resource group | Select **TMResourceGroup**. |
:::image type="content" source="./media/tutorial-alias-tm/create-traffic-manager-profile.png" alt-text="Screenshot of the Create Traffic Manager profile page showing the selected settings.":::
The public IP addresses need a DNS label to work with Traffic Manager.
1. After **TM-alias-test** deployment finishes, select **Go to resource**. 1. In the **Endpoints** page of **TM-alias-test** Traffic Manager profile, select **+ Add** and enter or select the following information:
- | Setting | Value |
- |--||
- | Type | Select **External endpoint** |
- | Name | Enter *EP-Web01* |
- | Fully qualified domain name (FQDN) or IP | Enter the IP address for **Web-01-ip** that you noted previously |
- | Priority | Enter *1* |
+ | Setting | Value |
+ ||-|
+ | Type | Select **External endpoint**. |
+ | Name | Enter *EP-Web01*. |
+ | Fully qualified domain name (FQDN) or IP | Enter the IP address for **Web-01-ip** that you noted previously. |
+ | Priority | Enter *1*. |
:::image type="content" source="./media/tutorial-alias-tm/add-endpoint-tm-inline.png" alt-text="Screenshot of the Endpoints page in Traffic Manager profile showing selected settings for adding an endpoint." lightbox="./media/tutorial-alias-tm/add-endpoint-tm-expanded.png":::
The public IP addresses need a DNS label to work with Traffic Manager.
1. Repeat the last two steps to create the second endpoint. Enter or select the following information:
- | Setting | Value |
- |--||
- | Type | Select **External endpoint** |
- | Name | Enter *EP-Web02* |
- | Fully qualified domain name (FQDN) or IP | Enter the IP address for **Web-02-ip** that you noted previously |
- | Priority | Enter *2* |
+ | Setting | Value |
+ ||-|
+ | Type | Select **External endpoint**. |
+ | Name | Enter *EP-Web02*. |
+ | Fully qualified domain name (FQDN) or IP | Enter the IP address for **Web-02-ip** that you noted previously. |
+ | Priority | Enter *2*. |
## Create an alias record
Create an alias record that points to the Traffic Manager profile.
1. In the Azure portal, enter *contoso.com* in the search box at the top of the portal, and then select **contoso.com** DNS zone from the search results. 1. In the **Overview** page of **contoso.com** DNS zone, select the **+ Record set** button.
-1. In the **Add record set**, leave the **Name** box empty to represent the domain name apex. An example is `contoso.com`.
+1. In the **Add record set**, leave the **Name** box empty to represent the apex domain name. An example is `contoso.com`.
1. Select **A** for the **Type**. 1. Select **Yes** for the **Alias record set**, and then select the **Azure Resource** for the **Alias type**. 1. Select the **TM-alias-test** Traffic Manager profile for the **Azure resource**.
Create an alias record that points to the Traffic Manager profile.
## Test the alias record
-1. From a web browser, browse to `contoso.com` or your domain name apex. You see the IIS default welcome page with `Web-01` in the title of the browser page. The Traffic Manager directed traffic to **Web-01** IIS web server because it has the highest priority. Close the web browser and shut down **Web-01** virtual machine. Wait a few minutes for it to completely shut down.
-1. Open a new web browser, and browse again to `contoso.com` or your domain name apex.
-1. You see the IIS default welcome page again but with `Web-02` in the title of the browser page. The Traffic Manager handled the situation and directed traffic to the second IIS server after shutting down the first server that has the highest priority.
+1. From a web browser, browse to `contoso.com` or your apex domain name. You see the IIS default page with `Hello World from Web-01`. The Traffic Manager directed traffic to **Web-01** IIS web server because it has the highest priority. Close the web browser and shut down **Web-01** virtual machine. Wait a few minutes for the virtual machine to completely shut down.
+1. Open a new web browser, and browse again to `contoso.com` or your apex domain name.
+1. You should see the IIS default page with `Hello World from Web-01`. The Traffic Manager handled the situation and directed traffic to the second IIS server after shutting down the first server that has the highest priority.
## Clean up resources
When no longer needed, you can delete all resources created in this tutorial by
1. On the Azure portal menu, select **Resource groups**. 1. Select the **TMResourceGroup** resource group.
-1. Select **Delete resource group**.
+1. On the **Overview** page, select **Delete resource group**.
1. Enter *TMResourceGroup* and select **Delete**. 1. On the Azure portal menu, select **All resources**. 1. Select **contoso.com** DNS zone.
-1. Select the **@** record created in this tutorial.
+1. On the **Overview** page, select the **@** record created in this tutorial.
1. Select **Delete** and then **Yes**. ## Next steps
-In this tutorial, you created an alias record to use your apex domain name to reference a Traffic Manager profile.
+In this tutorial, you learned how to create an alias record to use your apex domain name to reference a Traffic Manager profile.
- Learn more about [alias records](dns-alias.md). - Learn more about [zones and records](dns-zones-records.md).
dns Tutorial Public Dns Zones Child https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/dns/tutorial-public-dns-zones-child.md
ms.assetid: be4580d7-aa1b-4b6b-89a3-0991c0cda897 - Previously updated : 06/07/2022 Last updated : 06/10/2022 +
-# Tutorial: Create a new Child DNS zone
+# Tutorial: Create a child DNS zone
+
+You can use Azure DNS to add child DNS zones for your subdomains to the parent DNS zone.
In this tutorial, you learn how to: > [!div class="checklist"] > * Create a child DNS zone via parent DNS zone. > * Create a child DNS zone via new DNS zone.
-> * Verify NS Delegation for the new Child DNS zone.
+> * Verify NS Delegation for the new child DNS zone.
+
+If you donΓÇÖt have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
## Prerequisites * An Azure account with an active subscription. If you don't have one, you can [create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). * A parent Azure DNS zone. If you don't have one, you can [create a DNS zone](./dns-getstarted-portal.md#create-a-dns-zone).
-In this tutorial, we'll use `contoso.com` as the parent zone and `subdomain.contoso.com` as the child domain name. Replace `contoso.com` with your parent domain name and `subdomain` with your child domain.
+> [!NOTE]
+> In this tutorial, `contoso.com` is used for the parent zone and `subdomain.contoso.com` for the child zone. Replace `contoso.com` with your parent domain name and `subdomain` with your child domain.
There are two ways you can create your child DNS zone:
-1. Through the parent DNS zone's **Overview** page.
+
+1. Through the **Overview** page of the parent DNS zone.
1. Through the **Create DNS zone** page.
+## Sign in to Azure
+
+Sign in to the Azure portal at https://portal.azure.com.
+ ## Create a child DNS zone via parent DNS zone Overview page
-You'll create a new child DNS zone and delegate it to the parent DNS zone using the **Child Zone** button from parent zone **Overview** page. Using this button, the parent parameters are automatically pre-populated.
+You'll create a new child DNS zone and delegate it to the parent DNS zone using the **+ Child Zone** button from parent zone **Overview** page. By using this button to create a child zone, the parent parameters are automatically pre-populated.
-1. Sign in to the [Azure portal](https://portal.azure.com).
1. In the Azure portal, enter *contoso.com* in the search box at the top of the portal and then select **contoso.com** DNS zone from the search results.
-1. In the **Overview** page, select the **+Child zone** button.
+1. In the **Overview** page, select the **+ Child zone** button.
- :::image type="content" source="./media/tutorial-public-dns-zones-child/child-zone-button.png" alt-text="Screenshot of D N S zone showing the child zone button.":::
+ :::image type="content" source="./media/tutorial-public-dns-zones-child/child-zone-button.png" alt-text="Screenshot of Azure D N S zone showing the Add child zone button.":::
1. In the **Create DNS zone**, enter or select this information in the **Basics** tab:
You'll create a new child DNS zone and delegate it to the parent DNS zone using
| Resource group | Select an existing resource group for the child zone or create a new one by selecting **Create new**. </br> In this tutorial, the resource group **MyResourceGroup** of the parent DNS zone is selected. | | **Instance details** | | | Name | Enter your child zone name. In this tutorial, *subdomain* is used. Notice that the parent DNS zone name `contoso.com` is automatically added as a suffix to **Name**. |
- | Resource group location | The resource group location is selected for you if you selected an existing resource group for the child zone. </br> Select the resource group location if you created a new resource group for the child zone. </br> The resource group location doesn't affect your DNS zone service, which is global and not bound to a location. |
+ | Resource group location | The resource group location is selected for you if you select an existing resource group for the child zone. </br> Select the resource group location if you create a new resource group for the child zone. </br> The resource group location doesn't affect your DNS zone service, which is global and not bound to a location. |
:::image type="content" source="./media/tutorial-public-dns-zones-child/child-zone-via-overview-page.png" alt-text="Screenshot of Create D N S zone page accessed via the Add child zone button."::: > [!NOTE]
- > Parent zone information is automatically pre-populated with child zone option box already checked.
-
-1. Select **Review + create** button.
-1. Select **Create** button. It may take a few minutes to create the child zone.
+ > Parent zone information is automatically pre-populated when adding a child zone from the parent zone.
+1. Select **Review + create**.
+1. Select **Create**. It may take a few minutes to create the child zone.
## Create a child DNS zone via Create DNS zone
You'll create a new child DNS zone and delegate it to the parent DNS zone using
| Subscription | Select your Azure subscription.| | Resource group | Select an existing resource group or create a new one by selecting **Create new**. </br> In this tutorial, the resource group **MyResourceGroup** of the parent DNS zone is selected. | | **Instance details** | |
- | This zone is a child of an existing zone already hosted in Azure DNS | Check this checkbox. |
+ | This zone is a child of an existing zone already hosted in Azure DNS | Select this checkbox. |
| Parent zone subscription | Select your Azure subscription under which parent DNS zone `contoso.com` was created. | | Parent zone | In the search bar, enter *contoso.com* to load it in dropdown list. Once loaded, select it from dropdown list. | | Name | Enter your child zone name. In this tutorial, *subdomain* is used. Notice that the parent DNS zone name `contoso.com` is automatically added as a suffix to **Name** after you selected parent zone from the previous step. |
- | Resource group location | The resource group location is selected for you if you selected an existing resource group for the child zone. </br> Select the resource group location if you created a new resource group for the child zone. </br> The resource group location doesn't affect your DNS zone service, which is global and not bound to a location. |
+ | Resource group location | The resource group location is selected for you if you select an existing resource group for the child zone. </br> Select the resource group location if you create a new resource group for the child zone. </br> The resource group location doesn't affect your DNS zone service, which is global and not bound to a location. |
:::image type="content" source="./media/tutorial-public-dns-zones-child/child-zone-via-create-dns-zone-page.png" alt-text="Screenshot of Create D N S zone page accessed via the Create button of D N S zone page.":::
-1. Select **Review + create** button.
-1. Select **Create** button. It may take a few minutes to create the zone.
+1. Select **Review + create**.
+1. Select **Create**. It may take a few minutes to create the zone.
## Verify the child DNS zone
After the new child DNS zone `subdomain.contoso.com` created, verify that the de
### Check the NS record set in parent DNS zone
-After retrieving the name servers from the child DNS zone, check that the parent DNS zone `contoso.com` has the NS record set entry for its child zone name servers.
+After retrieving the name servers from the child DNS zone, check that the parent DNS zone **contoso.com** has the NS record set entry for its child zone name servers.
1. In the Azure portal, enter *contoso.com* in the search box at the top of the portal and then select **contoso.com** DNS zone from the search results. 1. Check the record sets in **Overview** page of **contoso.com** DNS zone.
After retrieving the name servers from the child DNS zone, check that the parent
## Clean up resources
-When no longer needed, you can delete all resources created in this tutorial by following these steps to delete the resource group **MyResourceGroup**:
-
-1. On the Azure portal menu, select **Resource groups**.
-
-2. Select the **MyResourceGroup** resource group.
-
-3. Select **Delete resource group**.
-
-4. Enter *MyResourceGroup* and select **Delete**.
+When no longer needed, you can delete all resources created in this tutorial by following these steps:
+1. On the Azure portal menu, select **All resources**.
+1. Select **subdomain.contoso.com** DNS zone.
+1. On the **Overview** page, select the **Delete zone** button.
+1. Enter *subdomain.contoso.com* and select **Delete**.
+1. Select **All resources** again from the Azure portal menu.
+1. Select **contoso.com** DNS zone.
+1. On the **Overview** page, select the **subdomain** record.
+1. Select **Delete** and then **Yes**.
## Next steps
+In this tutorial, you learned how to create a child zone in Azure DNS for your subdomain. To learn how to create custom DNS records for web apps, continue with the next tutorial:
+ > [!div class="nextstepaction"]
-> [Azure DNS Private Zones scenarios](private-dns-scenarios.md)
+> [Create custom DNS records for web apps](dns-web-sites-custom-domain.md)
expressroute About Fastpath https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/expressroute/about-fastpath.md
The following FastPath features are in Public preview:
Available in all regions.
-**User Defined Routes (UDR)** - FastPath will honor UDRs configured on the GatewaySubnet and send traffic directly to an Azure Firewall or third party NVA.
+**User Defined Routes (UDRs)** - FastPath will honor UDRs configured on the GatewaySubnet and send traffic directly to an Azure Firewall or third party NVA.
Available in all regions.
frontdoor Create Front Door Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/frontdoor/standard-premium/create-front-door-cli.md
Title: Create an Azure Front Door Standard/Premium with the Azure CLI
-description: Learn how to create an Azure Front Door Standard/Premium (preview) with the Azure CLI. Use the Front Door to protect your web apps against vulnerabilities.
+ Title: Create an Azure Front Door Premium with the Azure CLI
+description: Learn how to create an Azure Front Door Premium with Azure CLI. Use Azure Front Door to deliver content to your global user base and protect your web apps against vulnerabilities.
-# Quickstart: Create an Azure Front Door Standard/Premium - Azure CLI
+# Quickstart: Create an Azure Front Door Premium - Azure CLI
-In this quickstart, you'll learn how to create an Azure Front Door Standard/Premium profile using the Azure CLI. You'll create this profile using two Web Apps as your origin, and add a WAF security policy. You can then verify connectivity to your Web Apps using the Azure Front Door Standard/Premium frontend hostname.
+In this quickstart, you'll learn how to create an Azure Front Door Premium profile using Azure CLI. You'll create this profile using two Web Apps as your origin, and add a WAF security policy. You can then verify connectivity to your Web Apps using the Azure Front Door endpoint hostname.
> [!NOTE]
-> This documentation is for Azure Front Door Standard/Premium (Preview). Looking for information on Azure Front Door? View [Azure Front Door Docs](../front-door-overview.md).
+> This documentation is for Azure Front Door Standard/Premium. Looking for information on Azure Front Door? View [Azure Front Door Docs](../front-door-overview.md).
[!INCLUDE [quickstarts-free-trial-note](../../../includes/quickstarts-free-trial-note.md)]
In this quickstart, you'll learn how to create an Azure Front Door Standard/Prem
## Create a resource group
-For this quickstart, you'll need two resource groups. One in *Central US* and the second in *East US*.
+In Azure, you allocate related resources to a resource group. You can either use an existing resource group or create a new one.
-Run [az group create](/cli/azure/group#az-group-create) to create resource groups.
+Run [az group create](/cli/azure/group) to create resource groups.
```azurecli
-az group create \
- --name myRGFDCentral \
- --location centralus
-
-az group create \
- --name myRGFDEast \
- --location eastus
+az group create --name myRGFD --location centralus
```- ## Create an Azure Front Door profile Run [az afd profile create](/cli/azure/afd/profile#az-afd-profile-create) to create an Azure Front Door profile.
Run [az afd profile create](/cli/azure/afd/profile#az-afd-profile-create) to cre
```azurecli az afd profile create \ --profile-name contosoafd \
- --resource-group myRGFDCentral \
- --sku Premium_AzureFrontDoor \
- --subscription mysubscription
+ --resource-group myRGFD \
+ --sku Premium_AzureFrontDoor
``` ## Create two instances of a web app
Run [az appservice plan create](/cli/azure/appservice/plan#az-appservice-plan-cr
```azurecli az appservice plan create \ --name myAppServicePlanCentralUS \
- --resource-group myRGFDCentral
+ --resource-group myRGFD
az appservice plan create \ --name myAppServicePlanEastUS \
- --resource-group myRGFDEast
+ --resource-group myRGFD
``` ### Create web apps Run [az webapp create](/cli/azure/webapp#az-webapp-create&preserve-view=true) to create a web app in each of the app service plans in the previous step. Web app names have to be globally unique.
-Run [az webapp list-runtimes](/cli/azure/webapp#az-webapp-create&preserve-view=true) to see a list of built-in stacks for web apps.
- ```azurecli az webapp create \
- --name WebAppContoso-001 \
- --resource-group myRGFDCentral \
- --plan myAppServicePlanCentralUS \
- --runtime "DOTNETCORE|2.1"
+ --name WebAppContoso-01 \
+ --resource-group myRGFD \
+ --plan myAppServicePlanCentralUS
az webapp create \
- --name WebAppContoso-002 \
- --resource-group myRGFDEast \
- --plan myAppServicePlanEastUS \
- --runtime "DOTNETCORE|2.1"
+ --name WebAppContoso-02 \
+ --resource-group myRGFD \
+ --plan myAppServicePlanEastUS
``` Make note of the default host name of each web app so you can define the backend addresses when you deploy the Front Door in the next step.
Run [az afd endpoint create](/cli/azure/afd/endpoint#az-afd-endpoint-create) to
```azurecli az afd endpoint create \
- --resource-group myRGFDCentral \
- --endpoint-name contoso-frontend \
+ --resource-group myRGFD \
+ --endpoint-name contosofrontend \
--profile-name contosoafd \
- --origin-response-timeout-seconds 60 \
--enabled-state Enabled ```
Run [az afd origin-group create](/cli/azure/afd/origin-group#az-afd-origin-group
```azurecli az afd origin-group create \
- --resource-group myRGFDCentral \
- --origin-group-name og1 \
+ --resource-group myRGFD \
+ --origin-group-name og2 \
--profile-name contosoafd \ --probe-request-type GET \ --probe-protocol Http \
- --probe-interval-in-seconds 120 \
- --probe-path /test1/azure.txt \
+ --probe-interval-in-seconds 60 \
+ --probe-path / \
--sample-size 4 \ --successful-samples-required 3 \ --additional-latency-in-milliseconds 50
Run [az afd origin create](/cli/azure/afd/origin#az-afd-origin-create) to add an
```azurecli az afd origin create \
- --resource-group myRGFDCentral \
- --host-name webappcontoso-1.azurewebsites.net
+ --resource-group myRGFD \
+ --host-name webappcontoso-01.azurewebsites.net \
--profile-name contosoafd \
- --origin-group-name og1 \
+ --origin-group-name og \
--origin-name contoso1 \
- --origin-host-header webappcontoso-1.azurewebsites.net \
+ --origin-host-header webappcontoso-01.azurewebsites.net \
--priority 1 \ --weight 1000 \ --enabled-state Enabled \
Repeat this step and add your second origin.
```azurecli az afd origin create \
- --resource-group myRGFDCentral \
- --host-name webappcontoso-2.azurewebsites.net
+ --resource-group myRGFD \
+ --host-name webappcontoso-02.azurewebsites.net \
--profile-name contosoafd \
- --origin-group-name og1 \
+ --origin-group-name og \
--origin-name contoso2 \
- --origin-host-header webappcontoso-2.azurewebsites.net \
+ --origin-host-header webappcontoso-02.azurewebsites.net \
--priority 1 \ --weight 1000 \ --enabled-state Enabled \
az afd origin create \
## Add a route
-Run [az afd route create](/cli/azure/afd/route#az-afd-route-create) to map your frontend endpoint to the origin group. This route forwards requests from the endpoint to *og1*.
+Run [az afd route create](/cli/azure/afd/route#az-afd-route-create) to map your endpoint to the origin group. This route forwards requests from the endpoint to your origin group.
```azurecli az afd route create \
- --resource-group myRGFDCentral \
- --endpoint-name contoso-frontend \
+ --resource-group myRGFD \
--profile-name contosoafd \
- --route-name route1 \
+ --endpoint-name contosofrontend \
+ --forwarding-protocol MatchRequest \
+ --route-name route \
--https-redirect Enabled \
- --origin-group og1 \
- --supported-protocols Https \
- --link-to-default-domain Enabled \
- --forwarding-protocol MatchRequest
+ --origin-group og \
+ --supported-protocols Http Https \
+ --link-to-default-domain Enabled
``` ## Create a new security policy ### Create a WAF policy
-Run [az network front-door waf-policy create](/cli/azure/network/front-door/waf-policy#az-network-front-door-waf-policy-create) to create a WAF policy for one of your resource groups.
-
-Create a new WAF policy for your Front Door. This example creates a policy that's enabled and in prevention mode.
+Run [az network front-door waf-policy create](/cli/azure/network/front-door/waf-policy#az-network-front-door-waf-policy-create) to create a new WAF policy for your Front Door. This example creates a policy that is enabled and in prevention mode.
```azurecli
-az network front-door waf-policy create
- --name contosoWAF /
- --resource-group myRGFDCentral /
- --sku Premium_AzureFrontDoor
- --disabled false /
+az network front-door waf-policy create \
+ --name contosoWAF \
+ --resource-group myRGFD \
+ --sku Premium_AzureFrontDoor \
+ --disabled false \
--mode Prevention ```
az network front-door waf-policy create
Run [az afd security-policy create](/cli/azure/afd/security-policy#az-afd-security-policy-create) to apply your WAF policy to the endpoint's default domain.
+> [!NOTE]
+> Substitute 'mysubscription' with your Azure Subscription ID in the domains and waf-policy parameters below. Run [az account subscription list](/cli/azure/aaccount/subscription#az-account-subscription-list) to get Subscription ID details.
++ ```azurecli az afd security-policy create \
- --resource-group myRGFDCentral \
+ --resource-group myRGFD \
--profile-name contosoafd \ --security-policy-name contososecurity \
- --domains /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contoso-frontend.z01.azurefd.net \
- --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF
+ --domains /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contosofrontend \
+ --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF
``` ## Verify Azure Front Door
-When you create the Azure Front Door Standard/Premium profile, it takes a few minutes for the configuration to be deployed globally. Once completed, you can access the frontend host you created. In a browser, go to `contoso-frontend.z01.azurefd.net`. Your request will automatically get routed to the nearest server from the specified servers in the origin group.
+When you create the Azure Front Door Standard/Premium profile, it takes a few minutes for the configuration to be deployed globally. Once completed, you can access the frontend host you created.
-To test instant global failover, we'll use the following steps:
+Run [az afd endpoint show](/cli/azure/afd/endpoint#az-afd-endpoint-show) to get the hostname of the Front Door endpoint.
-1. Open a browser, as described above, and go to the frontend address: `contoso-frontend.azurefd.net`.
+```azurecli
+az afd endpoint show --resource-group myRGFD --profile-name contosoafd --endpoint-name contosofrontend
+```
+In a browser, go to the endpoint hostname: `contosofrontend-<hash>.z01.azurefd.net`. Your request will automatically get routed to the least latent Web App in the origin group.
-2. In the Azure portal, search for and select *App services*. Scroll down to find one of your web apps, **WebAppContoso-1** in this example.
-3. Select your web app, and then select **Stop**, and **Yes** to verify.
+
+To test instant global failover, we'll use the following steps:
+
+1. Open a browser, as described above, and go to the endpoint hostname: `contosofrontend-<hash>.z01.azurefd.net`.
+
+2. Stop one of the Web Apps by running [az webapp stop](/cli/azure/webapp#az-webapp-stop&preserve-view=true)
+```azurecli
+az webapp stop --name WebAppContoso-01 --resource-group myRGFD
+```
4. Refresh your browser. You should see the same information page.
To test instant global failover, we'll use the following steps:
5. Find the other web app, and stop it as well.
+```azurecli
+az webapp stop --name WebAppContoso-02 --resource-group myRGFD
+```
+ 6. Refresh your browser. This time, you should see an error message.
- :::image type="content" source="../media/create-front-door-portal/web-app-stopped-message.png" alt-text="Both instances of the web app stopped":::
+7. Restart one of the Web Apps by running [az webapp start](/cli/azure/webapp#az-webapp-start&preserve-view=true). Refresh your browser and the page will go back to normal.
+```azurecli
+az webapp start --name WebAppContoso-01 --resource-group myRGFD
+```
## Clean up resources When you don't need the resources for the Front Door, delete both resource groups. Deleting the resource groups also deletes the Front Door and all its related resources.
Run [az group delete](/cli/azure/group#az-group-delete&preserve-view=true):
```azurecli az group delete \
- --name myRGFDCentral
-
-az group delete \
- --name myRGFDEast
+ --name myRGFD
``` ## Next steps
iot-edge How To Use Create Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/iot-edge/how-to-use-create-options.md
Once stringified for the deployment manifest, the same configuration would look
You can declare how much of the host resources a module can use. This control is helpful to ensure that one module can't consume too much memory or CPU usage and prevent other processes from running on the device. You can manage these settings with [Docker container create options](https://docs.docker.com/engine/api/v1.32/#operation/ContainerCreate) in the **HostConfig** group, including: * **Memory**: Memory limit in bytes. For example, 268435456 bytes = 256 MB.
-* **MemorySwap**: Total memory limit (memory + swap). For example, 536870912 bytes = 512 MB
-* **CpuPeriod**: The length of a CPU period in microseconds. The default value is 100000 so, for example, a value of 25000 limits a container to 25% of the CPU resources.
+* **MemorySwap**: Total memory limit (memory + swap). For example, 536870912 bytes = 512 MB.
+* **NanoCpus**: CPU quota in units of 10<sup>-9</sup> (1 billionth) CPUs. For example, 250000000 nanocpus = 0.25 CPU.
In the template.json format, these values would look like the following example:
In the template.json format, these values would look like the following example:
"HostConfig": { "Memory": 268435456, "MemorySwap": 536870912,
- "CpuPeriod": 25000
+ "NanoCpus": 250000000
} } ```
machine-learning How To Train Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-train-sdk.md
Previously updated : 05/26/2022 Last updated : 06/10/2022
In this article, you learn how to configure and submit Azure Machine Learning jo
## Prerequisites * If you don't have an Azure subscription, create a free account before you begin. Try the [free or paid version of Azure Machine Learning](https://azure.microsoft.com/free/) today
-* The Azure Machine Learning SDK v2 for Python
+* The Azure Machine Learning [SDK v2 for Python](https://aka.ms/sdk-v2-install)
* An Azure Machine Learning workspace ### Clone examples repository
In this article, you learn how to configure and submit Azure Machine Learning jo
To run the training examples, first clone the examples repository and change into the `sdk` directory: ```bash
-git clone --depth 1 https://github.com/Azure/azureml-examples --branch sdk-preview
+git clone --depth 1 https://github.com/Azure/azureml-examples --branch
cd azureml-examples/sdk ```
machine-learning Tutorial Train Deploy Notebook https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/tutorial-train-deploy-notebook.md
You complete the following experiment setup and run steps in Azure Machine Learn
1. At the top, select the **Samples** tab.
-1. Open the **Python** folder.
- 1. Open the folder with a version number on it. This number represents the current release for the Python SDK. 1. Select the **...** button at the right of the **tutorials** folder, and then select **Clone**.
You complete the following experiment setup and run steps in Azure Machine Learn
> [!IMPORTANT] > You can view notebooks in the **samples** folder but you can't run a notebook from there. To run a notebook, make sure you open the cloned version of the notebook in the **User Files** section.
-1. Select the **quickstart-azureml-in-10mins.ipynb** file from your **compute-instance-quickstarts/quickstart-azureml-in-10mins** folder.
+1. Select the **quickstart-azureml-in-10mins.ipynb** file from your **tutorials/compute-instance-quickstarts/quickstart-azureml-in-10mins** folder.
:::image type="content" source="media/tutorial-train-deploy-notebook/expand-folder.png" alt-text="Screenshot shows the Open tutorials folder.":::
partner-solutions Nginx Create https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/partner-solutions/nginx/nginx-create.md
Title: Create an NGINX for Azure deployment description: This article describes how to use the Azure portal to create an instance of NGINX. - Last updated 05/12/2022 + # QuickStart: Get started with NGINX
partner-solutions Nginx Manage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/partner-solutions/nginx/nginx-manage.md
Title: Manage an NGINX resource through the Azure portal description: This article describes management functions for NGINX on the Azure portal. - Last updated 05/12/2022+ # Manage your NGINX for Azure (preview) integration through the portal
partner-solutions Nginx Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/partner-solutions/nginx/nginx-overview.md
Title: What is NGINX for Azure description: Learn about using the NGINX Cloud-Native Observability Platform in the Azure Marketplace. - Last updated 05/12/2022+ # What is NGINX for Azure (preview)?
partner-solutions Nginx Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/partner-solutions/nginx/nginx-troubleshoot.md
Title: Troubleshooting your NGINX for Azure deployment
-description: This article provides information about getting support and troubleshooting an NGINX integration with Azure.
+description: This article provides information about getting support and troubleshooting an NGINX for Azure integration.
-
search Cognitive Search Concept Image Scenarios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/search/cognitive-search-concept-image-scenarios.md
Previously updated : 04/26/2022 Last updated : 06/10/2022
When "imageAction" is set to a value other than "none", the new *normalized_imag
| originalWidth | The original width of the image before normalization. | | originalHeight | The original height of the image before normalization. | | rotationFromOriginal | Counter-clockwise rotation in degrees that occurred to create the normalized image. A value between 0 degrees and 360 degrees. This step reads the metadata from the image that is generated by a camera or scanner. Usually a multiple of 90 degrees. |
-| contentOffset | The character offset within the content field where the image was extracted from. This field is only applicable for files with embedded images. |
+| contentOffset | The character offset within the content field where the image was extracted from. This field is only applicable for files with embedded images. Note that the *contentOffset* for images extracted from PDF documents will always be at the end of the text on the page it was extracted from in the document. This means images will be after all the text on that page, regardless of the original location of the image in the page. |
| pageNumber | If the image was extracted or rendered from a PDF, this field contains the page number in the PDF it was extracted or rendered from, starting from 1. If the image was not from a PDF, this field will be 0. | Sample value of *normalized_images*:
The following workflow outlines the process of image extraction, analysis, mergi
1. Image outputs are passed into enriched documents, with each output as a separate node. Outputs vary by skill (text and layoutText for OCR, tags and captions for Image Analysis).
-1. Optional but recommended if you want search documents to include both text and image-origin text together, [Text Merge](cognitive-search-skill-textmerger.md) runs, combining the text representation of those images with the raw text extracted from the file. Text chunks are consolidated into a single large string, where the OCR output or image tags and captions are inserted in the same location as the image.
+1. Optional but recommended if you want search documents to include both text and image-origin text together, [Text Merge](cognitive-search-skill-textmerger.md) runs, combining the text representation of those images with the raw text extracted from the file. Text chunks are consolidated into a single large string, where the text is inserted first in the string and then the OCR text output or image tags and captions.
The output of Text Merge is now the definitive text to analyze for any downstream skills that perform text processing. For example, if your skillset includes both OCR and Entity Recognition, the input to Entity Recognition should be `"document/merged_text"` (the targetName of the Text Merge skill output).
search Cognitive Search Defining Skillset https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/search/cognitive-search-defining-skillset.md
Previously updated : 01/31/2022 Last updated : 06/10/2022 # Create a skillset in Azure Cognitive Search
A skillset defines the operations that extract and enrich data to make it search
This article explains how to create a skillset with the [Create Skillset (REST API)](/rest/api/searchservice/create-skillset). Rules for skillset definition include:
-+ A skillset is a top-level resource, which means it can be created once and referenced by many indexers.
++ A skillset is a named top-level resource, which means it can be created once and referenced by many indexers. + A skillset must contain at least one skill. + A skillset can repeat skills of the same type (for example, multiple Shaper skills).
-An indexer drives skillset execution. You need an [indexer](search-howto-create-indexers.md), [data source](search-data-sources-gallery.md), and [search index](search-what-is-an-index.md) before you can test your skillset.
+Indexers drive skillset execution. You'll need an [indexer](search-howto-create-indexers.md), [data source](search-data-sources-gallery.md), and [index](search-what-is-an-index.md) before you can test your skillset.
> [!TIP] > Enable [enrichment caching](cognitive-search-incremental-indexing-conceptual.md) to reuse the content you've already processed and lower the cost of development.
Start with the basic structure. In the [Create Skillset REST API](/rest/api/sear
After the name and description, a skillset has four main properties:
-+ `skills` array, an unordered [collection of skills](cognitive-search-predefined-skills.md), for which the search service determines the sequence of execution based on the inputs required for each skill. If skills are independent, they execute in parallel. Skills can be utilitarian (like splitting text), transformational (based on AI from Cognitive Services), or custom skills that you provide. An example of a skills array is provided in the next section.
++ `skills` array, an unordered [collection of skills](cognitive-search-predefined-skills.md). Skills can be utilitarian (like splitting text), transformational (based on AI from Cognitive Services), or custom skills that you provide. An example of a skills array is provided in the next section. + `cognitiveServices` is used for [billable skills](cognitive-search-predefined-skills.md) that call Cognitive Services APIs. Remove this section if you aren't using billable skills or Custom Entity Lookup. [Attach a resource](cognitive-search-attach-cognitive-services.md) if you are.
After the name and description, a skillset has four main properties:
+ `encryptionKey` (optional) specifies an Azure Key Vault and [customer-managed keys](search-security-manage-encryption-keys.md) used to encrypt sensitive content in a skillset definition. Remove this property if you aren't using customer-managed encryption.
-## Insert a skills array
+## Add skills
-Inside the skillset definition, the skills array specifies which skills to execute. All skills have a type, context, inputs, and outputs. The following example shows two unrelated, [built-in skills](cognitive-search-predefined-skills.md). Notice that each skill has a type, context, inputs, and outputs.
+Inside the skillset definition, the skills array specifies which skills to execute. Three to five skills are common, but you can add as many skills as necessary, subject to [service limits](search-limits-quotas-capacity.md#indexer-limits).
+
+The end result of an enrichment pipeline is textual content in either a search index or knowledge store. For this reason, most skills either create text from images (OCR text, captions, tags), or analyze existing text to create new information (entities, key phrases, sentiment). Skills that operate independently are processed in parallel. Skills that depend on each other specify the output of one skill (such as key phrases) as the input of second skill (such as text translation). The search service determines the order of skill execution.
+
+All skills have a type, context, inputs, and outputs. A skill might optionally have a name and description. The following example shows two unrelated [built-in skills](cognitive-search-predefined-skills.md) so that you can compare the basic structure.
```json "skills":[ { "@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
+ "name": "#1",
+ "description": "This skill detects organizations in the source content",
"context": "/document", "categories": [ "Organization" ],
- "defaultLanguageCode": "en",
"inputs": [ { "name": "text",
Inside the skillset definition, the skills array specifies which skills to execu
] }, {
- "@odata.type": "#Microsoft.Skills.Text.SentimentSkill",
- "context": "/document",
- "inputs": [
- {
- "name": "text",
- "source": "/document/content"
- }
- ],
- "outputs": [
- {
- "name": "score",
- "targetName": "mySentiment"
- }
- ]
+ "name": "#2",
+ "description": "This skill detects corporate logos in the source files",
+ "@odata.type": "#Microsoft.Skills.Vision.ImageAnalysisSkill",
+ "context": "/document/normalized_images/*",
+ "visualFeatures": [
+ "brands"
+ ],
+ "inputs": [
+ {
+ "name": "image",
+ "source": "/document/normalized_images/*"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "brands"
+ }
+ ]
} ] ```
+Each skill is unique in terms of its input values and the parameters that it takes. [Skill reference documentation](cognitive-search-predefined-skills.md) describes all of the parameters and properties of a given skill. Although there are differences, most skills share a common set and are similarly patterned.
+ > [!NOTE] > You can build complex skillsets with looping and branching using the [Conditional skill](cognitive-search-skill-conditional.md) to create the expressions. The syntax is based on the [JSON Pointer](https://tools.ietf.org/html/rfc6901) path notation, with a few modifications to identify nodes in the enrichment tree. A `"/"` traverses a level lower in the tree and `"*"` acts as a for-each operator in the context. Numerous examples in this article illustrate the [the syntax](cognitive-search-skill-annotation-language.md).
-### How built-in skills are structured
+## Set skill context
-Each skill is unique in terms of its input values and the parameters that it takes. The [documentation for each skill](cognitive-search-predefined-skills.md) describes all of the parameters and properties of a given skill. Although there are differences, most skills share a common set and are similarly patterned. To illustrate several points, the [Entity Recognition skill](cognitive-search-skill-entity-recognition-v3.md) provides an example:
+Each skill has a [context property](cognitive-search-working-with-skillsets.md#context) that determines the level at which operations take place. If the "context" property isn't explicitly set, the default is `"/document"`, where the context is the whole document (the skill is called once per document).
```json
-{
- "@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
- "context": "/document",
- "categories": [ "Organization" ],
- "defaultLanguageCode": "en",
- "inputs": [
- {
- "name": "text",
- "source": "/document/content"
- }
- ],
- "outputs": [
- {
- "name": "organizations",
- "targetName": "orgs"
- }
- ]
-}
+"skills":[
+ {
+ "@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
+ "context": "/document",
+ "inputs": [],
+ "outputs": []
+ },
+ {
+ "@odata.type": "#Microsoft.Skills.Vision.ImageAnalysisSkill",
+ "context": "/document/normalized_images/*",
+ "visualFeatures": [],
+ "inputs": [],
+ "outputs": []
+ }
+]
```
-Common parameters include "odata.type", "inputs", and "outputs". The other parameters, namely "categories" and "defaultLanguageCode", are examples of parameters that are specific to Entity Recognition.
+Context is usually set to one of the following examples:
+
+| Context example | Description |
+|--|-|
+| "context": "/document" | (Default) Inputs and outputs are at the document level. |
+| "context": "/document/pages/*" | Some skills like sentiment analysis perform better over smaller chunks of text. If you're splitting a large content field into pages or sentences, the context should be over each component part. |
+| "context": "/document/normalized_images/*" | For image content, inputs and outputs are one per image in the parent document. |
+
+Context also determines where outputs are produced in the [enrichment tree](cognitive-search-working-with-skillsets.md#enrichment-tree). For example, the Entity Recognition skill returns a property called `"organizations"`, captured as `orgs`. If the context is `"/document"`, then an "organizations" node is added as a child of `"/document"`. If you then wanted to reference this node in downstream skills, the path would be `"/document/orgs"`.
-+ **"odata.type"** uniquely identifies each skill. You can find the type in the [skill reference documentation](cognitive-search-predefined-skills.md).
+## Define inputs
-+ **"context"** is a node in an enrichment tree and it represents the level at which operations take place. All skills have this property. If the "context" field isn't explicitly set, the default context is `"/document"`. In the example, the context is the whole document, which means that the entity recognition skill is called once per document.
+Skills read from and write to an enriched document. Skill inputs specify the origin of the incoming data. It's often the root node of the enriched document. For blobs, a typical skill input is the document's content property.
- The context also determines where outputs are produced in the enrichment tree. In this example, the skill returns a property called `"organizations"`, captured as `orgs`, which is added as a child node of `"/document"`. In downstream skills, the path to this node is `"/document/orgs"`. For a particular document, the value of `"/document/orgs"` is an array of organizations extracted from the text (for example: `["Microsoft", "LinkedIn"]`). For more information about path syntax, see [How to reference annotations in a skillset](cognitive-search-concept-annotations-syntax.md).
+[Skill reference documentation](cognitive-search-predefined-skills.md) for each skill describes the inputs it can produce. Each input has a "name" and a "source". The following example is from the Entity Recognition skill:
-+ **"inputs"** specify the origin of the incoming data and how it's used. In the [Entity Recognition](cognitive-search-skill-entity-recognition-v3.md) skill, one of the inputs is `"text"`, which is the content to be analyzed for entities. The content is sourced from the `"/document/content"` node in an enrichment tree. In an enrichment tree, `"/document"` is the root node. For documents retrieved by an Azure Blob indexer, the `content` field of each document is a standard field created by the indexer.
+```json
+"inputs": [
+ {
+ "name": "text",
+ "source": "/document/content"
+ },
+ {
+ "name": "languageCode",
+ "source": "/document/language"
+ }
+]
+```
-+ **"outputs"** represent the output of the skill. Each skill is designed to emit specific kinds of output, which are referenced by name in the skillset. In Entity Recognition, `"organizations"` is one of the outputs it supports. The documentation for each skill describes the outputs it can produce.
++ Skills can have multiple inputs. The "name" is the specific input. For Entity Recognition, the specific inputs are "text" and "languageCode".
-Outputs exist only during processing. To chain this output to the input of a downstream skill, reference the output as `"/document/orgs"`. To send output to a field in a search index, [create an output field mapping](cognitive-search-output-field-mapping.md) in an indexer. To send output to a knowledge store, [create a projection](knowledge-store-projection-overview.md).
++ The "source" property specifies which field or row provides the content to be processed. For text-based skills, the source is a field in the document or row that provides text. For image-based skills, the node providing the input is normalized images.
-Outputs from the one skill can conflict with outputs from a different skill. If you have multiple skills that return the same output, use the `"targetName"` for name disambiguation in enrichment node paths.
+ | Source example | Description |
+ |--|-|
+ | "source": "/document" | For a tabular data set, a document corresponds to a row.|
+ | "source": "/document/content" | For blobs, the source is usually the blob's content property. |
+ | "source": "/document/some-named-field" | For text-based skills, such as entity recognition or key phrase extraction, the origin should be a field that contains sufficient text to be analyzed, such as a "description" or "summary". |
+ | "source": "/document/normalized_images/*" | For image content, the source is image that's been normalized during document cracking. |
-Some situations call for referencing each element of an array separately. For example, suppose you want to pass *each element* of `"/document/orgs"` separately to another skill. To do so, add an asterisk to the path: `"/document/orgs/*"`.
+If the skill iterates over an array, both context and input source should include `/*` in the correct positions.
-The second skill for sentiment analysis follows the same pattern as the first enricher. It takes `"/document/content"` as input, and returns a sentiment score for each content instance. Since you didn't set the "context" field explicitly, the output (mySentiment) is now a child of `"/document"`.
+## Define outputs
+
+Each skill is designed to emit specific kinds of output, which are referenced by name in the skillset. A skill output has a "name" and an optional "targetName".
+
+[Skill reference documentation](cognitive-search-predefined-skills.md) for each skill describes the outputs it can produce. The following example is from the Entity Recognition skill:
```json
-{
- "@odata.type": "#Microsoft.Skills.Text.SentimentSkill",
- "inputs": [
+"outputs": [
{
- "name": "text",
- "source": "/document/content"
- }
- ],
- "outputs": [
+ "name": "persons",
+ "targetName": "people"
+ },
{
- "name": "score",
- "targetName": "mySentiment"
+ "name": "organizations",
+ "targetName": "orgs"
+ },
+ {
+ "name": "locations",
+ "targetName": "places"
}
- ]
-}
+]
```
-## Set context and input source
++ Skills can have multiple outputs. The "name" identifies a specific output. For example, for Entity Recognition, output can be "persons", "locations", "organizations", among others.
-1. Set the skill's [context property](cognitive-search-working-with-skillsets.md#context). Context determines the level at which operations take place, and where outputs are produced in the enrichment tree. It's usually one of the following examples:
++ "targetName" specifies the name you would like this node to have in the enriched document. This is useful if skill outputs have the same name. If you have multiple skills that return the same output, use the `"targetName"` for name disambiguation in enrichment node paths. If the target name is unspecified, the name property is used for both.
- | Context example | Description |
- |--|-|
- | "context": "/document" | (Default) Inputs and outputs are at the document level. |
- | "context": "/document/pages/*" | Some skills like sentiment analysis perform better over smaller chunks of text. If you're splitting a large content field into pages or sentences, the context should be over each component part. |
- | "context": "/document/normalized_images/*" | Inputs and outputs are one per image in the parent document. |
-
-1. Set the skill's input source to the node that's providing the data to be processed. For text-based skills, it's a field in the document or row that provides text. For image-based skills, the node providing the input is normalized images.
-
- | Source example | Description |
- |--|-|
- | "source": "/document/content" | For blobs, the source is usually the blob's content property. |
- | "source": "/document/some-named-field" | For text-based skills, such as entity recognition or key phrase extraction, the origin should be a field that contains sufficient text to be analyzed, such as a "description" or "summary". |
- | "source": "/document/normalized_images/*" | For image content, the source is image that's been normalized during document cracking. |
+Some situations call for referencing each element of an array separately. For example, suppose you want to pass *each element* of `"/document/orgs"` separately to another skill. To do so, add an asterisk to the path: `"/document/orgs/*"`.
-If the skill iterates over an array, both context and input source should include `/*` in the correct positions.
+Skill output is written to the enriched document as a new node in the enrichment tree. It might be a simple value, such as a sentiment score or language code. It could also be a collection, such as a list of organizations, people, or locations. Skill output can also be a complex structure, as is the case with the Shaper skill. The inputs of the skill determine the composition of the shape, but the output is the named object, which can be referenced in a search index, a knowledge store projection, or another skill by its name.
## Add a custom skill
Output, such as the company description in this example, is generated for each o
} ```
-## Send output to an index
-
-As each skill executes, its output is added as nodes in a document's enrichment tree. Enriched documents exist in the pipeline as temporary data structures. To create a permanent data structure, and gain full visibility into what a skill is actually producing, send the output to a search index or a [knowledge store](knowledge-store-concept-intro.md).
+## Send output to a destination
-In the early stages of skillset evaluation, checking preliminary results is important. We recommend a search index over a knowledge store because it's simpler to set up. For each skill output, [define an output field mapping](cognitive-search-output-field-mapping.md) in the indexer, and a field in the search index.
+Although skill output can be optionally cached for reuse purposes, it's usually temporary and exists only while skill execution is in progress.
++ To send output to a field in a search index, [create an output field mapping](cognitive-search-output-field-mapping.md) in an indexer.
-After you run the indexer, use [Search Explorer](search-explorer.md) to return documents from the index and check the contents of each field to determine what the skillset detected or created.
++ To send output to a knowledge store, [create a projection](knowledge-store-projection-overview.md).
-This screenshot shows the results of an entity recognition skill that detected persons, locations, organizations, and other entities in a chunk of text. You can view the results to decide whether a skill adds value to your solution.
-++ To send output to a downstream skill, reference the output by its node name, such as `"/document/organization"`, in the downstream skill's input source property. ## Tips for a first skillset + Assemble a representative sample of your content in Blob Storage or another supported data source and run the [**Import data** wizard](search-import-data-portal.md).
- The wizard automates several steps that can be challenging the first time around. It defines fields in an index, field mappings in an indexer, and projections in a knowledge store if you're using one. For some skills, such as OCR or image analysis, the wizard adds utility skills that merge the image and text content that was separated during document cracking.
+ The wizard automates several steps that can be challenging the first time around. It defines the skillset, index, and indexer, including field mappings and output field mappings. It will also define projections in a knowledge store if you're using one. For some skills, such as OCR or image analysis, the wizard adds utility skills that merge the image and text content that was separated during document cracking.
+
+ After the wizard runs, you can open each object in the Azure portal to view its JSON definition. You can also use [Debug Sessions](cognitive-search-debug-session.md) to invoke skillset execution over a target document.
+ Alternatively, you can [import sample Postman collections](https://github.com/Azure-Samples/azure-search-postman-samples) that provide a full articulation of the object definitions required to evaluate a skill. ++ When you're ready to start from scratch on a new skillset, checking preliminary results is important. We recommend a search index for content validation because it's simpler to set up, in comparison to knowledge stores. +
+ For each skill output, [define an output field mapping](cognitive-search-output-field-mapping.md) in the indexer, and a field in the search index.
+
+ :::image type="content" source="media/cognitive-search-defining-skillset/skillset-indexer-index-combo.png" alt-text="Object diagram that shows the person entity as a skill output, indexer field mapping, and index field.":::
+
+ After you run the indexer, use [Search Explorer](search-explorer.md) to return documents from the index and check the contents of each field to determine what the skillset detected or created.
+
+ This screenshot shows the results of an entity recognition skill that detected persons, locations, organizations, and other entities in a chunk of text. You can view the results to decide whether a skill adds value to your solution.
+
+ :::image type="content" source="media/cognitive-search-defining-skillset/doc-in-search-explorer.png" alt-text="Screenshot of a document in Search Explorer.":::
+ ## Next steps Context and input source fields are paths to nodes in an enrichment tree. As a next step, learn more about the path syntax for nodes in an enrichment tree.
search Cognitive Search Skill Ocr https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/search/cognitive-search-skill-ocr.md
Previously updated : 04/27/2022 Last updated : 06/09/2022 # OCR cognitive skill
The **OCR** skill extracts text from image files. Supported file formats include
+ .JPG + .PNG + .BMP
-+ .GIF
+ .TIFF > [!NOTE]
In previous versions, there was a parameter called "textExtractionAlgorithm" to
| `text` | Plain text extracted from the image. | | `layoutText` | Complex type that describes the extracted text and the location where the text was found.| +
+The OCR skill always extracts images at the end of each page. This is by design.
++ ## Sample definition ```json
The above skillset example assumes that a normalized-images field exists. To gen
} ``` ++ ## See also + [What is optical character recognition](../cognitive-services/computer-vision/overview-ocr.md)
search Search Howto Connecting Azure Sql Database To Azure Search Using Indexers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/search/search-howto-connecting-azure-sql-database-to-azure-search-using-indexers.md
Previously updated : 06/07/2022 Last updated : 06/09/2022 # Index data from Azure SQL
This article supplements [**Create an indexer**](search-howto-create-indexers.md
## Prerequisites
-+ An [Azure SQL database](/azure/azure-sql/database/sql-database-paas-overview) with data in a single table or view. Use a table if you want the ability to [index incremental updates](#CaptureChangedRows) using SQL's native change detection capabilities.
++ An [Azure SQL database](/azure/azure-sql/database/sql-database-paas-overview) with data in a single table or view. Use a table if you want the ability to [index incremental updates](#CaptureChangedRows) using SQL's native change detection capabilities. If you use a view, take into consideration that large views are not ideal for SQL indexer. For such cases, it is suggested to change your application to create an additional single table just for ingestion into your Cognitive Search index with integrated change tracking enabled, where each column matches a column in the index, so processing is optimized. This approach will help using SQL integrated change tracking, which is easier to implement than High Water Mark. + Read permissions. Azure Cognitive Search supports SQL Server authentication, where the user name and password are provided on the connection string. Alternatively, you can [set up a managed identity and use Azure roles](search-howto-managed-identities-sql.md) to omit credentials on the connection.
It's not recommended. Only **rowversion** allows for reliable data synchronizati
+ You can ensure that when the indexer runs, there are no outstanding transactions on the table thatΓÇÖs being indexed (for example, all table updates happen as a batch on a schedule, and the Azure Cognitive Search indexer schedule is set to avoid overlapping with the table update schedule).
-+ You periodically do a full reindex to pick up any missed rows.
++ You periodically do a full reindex to pick up any missed rows.
search Search Howto Index Cosmosdb Mongodb https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/search/search-howto-index-cosmosdb-mongodb.md
Previously updated : 02/28/2022 Last updated : 06/10/2022 # Index data from Azure Cosmos DB using the MongoDB API
Avoid port numbers in the endpoint URL. If you include the port number, the conn
| Full access connection string | |--| |`{ "connectionString" : "AccountEndpoint=https://<Cosmos DB account name>.documents.azure.com;AccountKey=<Cosmos DB auth key>;Database=<Cosmos DB database id>;ApiKind=MongoDb" }` |
-| You can get the connection string from the Cosmos DB account page in Azure portal by selecting **Keys** in the left navigation pane. Make sure to select a full connection string and not just a key. |
+| You can get the *Cosmos DB auth key* from the Cosmos DB account page in Azure portal by selecting **Connection String** in the left navigation pane. Make sure to copy **Primary Password** and replace *Cosmos DB auth key* value with it. |
| Managed identity connection string | ||
search Search Limits Quotas Capacity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/search/search-limits-quotas-capacity.md
Maximum running times exist to provide balance and stability to the service as a
| Maximum skillsets <sup>4</sup> |3 |5 or 15 |50 |200 |200 |N/A |10 |10 | | Maximum indexing load per invocation |10,000 documents |Limited only by maximum documents |Limited only by maximum documents |Limited only by maximum documents |Limited only by maximum documents |N/A |No limit |No limit | | Minimum schedule | 5 minutes |5 minutes |5 minutes |5 minutes |5 minutes |5 minutes |5 minutes | 5 minutes |
-| Maximum running time| 1-3 minutes |24 hours |24 hours |24 hours |24 hours |N/A |24 hours |24 hours |
+| Maximum running time <sup>6</sup>| 1-3 minutes |2-24 hours |2-24 hours |2-24 hours |2-24 hours |N/A |2-24 hours |2-24 hours |
| Maximum running time for indexers with a skillset <sup>5</sup> | 3-10 minutes |2 hours |2 hours |2 hours |2 hours |N/A |2 hours |2 hours | | Blob indexer: maximum blob size, MB |16 |16 |128 |256 |256 |N/A |256 |256 | | Blob indexer: maximum characters of content extracted from a blob |32,000 |64,000 |4&nbsp;million |8&nbsp;million |16&nbsp;million |N/A |4&nbsp;million |4&nbsp;million |
Maximum running times exist to provide balance and stability to the service as a
<sup>5</sup> AI enrichment and image analysis are computationally intensive and consume disproportionate amounts of available processing power. Running time for these workloads has been shortened to give other jobs in the queue more opportunity to run.
+<sup>6</sup> Indexer maximum run time for Basic tier or higher may vary between 2 and 24 hours, depending on system resources, product implementation and other factors.
+ > [!NOTE] > As stated in the [Index limits](#index-limits), indexers will also enforce the upper limit of 3000 elements across all complex collections per document starting with the latest GA API version that supports complex types (`2019-05-06`) onwards. This means that if you've created your indexer with a prior API version, you will not be subject to this limit. To preserve maximum compatibility, an indexer that was created with a prior API version and then updated with an API version `2019-05-06` or later, will still be **excluded** from the limits. Customers should be aware of the adverse impact of having very large complex collections (as stated previously) and we highly recommend creating any new indexers with the latest GA API version.
service-health Admin Access Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-health/admin-access-reference.md
+
+ Title: Roles with tenant admin access
+description: This article defines the tenant roles with access to tenant scope view.
+ Last updated : 06/10/2022++
+# Roles with tenant admin access
+
+This document defines all of the roles with tenant admin access, which grant permission to the tenant scope view.
+
+For descriptions of each role, see [Azure AD built-in roles.](../active-directory/roles/permissions-reference.md#azure-ad-built-in-roles)
+
+|**Role** |
+||
+| Application Administrator |
+| Authentication Administrator |
+| Authentication Policy Administrator |
+| Azure Information Protection Administrator |
+| B2C IEF Keyset Administrator |
+| B2C IEF Policy Administrator |
+| Billing Administrator |
+| Cloud App Security Administrator |
+| Cloud Application Administrator |
+| Cloud Device Administrator |
+| Compliance Administrator |
+| Compliance Data Administrator |
+| Conditional Access Administrator |
+| Customer LockBox Access Approver |
+| Desktop Analytics Administrator |
+| Directory Reviewer |
+| Domain Name Administrator |
+| Dynamics 365 Administrator |
+| Exchange Administrator |
+| Exchange Recipient Administrator |
+| External ID User Flow Administrator |
+| External ID User Flow Attribute Administrator |
+| External Identity Provider Administrator |
+| Global Administrator |
+| Global Reader |
+| Groups Administrator |
+| Helpdesk Administrator |
+| Hybrid Identity Administrator |
+| Identity Governance Administrator |
+| Insights Administrator |
+| Intune Administrator |
+| Kaizala Administrator |
+| Knowledge Administrator |
+| License Administrator |
+| Message Center Privacy Reader |
+| Message Center Reader |
+| Network Administrator |
+| Office Apps Administrator |
+| Password Administrator |
+| Power BI Administrator |
+| Power Platform Administrator |
+| Privileged Authentication Administrator |
+| Privileged Role Administrator |
+| Reports Reader |
+| Search Administrator |
+| Security Administrator |
+| Security Operator |
+| Security Reader |
+| Service Support Administrator |
+| SharePoint Administrator |
+| Skype for Business Administrator |
+| Teams Administrator |
+| Teams Communications Administrator |
+| Teams Communications Support Engineer |
+| Teams Communications Support Specialist |
+| Teams Devices Administrator |
+| User Administrator |
service-health Service Health Portal Update https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/service-health/service-health-portal-update.md
+
+ Title: Azure Service Health portal update
+description: We're' updating the Azure Service Health portal experience to let users engage with service events and manage actions to maintain the business continuity of impacted applications.
+ Last updated : 06/10/2022++
+# Azure Service Health portal update
+
+We're' updating the Azure Service Health portal experience. The new experience lets users engage with service events and manage actions to maintain the business continuity of impacted applications.
+
+## Highlights of the new experience
+
+- **Tenant level view** - Users who are Tenant Admins can now see Service Issues that happen at a Tenant level. Service Issues blade and Health History blades are updated to show incidents both at Tenant and Subscription levels. Users can filter on the scope (Tenant or Subscription) within the blades. The scope column indicates when an event is at the Tenant or Subscriber level.
+- **Enhanced Map** - The Service Issues blade shows an enhanced version of the map with all the user services across the world. This version helps you find services that might be impacted by an outage easily.
+- **Issues Details** - The issues details look and feel has been updated, for better readability.
+- **Removal of personalized dashboard** - Users can no longer pin a personalized map to the dashboard. This feature has been deprecated in the new experience.
+
+## Coming soon
+
+The following user interfaces are updated to the new experience.
+
+> [!div class="checklist"]
+> * Security Advisories
+> * Planned Maintenance
+> * Health Advisories
+
+## Service issues window
+
+Groups of users will be automatically switched to the new Service Health experience over time. In the new experience, you can select \*\*Switch to Classic\*\* to switch back to the old experience.
++
+In the new experience, you can now see events at both Tenant and Subscription level scope. If you have [tenant admin access](admin-access-reference.md#roles-with-tenant-admin-access), you can view events at the Tenant scope.
+
+If you have Subscription access, then you can view events that impact all the subscriptions you have access to.
++
+You can use the scope column in the details view to filter on scope (Tenant vs Subscriber).
++
+## Health history window
+
+You can now see events at both Tenant and Subscription level scope in Health History blade if you have Tenant level administrator access. The scope column in the details view indicates if the incident is a Tenant or Subscription level incident. You can also filter on scope (Tenant vs Subscriber).
+
virtual-machines Ecasv5 Ecadsv5 Series https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/ecasv5-ecadsv5-series.md
This series supports Standard SSD, Standard HDD, and Premium SSD disk types. Bil
| Size | vCPU | Memory: GiB | Temp storage (SSD) GiB | Max data disks | Max temp storage throughput: IOPS/MBps | Max uncached disk throughput: IOPS/MBps | Max NICs | |||||||||
-| Standard_E2ads_v5 | 2 | 16 | 75 | 4 | 9000 / 125 | 3750/82 | 2 |
-| Standard_E4ads_v5 | 4 | 32 | 150 | 8 | 19000 / 250 | 6400/144 | 2 |
-| Standard_E8ads_v5 | 8 | 64 | 300 | 16 | 38000 / 500 | 12800/200 | 4 |
-| Standard_E16ads_v5 | 16 | 128 | 600 | 32 | 75000 / 1000 | 25600/384 | 4 |
-| Standard_E20ads_v5 | 20 | 160 | 750 | 32 | 94000 / 1250 | 32000/480 | 8 |
-| Standard_E32ads_v5 | 32 | 256 | 1200 | 32 | 150000 / 2000 | 51200/768 | 8 |
-| Standard_E48ads_v5 | 48 | 384 | 1800 | 32 | 225000 / 3000 | 76800/1152 | 8 |
-| Standard_E64ads_v5 | 64 | 512 | 2400 | 32 | 300000 / 4000 | 80000/1200 | 8 |
-| Standard_E96ads_v5 | 96 | 672 | 3600 | 32 | 450000 / 4000 | 80000/1600 | 8 |
+| Standard_EC2ads_v5 | 2 | 16 | 75 | 4 | 9000 / 125 | 3750/82 | 2 |
+| Standard_EC4ads_v5 | 4 | 32 | 150 | 8 | 19000 / 250 | 6400/144 | 2 |
+| Standard_EC8ads_v5 | 8 | 64 | 300 | 16 | 38000 / 500 | 12800/200 | 4 |
+| Standard_EC16ads_v5 | 16 | 128 | 600 | 32 | 75000 / 1000 | 25600/384 | 4 |
+| Standard_EC20ads_v5 | 20 | 160 | 750 | 32 | 94000 / 1250 | 32000/480 | 8 |
+| Standard_EC32ads_v5 | 32 | 256 | 1200 | 32 | 150000 / 2000 | 51200/768 | 8 |
+| Standard_EC48ads_v5 | 48 | 384 | 1800 | 32 | 225000 / 3000 | 76800/1152 | 8 |
+| Standard_EC64ads_v5 | 64 | 512 | 2400 | 32 | 300000 / 4000 | 80000/1200 | 8 |
+| Standard_EC96ads_v5 | 96 | 672 | 3600 | 32 | 450000 / 4000 | 80000/1600 | 8 |
> [!NOTE] > To achieve these IOPs, use [Gen2 VMs](generation-2.md).