Updates from: 02/21/2022 02:05:41
Service Microsoft Docs article Related commit history on GitHub Change details
active-directory O365 External User https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/external-identities/o365-external-user.md
- Title: Microsoft 365 external sharing and B2B collaboration - Azure AD
-description: Discusses sharing resources with external partners using Microsoft 365 and Azure Active Directory B2B collaboration.
----- Previously updated : 02/04/2021---------
-# Microsoft 365 external sharing and Azure Active Directory (Azure AD) B2B collaboration
-
-In both Azure AD B2B collaboration and Microsoft 365 external sharing (OneDrive, SharePoint Online, Unified Groups, etc.), external users are authenticated by using Azure AD B2B.
-
-## How does Azure AD B2B differ from external sharing in SharePoint Online?
-
-OneDrive/SharePoint Online has a separate invitation manager. Support for external sharing in OneDrive/SharePoint Online started before Azure AD developed its support. Over time, OneDrive/SharePoint Online external sharing has accrued several features and many millions of users who use the product's in-built sharing pattern. However, there are some subtle differences between how OneDrive/SharePoint Online external sharing works and how Azure AD B2B collaboration works. You can learn more about OneDrive/SharePoint Online external sharing in [External sharing overview](/sharepoint/external-sharing-overview). The process generally differs from Azure AD B2B in these ways:
--- OneDrive/SharePoint Online adds users to the directory after users have redeemed their invitations. So, before redemption, you don't see the user in Azure AD portal. If another site invites a user in the meantime, a new invitation is generated. However, when you use Azure AD B2B collaboration, users are added immediately on invitation so that they show up everywhere.--- The redemption experience in OneDrive/SharePoint Online looks different from the experience in Azure AD B2B collaboration. After a user redeems an invitation, the experiences look alike.--- Azure AD B2B collaboration invited users can be picked from OneDrive/SharePoint Online sharing dialog boxes. OneDrive/SharePoint Online invited users also show up in Azure AD after they redeem their invitations.--- The licensing requirements differ. To learn more about licensing, see [Azure AD External Identities licensing](./external-identities-pricing.md) and [the SharePoint Online external sharing overview](/sharepoint/external-sharing-overview).
-To manage external sharing in OneDrive/SharePoint Online with Azure AD B2B collaboration, set the OneDrive/SharePoint Online external sharing setting to **Allow sharing only with the external users that already exist in your organization's directory**. Users can go to externally shared sites and pick from external collaborators that the admin has added. The admin can add the external collaborators through the B2B collaboration invitation APIs.
--
-![The OneDrive/SharePoint external sharing setting](media/o365-external-user/odsp-sharing-setting.png)
-
-After enabling external sharing, the ability to search for existing guest users in the SharePoint Online (SPO) people picker is OFF by default to match legacy behavior.
-
-You can enable this feature by using the setting 'ShowPeoplePickerSuggestionsForGuestUsers' at the tenant and site collection level. You can set the feature using the Set-SPOTenant and Set-SPOSite cmdlets, which allow members to search all existing guest users in the directory. Changes in the tenant scope do not affect already provisioned SPO sites.
-
-## Next steps
-
-* [What is Azure AD B2B collaboration?](what-is-b2b.md)
-* [Adding a B2B collaboration user to a role](./add-users-administrator.md)
-* [Delegate B2B collaboration invitations](external-collaboration-settings-configure.md)
-* [Dynamic groups and B2B collaboration](use-dynamic-groups.md)
-* [Troubleshooting Azure Active Directory B2B collaboration](troubleshoot.md)
active-directory What Is B2b https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/external-identities/what-is-b2b.md
Previously updated : 02/14/2022 Last updated : 02/18/2022
Azure AD supports external identity providers like Facebook, Microsoft accounts,
![Screenshot showing the Identity providers page](media/what-is-b2b/identity-providers.png)
+## Integrate with SharePoint and OneDrive
+
+You can [enable integration with SharePoint and OneDrive](/sharepoint/sharepoint-azureb2b-integration) to share files, folders, list items, document libraries, and sites with people outside your organization, while using Azure B2B for authentication and management. The users you share resources with are typically added to your directory as guests, and permissions and groups work the same for these guests as they do for internal users. When enabling integration with SharePoint and OneDrive, you'll also enable the [email one-time passcode](one-time-passcode.md) feature in Azure AD B2B to serve as a fallback authentication method.
+
+![Screenshot of the email one-time-passcode setting.](media/what-is-b2b/enable-email-otp-options.png)
++ ## Next steps - [External Identities pricing](external-identities-pricing.md)
active-directory Permissions Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/permissions-reference.md
Previously updated : 01/16/2022 Last updated : 02/18/2022
This role also grants the ability to consent for delegated permissions and appli
> [!div class="mx-tableFixed"] > | Actions | Description | > | | |
+> | microsoft.directory/adminConsentRequestPolicy/allProperties/allTasks | Manage admin consent request policies in Azure AD |
+> | microsoft.directory/appConsent/appConsentRequests/allProperties/read | Read all properties of consent requests for applications registered with Azure AD |
> | microsoft.directory/applications/create | Create all types of applications | > | microsoft.directory/applications/delete | Delete all types of applications | > | microsoft.directory/applications/applicationProxy/read | Read all application proxy properties |
This role also grants the ability to consent for delegated permissions and appli
> [!div class="mx-tableFixed"] > | Actions | Description | > | | |
+> | microsoft.directory/adminConsentRequestPolicy/allProperties/allTasks | Manage admin consent request policies in Azure AD |
+> | microsoft.directory/appConsent/appConsentRequests/allProperties/read | Read all properties of consent requests for applications registered with Azure AD |
> | microsoft.directory/applications/create | Create all types of applications | > | microsoft.directory/applications/delete | Delete all types of applications | > | microsoft.directory/applications/appRoles/update | Update the appRoles property on all types of applications |
Users with this role have access to all administrative features in Azure Active
> | Actions | Description | > | | | > | microsoft.directory/accessReviews/allProperties/allTasks | Create and delete access reviews, read and update all properties of access reviews, and manage access reviews of groups in Azure AD |
+> | microsoft.directory/accessReviews/definitions/allProperties/allTasks | Manage access reviews of all reviewable resources in Azure AD |
+> | microsoft.directory/adminConsentRequestPolicy/allProperties/allTasks | Manage admin consent request policies in Azure AD |
> | microsoft.directory/administrativeUnits/allProperties/allTasks | Create and manage administrative units (including members) |
+> | microsoft.directory/appConsent/appConsentRequests/allProperties/read | Read all properties of consent requests for applications registered with Azure AD |
> | microsoft.directory/applications/allProperties/allTasks | Create and delete applications, and read and update all properties | > | microsoft.directory/applications/synchronization/standard/read | Read provisioning settings associated with the application object | > | microsoft.directory/applicationTemplates/instantiate | Instantiate gallery applications from application templates |
Users in this role can read settings and administrative information across Micro
> | Actions | Description | > | | | > | microsoft.directory/accessReviews/allProperties/read | Read all properties of access reviews |
+> | microsoft.directory/accessReviews/definitions/allProperties/read | Read all properties of access reviews of all reviewable resources in Azure AD |
+> | microsoft.directory/adminConsentRequestPolicy/allProperties/read | Read all properties of admin consent request policies in Azure AD |
> | microsoft.directory/administrativeUnits/allProperties/read | Read all properties of administrative units, including members |
+> | microsoft.directory/appConsent/appConsentRequests/allProperties/read | Read all properties of consent requests for applications registered with Azure AD |
> | microsoft.directory/applications/allProperties/read | Read all properties (including privileged properties) on all types of applications | > | microsoft.directory/applications/synchronization/standard/read | Read provisioning settings associated with the application object | > | microsoft.directory/auditLogs/allProperties/read | Read all properties on audit logs, including privileged properties |
Users with this role can manage Azure AD identity governance configuration, incl
> [!div class="mx-tableFixed"] > | Actions | Description | > | | |
+> | microsoft.directory/accessReviews/definitions.applications/allProperties/allTasks | Manage access reviews of application role assignments in Azure AD |
+> | microsoft.directory/accessReviews/definitions.entitlementManagement/allProperties/allTasks | Manage access reviews for access package assignments in entitlement management |
+> | microsoft.directory/accessReviews/definitions.groups/allProperties/read | Read all properties of access reviews for membership in Security and Microsoft 365 groups, including role-assignable groups. |
+> | microsoft.directory/accessReviews/definitions.groups/allProperties/update | Update all properties of access reviews for membership in Security and Microsoft 365 groups, excluding role-assignable groups. |
+> | microsoft.directory/accessReviews/definitions.groups/create | Create access reviews for membership in Security and Microsoft 365 groups. |
+> | microsoft.directory/accessReviews/definitions.groups/delete | Delete access reviews for membership in Security and Microsoft 365 groups. |
> | microsoft.directory/accessReviews/allProperties/allTasks | Create and delete access reviews, read and update all properties of access reviews, and manage access reviews of groups in Azure AD | > | microsoft.directory/entitlementManagement/allProperties/allTasks | Create and delete resources, and read and update all properties in Azure AD entitlement management | > | microsoft.directory/groups/members/update | Update members of Security groups and Microsoft 365 groups, excluding role-assignable groups |
Users with this role can manage role assignments in Azure Active Directory, as w
> [!div class="mx-tableFixed"] > | Actions | Description | > | | |
+> | microsoft.directory/accessReviews/definitions.applications/allProperties/read | Read all properties of access reviews of application role assignments in Azure AD |
+> | microsoft.directory/accessReviews/definitions.directoryRoles/allProperties/allTasks | Manage access reviews for Azure AD role assignments |
+> | microsoft.directory/accessReviews/definitions.groupsAssignableToRoles/allProperties/update | Update all properties of access reviews for membership in groups that are assignable to Azure AD roles |
+> | microsoft.directory/accessReviews/definitions.groupsAssignableToRoles/create | Create access reviews for membership in groups that are assignable to Azure AD roles |
+> | microsoft.directory/accessReviews/definitions.groupsAssignableToRoles/delete | Delete access reviews for membership in groups that are assignable to Azure AD roles |
+> | microsoft.directory/accessReviews/definitions.groups/allProperties/read | Read all properties of access reviews for membership in Security and Microsoft 365 groups, including role-assignable groups. |
> | microsoft.directory/administrativeUnits/allProperties/allTasks | Create and manage administrative units (including members) | > | microsoft.directory/authorizationPolicy/allProperties/allTasks | Manage all aspects of authorization policies | > | microsoft.directory/directoryRoles/allProperties/allTasks | Create and delete directory roles, and read and update all properties |
Identity Protection Center | Read all security reports and settings information
> [!div class="mx-tableFixed"] > | Actions | Description | > | | |
+> | microsoft.directory/accessReviews/definitions/allProperties/read | Read all properties of access reviews of all reviewable resources in Azure AD |
> | microsoft.directory/auditLogs/allProperties/read | Read all properties on audit logs, including privileged properties | > | microsoft.directory/authorizationPolicy/standard/read | Read standard properties of authorization policies | > | microsoft.directory/bitlockerKeys/key/read | Read bitlocker metadata and key on devices |
Users with this role can create users, and manage all aspects of users with some
> [!div class="mx-tableFixed"] > | Actions | Description | > | | |
+> | microsoft.directory/accessReviews/definitions.applications/allProperties/allTasks | Manage access reviews of application role assignments in Azure AD |
+> | microsoft.directory/accessReviews/definitions.directoryRoles/allProperties/read | Read all properties of access reviews for Azure AD role assignments |
+> | microsoft.directory/accessReviews/definitions.entitlementManagement/allProperties/allTasks | Manage access reviews for access package assignments in entitlement management |
+> | microsoft.directory/accessReviews/definitions.groups/allProperties/update | Update all properties of access reviews for membership in Security and Microsoft 365 groups, excluding role-assignable groups. |
+> | microsoft.directory/accessReviews/definitions.groups/create | Create access reviews for membership in Security and Microsoft 365 groups. |
+> | microsoft.directory/accessReviews/definitions.groups/delete | Delete access reviews for membership in Security and Microsoft 365 groups. |
+> | microsoft.directory/accessReviews/definitions.groups/allProperties/read | Read all properties of access reviews for membership in Security and Microsoft 365 groups, including role-assignable groups. |
> | microsoft.directory/contacts/create | Create contacts | > | microsoft.directory/contacts/delete | Delete contacts | > | microsoft.directory/contacts/basic/update | Update basic properties on contacts |
active-directory Github Enterprise Managed User Oidc Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/github-enterprise-managed-user-oidc-provisioning-tutorial.md
+
+ Title: 'Tutorial: Configure GitHub Enterprise Managed User (OIDC) for automatic user provisioning with Azure Active Directory | Microsoft Docs'
+description: Learn how to automatically provision and de-provision user accounts from Azure AD to GitHub Enterprise Managed User (OIDC).
+documentationcenter: ''
+
+writer: twimmers
++
+ms.assetid: e39cbad7-e23a-4986-9725-54a7aeb7b1ea
+++
+ na
+ Last updated : 02/19/2022+++
+# Tutorial: Configure GitHub Enterprise Managed User (OIDC) for automatic user provisioning
+
+This tutorial describes the steps you need to perform in both GitHub Enterprise Managed User (OIDC) and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users and groups to GitHub Enterprise Managed User (OIDC) using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory](../app-provisioning/user-provisioning.md).
+
+> [!NOTE]
+> [GitHub Enterprise Managed User](https://docs.github.com/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users) is a feature of GitHub Enterprise Cloud which is different from GitHub Enterprise's standard OIDC SSO and user provisioning implementation. If you haven't specifically requested EMU instance, you have standard GitHub Enterprise Cloud plan. In that case, please refer to [the documentation](./github-provisioning-tutorial.md) to configure user provisioning in your non-EMU organisation. User provisioning is not supported for [GitHub Enteprise Accounts](https://docs.github.com/enterprise-cloud@latest/admin/overview/about-enterprise-accounts)
+
+## Capabilities Supported
+> [!div class="checklist"]
+> * Create users in GitHub Enterprise Managed User (OIDC)
+> * Remove users in GitHub Enterprise Managed User (OIDC) when they do not require access anymore
+> * Keep user attributes synchronized between Azure AD and GitHub Enterprise Managed User (OIDC)
+> * Provision groups and group memberships in GitHub Enterprise Managed User (OIDC)
+> * [Single sign-on](../manage-apps/add-application-portal-setup-oidc-sso.md) to GitHub Enterprise Managed User (OIDC) (recommended).
+
+> [!NOTE]
+> This provisioning connector is enabled only for Enterprise Managed Users beta participants.
++
+## Prerequisites
+
+The scenario outlined in this tutorial assumes that you already have the following prerequisites:
+
+* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
+* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
+* Enterprise Managed Users enabled GitHub Enterprise and configured to login with SAML SSO through your Azure AD tenant.
+
+> [!NOTE]
+> This integration is also available to use from Azure AD US Government Cloud environment. You can find this application in the Azure AD US Government Cloud Application Gallery and configure it in the same way as you do from public cloud.
+
+## Step 1. Plan your provisioning deployment
+1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
+2. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+3. Determine what data to [map between Azure AD and GitHub Enterprise Managed User](../app-provisioning/customize-application-attributes.md).
+
+## Step 2. Configure GitHub Enterprise Managed User (OIDC) to support provisioning with Azure AD
+
+1. The Tenant URL is `https://api.github.com/scim/v2/enterprises/{enterprise}`. This value will be entered in the Tenant URL field in the Provisioning tab of your GitHub Enterprise Managed User (OIDC) application in the Azure portal.
+
+2. As a GitHub Enterprise Managed administrator navigate to the upper-right corner -> click your profile photo -> then click **Settings**.
+
+3. In the left sidebar, click **Developer settings**.
+
+4. In the left sidebar, click **Personal access tokens**.
+
+5. Click **Generate new token**.
+
+6. Select the **admin:enterprise** scope for this token.
+
+7. Click **Generate Token**.
+
+8. Copy and save the **secret token**. This value will be entered in the Secret Token field in the Provisioning tab of your GitHub Enterprise Managed User (OIDC) application in the Azure portal.
+
+## Step 3. Add GitHub Enterprise Managed User (OIDC) from the Azure AD application gallery
+
+Add GitHub Enterprise Managed User (OIDC) from the Azure AD application gallery to start managing provisioning to GitHub Enterprise Managed User (OIDC). If you have previously setup GitHub Enterprise Managed User (OIDC) for SSO, you can use the same application. However it is recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](../manage-apps/add-application-portal.md).
+
+## Step 4. Define who will be in scope for provisioning
+
+The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user / group. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users and groups to the application. If you choose to scope who will be provisioned based solely on attributes of the user or group, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* When assigning users and groups to GitHub Enterprise Managed User (OIDC), you must select a role other than **Default Access**. Users with the Default Access role are excluded from provisioning and will be marked as not effectively entitled in the provisioning logs.
+
+* Start small. Test with a small set of users and groups before rolling out to everyone. When scope for provisioning is set to assigned users and groups, you can control this by assigning one or two users or groups to the app. When scope is set to all users and groups, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
++
+## Step 5. Configure automatic user provisioning to GitHub Enterprise Managed User (OIDC)
+
+This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users and/or groups in TestApp based on user and/or group assignments in Azure AD.
+
+### To configure automatic user provisioning for GitHub Enterprise Managed User (OIDC) in Azure AD:
+
+1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
+
+ ![Enterprise applications blade](common/enterprise-applications.png)
+
+2. In the applications list, select **GitHub Enterprise Managed User (OIDC)**.
+
+ ![The GitHub Enterprise Managed User (OIDC) link in the Applications list](common/all-applications.png)
+
+3. Select the **Provisioning** tab.
+
+ ![Provisioning tab](common/provisioning.png)
+
+4. Set the **Provisioning Mode** to **Automatic**.
+
+ ![Provisioning tab automatic](common/provisioning-automatic.png)
+
+5. Under the **Admin Credentials** section, input your GitHub Enterprise Managed User (OIDC) Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to GitHub Enterprise Managed User (OIDC). If the connection fails, ensure your GitHub Enterprise Managed User (OIDC) account has created the secret token as an enterprise owner and try again.
+
+ ![Token](common/provisioning-testconnection-tenanturltoken.png)
+
+6. In the **Notification Email** field, enter the email address of a person or group who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
+
+ ![Notification Email](common/provisioning-notification-email.png)
+
+7. Select **Save**.
+
+8. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to GitHub Enterprise Managed User (OIDC)**.
+
+9. Review the user attributes that are synchronized from Azure AD to GitHub Enterprise Managed User (OIDC) in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in GitHub Enterprise Managed User (OIDC) for update operations. If you choose to change the [matching target attribute](../app-provisioning/customize-application-attributes.md), you will need to ensure that the GitHub Enterprise Managed User (OIDC) API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported For Filtering|
+ ||||
+ |externalId|String|✓|
+ |userName|String|
+ |active|Boolean|
+ |roles|String|
+ |displayName|String|
+ |name.givenName|String|
+ |name.familyName|String|
+ |name.formatted|String|
+ |emails[type eq "work"].value|String|
+ |emails[type eq "home"].value|String|
+ |emails[type eq "other"].value|String|
+
+10. Under the **Mappings** section, select **Synchronize Azure Active Directory Groups to GitHub Enterprise Managed User (OIDC)**.
+
+11. Review the group attributes that are synchronized from Azure AD to GitHub Enterprise Managed User (OIDC) in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the groups in GitHub Enterprise Managed User (OIDC) for update operations. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported For Filtering|
+ ||||
+ |externalId|String|✓|
+ |displayName|String|
+ |members|Reference|
+
+12. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+13. To enable the Azure AD provisioning service for GitHub Enterprise Managed User (OIDC), change the **Provisioning Status** to **On** in the **Settings** section.
+
+ ![Provisioning Status Toggled On](common/provisioning-toggle-on.png)
+
+14. Define the users and/or groups that you would like to provision to GitHub Enterprise Managed User (OIDC) by choosing the desired values in **Scope** in the **Settings** section.
+
+ ![Provisioning Scope](common/provisioning-scope.png)
+
+15. When you are ready to provision, click **Save**.
+
+ ![Saving Provisioning Configuration](common/provisioning-configuration-save.png)
+
+This operation starts the initial synchronization cycle of all users and groups defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
+
+## Step 6. Monitor your deployment
+Once you've configured provisioning, use the following resources to monitor your deployment:
+
+1. Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
+2. Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it is to completion
+3. If the provisioning configuration seems to be in an unhealthy state, the application will go into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
+
+## Additional resources
+
+* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
+* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
+
+## Next steps
+
+* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
aks Supported Kubernetes Versions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/supported-kubernetes-versions.md
For the past release history, see [Kubernetes](https://en.wikipedia.org/wiki/Kub
| 1.21 | Apr-08-21 | May 2021 | Jul 2021 | 1.24 GA | | 1.22 | Aug-04-21 | Sept 2021 | Dec 2021 | 1.25 GA | | 1.23 | Dec 2021 | Jan 2022 | Mar 2022 | 1.26 GA |
+| 1.24 | Apr-22-22 | May 2022 | Jul 2022 | 1.27 GA
+| 1.25 | Aug 2022 | Sept 2022 | Nov 2022 | 1.28 GA
## FAQ
azure-monitor Javascript Angular Plugin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/javascript-angular-plugin.md
The Angular plugin for the Application Insights JavaScript SDK, enables:
> [!WARNING] > Angular plugin is NOT ECMAScript 3 (ES3) compatible.
+> [!IMPORTANT]
+> When we add support for a new Angular version, our NPM package becomes incompatible with down-level Angular versions. Continue to use older NPM packages until you're ready to upgrade your Angular version.
+ ## Getting started Install npm package:
azure-monitor Powershell Workspace Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/powershell-workspace-configuration.md
# Create and configure a Log Analytics workspace in Azure Monitor using PowerShell
-This article provides two code samples that show how to create and configure a Log Analytics workspace in Azure Monitor.
+This article provides two code samples that show how to create and configure a Log Analytics workspace in Azure Monitor.
> [!NOTE]
New-AzOperationalInsightsWorkspace -Location $Location -Name $WorkspaceName -Sku
## Create workspace and configure data sources
-The following sample script sample creates a workspace and configures multiple data sources. These data sources are only required if you are monitoring virtual machines using the [Log Analytics agent](../agents/log-analytics-agent.md).
+The following sample script sample creates a workspace and configures multiple data sources. These data sources are only required if you are monitoring virtual machines using the [Log Analytics agent](../agents/log-analytics-agent.md). A workspace has unique workspace ID and resource ID. You can reuse the same workspace name when in different resource groups.
This script performs the following functions:
azure-monitor Quick Create Workspace https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/quick-create-workspace.md
Last updated 03/18/2021
# Create a Log Analytics workspace in the Azure portal
-Use the **Log Analytics workspaces** menu to create a Log Analytics workspace using the Azure portal. A Log Analytics workspace is a unique environment for Azure Monitor log data. Each workspace has its own data repository and configuration, and data sources and solutions are configured to store their data in a particular workspace. You require a Log Analytics workspace if you intend on collecting data from the following sources:
+Use the **Log Analytics workspaces** menu to create a Log Analytics workspace in the Azure portal. Log Analytics workspace is the environment for Azure Monitor log data. Each workspace has its own data repository and configuration, and data sources and solutions are configured to store their data in a particular workspace. A workspace has unique workspace ID and resource ID. You can reuse the same workspace name when in different resource groups. You require a Log Analytics workspace if you intend on collecting data from the following sources:
* Azure resources in your subscription * On-premises computers monitored by System Center Operations Manager
azure-monitor Resource Manager Workspace https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/resource-manager-workspace.md
This article includes sample [Azure Resource Manager templates](../../azure-reso
- [Microsoft.OperationalInsights workspaces/dataSources](/azure/templates/microsoft.operationalinsights/2020-03-01-preview/workspaces/datasources) ## Create a Log Analytics workspace
-The following sample creates a new empty Log Analytics workspace.
+The following sample creates a new empty Log Analytics workspace. A workspace has unique workspace ID and resource ID. You can reuse the same workspace name when in different resource groups.
### Notes
azure-netapp-files Azacsnap Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/azacsnap-release-notes.md
na Previously updated : 05/27/2021 Last updated : 02/20/2022
This page lists major changes made to AzAcSnap to provide new functionality or r
## Feb-2022
+### AzAcSnap v5.1 Preview (Build: 20220220.55340)
+
+AzAcSnap v5.1 Preview (Build: 20220220.55340) has been released with the following fixes and improvements:
+
+- Resolved failure in matching `--dbsid` command line option with `sid` entry in the JSON configuration file for Oracle databases when using the `-c restore` command.
+
+Download the [latest release of the Preview installer](https://aka.ms/azacsnap-preview-installer) and read about the new features and how to use the [AzAcSnap Preview](azacsnap-preview.md).
+ ### AzAcSnap v5.1 Preview (Build: 20220203.77807) AzAcSnap v5.1 Preview (Build: 20220203.77807) has been released with the following fixes and improvements: - Minor update to resolve STDOUT buffer limitations. Now the list of Oracle table files put into archive-mode is sent to an external file rather than output in the main AzAcSnap log file. The external file is in the same location and basename as the log file, but with a ".protected-tables" extension (output filename detailed in the AzAcSnap log file). It is overwritten each time `azacsnap` runs.
-For details on the preview features and how to use them go to [AzAcSnap Preview](azacsnap-preview.md).
- ## Jan-2022 ### AzAcSnap v5.1 Preview (Build: 20220125.85030)
AzAcSnap v5.1 Preview (Build: 20220125.85030) has been released with the followi
- Azure Managed Disk - RunBefore and RunAfter capability
-For details on the preview features and how to use them go to [AzAcSnap Preview](azacsnap-preview.md).
- ## Aug-2021 ### AzAcSnap v5.0.2 (Build: 20210827.19086) - Patch update to v5.0.1 AzAcSnap v5.0.2 (Build: 20210827.19086) is provided as a patch update to the v5.0 branch with the following fixes and improvements: -- Ignore `ssh` 255 exit codes. In some cases the `ssh` command, which is used to communicate with storage on Azure Large Instance, would emit an exit code of 255 when there were no errors or execution failures (refer `man ssh` "EXIT STATUS") - subsequently AzAcSnap would trap this as a failure and abort. With this update additional verification is done to validate correct execution, this includes parsing `ssh` STDOUT and STDERR for errors in addition to traditional exit code checks.-- Fix the installer's check for the location of the hdbuserstore. The installer would check for the existence of an incorrect source directory for the hdbuserstore for the user running the install - this is fixed to check for `~/.hdb`. This is applicable to systems (for example, Azure Large Instance) where the hdbuserstore was pre-configured for the `root` user before installing `azacsnap`.
+- Ignore `ssh` 255 exit codes. In some cases the `ssh` command, which is used to communicate with storage on Azure Large Instance, would emit an exit code of 255 when there were no errors or execution failures (refer `man ssh` "EXIT STATUS") - then AzAcSnap would trap this exit code as a failure and abort. With this update extra verification is done to validate correct execution, this includes parsing `ssh` STDOUT and STDERR for errors in addition to traditional exit code checks.
+- Fix the installer's check for the location of the hdbuserstore. The installer would check for the existence of an incorrect source directory for the hdbuserstore for the user running the install - this is fixed to check for `~/.hdb`. This fix is applicable to systems (for example, Azure Large Instance) where the hdbuserstore was pre-configured for the `root` user before installing `azacsnap`.
- Installer now shows the version it will install/extract (if the installer is run without any arguments). Download the [latest release](https://aka.ms/azacsnapinstaller) of the installer and review how to [get started](azacsnap-get-started.md).
Download the [latest release](https://aka.ms/azacsnapinstaller) of the installer
AzAcSnap v5.0.1 (Build: 20210524.14837) is provided as a patch update to the v5.0 branch with the following fixes and improvements: -- Improved exit code handling. In some cases an exit code of 0 (zero) was emitted, even when there was an execution failure and it should have been non-zero. Exit codes should now only be zero on successfully running `azacsnap` to completion and non-zero in case of any failure.
+- Improved exit code handling. In some cases AzAcSnap would emit an exit code of 0 (zero), even after an execution failure when the exit code should have been non-zero. Exit codes should now only be zero on successfully running `azacsnap` to completion and non-zero if there is any failure.
- AzAcSnap's internal error handling has been extended to capture and emit the exit code of the external commands run by AzAcSnap. ## April-2021
cognitive-services Audio Processing Speech Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/audio-processing-speech-sdk.md
-+ Last updated 01/31/2022 ms.devlang: cpp, csharp, java
cognitive-services Batch Transcription https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/batch-transcription.md
-+ Last updated 01/23/2022 ms.devlang: csharp
cognitive-services Conversation Transcription https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/conversation-transcription.md
Title: Conversation transcription (preview) - Speech service
+ Title: Conversation transcription overview - Speech service
description: You use the conversation transcription feature for meetings. It combines recognition, speaker ID, and diarization to provide transcription of any conversation.
-+ Last updated 01/23/2022
-# What is conversation transcription (preview)?
+# What is conversation transcription?
Conversation transcription is a [speech-to-text](speech-to-text.md) solution that provides real-time or asynchronous transcription of any conversation. This feature, which is currently in preview, combines speech recognition, speaker identification, and sentence attribution to determine who said what, and when, in a conversation.
+> [!NOTE]
+> Multi-device conversation access is a preview feature.
+ ## Key features You might find the following features of conversation transcription useful:
cognitive-services Custom Commands Encryption Of Data At Rest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/custom-commands-encryption-of-data-at-rest.md
Title: Custom Commands service encryption of data at rest
description: Custom Commands encryption of data at rest. --++ Last updated 07/05/2020-+ # Custom Commands encryption of data at rest
cognitive-services Custom Commands References https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/custom-commands-references.md
Title: 'Custom Commands concepts and definitions - Speech service'
description: In this article, you learn about concepts and definitions for Custom Commands applications. --++ Last updated 06/18/2020-+ # Custom Commands concepts and definitions
The post-execution state is the dialog state after processing the current input
* **Wait for user's input**: Wait for the next user input. - ## Next steps > [!div class="nextstepaction"]
cognitive-services Custom Commands https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/custom-commands.md
Title: Custom Commands - Speech service
+ Title: Custom Commands overview - Speech service
description: An overview of the features, capabilities, and restrictions for Custom Commands, a solution for creating voice applications.
-+ Last updated 03/11/2020
Once you're done with the quickstart, explore our how-to guides for detailed ste
## Next steps
-* [Get a Speech service subscription key for free](overview.md#try-the-speech-service-for-free)
* [View our Voice Assistants repo on GitHub for samples](https://aka.ms/speech/cc-samples) * [Go to the Speech Studio to try out Custom Commands](https://speech.microsoft.com/customcommands) * [Get the Speech SDK](speech-sdk.md)
cognitive-services Custom Keyword Basics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/custom-keyword-basics.md
Title: Create Keyword quickstart - Speech service
+ Title: Create a custom keyword quickstart - Speech service
-description: Your device is always listening for a keyword (or phrase). When a user speaks the keyword, your device sends their dictation to the cloud, until the user stops speaking. Customizing your keyword is an effective way to differentiate your device and strengthen your branding.
+description: When a user speaks the keyword, your device sends their dictation to the cloud, until the user stops speaking. Customizing your keyword is an effective way to differentiate your device and strengthen your branding.
-+ Last updated 11/12/2021 ms.devlang: csharp, objective-c, python
zone_pivot_groups: programming-languages-speech-services
-# Get started with Custom Keyword
+# Quickstart: Create a custom keyword
::: zone pivot="programming-language-csharp" [!INCLUDE [C# include](includes/quickstarts/keyword-recognition/csharp.md)]
cognitive-services Custom Neural Voice https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/custom-neural-voice.md
-+ Last updated 01/23/2022
cognitive-services Custom Speech Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/custom-speech-overview.md
-+ Last updated 01/23/2022
cognitive-services Devices Sdk Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/devices-sdk-release-notes.md
Title: Speech Devices SDK release notes
description: The release notes provide a log of updates, enhancements, bug fixes, and changes to the Speech Devices SDK. This article is updated with each release of the Speech Devices SDK. -+ - - Previously updated : 02/12/2020-+ Last updated : 02/12/2022+ # Release notes: Speech Devices SDK (retired)
cognitive-services Direct Line Speech https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/direct-line-speech.md
-+ Last updated 03/11/2020 # What is Direct Line Speech?
-**Direct Line Speech** is a robust, end-to-end solution for creating a flexible, extensible voice assistant. It is powered by the Bot Framework and its Direct Line Speech channel, that is optimized for voice-in, voice-out interaction with bots.
+Direct Line Speech is a robust, end-to-end solution for creating a flexible, extensible voice assistant. It is powered by the Bot Framework and its Direct Line Speech channel, that is optimized for voice-in, voice-out interaction with bots.
[Voice assistants](voice-assistants.md) listen to users and take an action in response, often speaking back. They use [speech-to-text](speech-to-text.md) to transcribe the user's speech, then take action on the natural language understanding of the text. This action frequently includes spoken output from the assistant generated with [text-to-speech](text-to-speech.md).
Voice assistants built using Speech service can use the full range of customizat
> [!NOTE] > Customization options vary by language/locale (see [Supported languages](./language-support.md)).
-Direct Line Speech and its associated functionality for voice assistants are an ideal supplement to the [Virtual Assistant Solution and Enterprise Template](/azure/bot-service/bot-builder-enterprise-template-overview). Though Direct Line Speech can work with any compatible bot, these resources provide a reusable baseline for high-quality conversational experiences as well as common supporting skills and models for getting started quickly.
+Direct Line Speech and its associated functionality for voice assistants are an ideal supplement to the [Virtual Assistant Solution and Enterprise Template](/azure/bot-service/bot-builder-enterprise-template-overview). Though Direct Line Speech can work with any compatible bot, these resources provide a reusable baseline for high-quality conversational experiences as well as common supporting skills and models to get started quickly.
## Reference docs
Direct Line Speech and its associated functionality for voice assistants are an
## Next steps
-* [Get a Speech service subscription key for free](overview.md#try-the-speech-service-for-free)
* [Get the Speech SDK](speech-sdk.md) * [Create and deploy a basic bot](/azure/bot-service/bot-builder-tutorial-basic-deploy) * [Get the Virtual Assistant Solution and Enterprise Template](https://github.com/Microsoft/AI)
cognitive-services Get Started Intent Recognition https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/get-started-intent-recognition.md
Title: "Intent recognition quickstart - Speech service"
-description: In this quickstart, you use intent recognition to interactively recognize intents from audio data captured from a microphone.
+description: In this quickstart, you recognize intents from audio data with the Speech service and LUIS.
zone_pivot_groups: programming-languages-speech-services
keywords: intent recognition
-# Get started with intent recognition
+# Quickstart: Recognize intents with the Speech service and LUIS
::: zone pivot="programming-language-csharp" [!INCLUDE [C# include](includes/quickstarts/intent-recognition/csharp.md)]
cognitive-services Get Started Speaker Recognition https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/get-started-speaker-recognition.md
Title: "Speaker Recognition quickstart - Speech service"
-description: Learn how to use speaker recognition from the Speech SDK to answer the question, "Who is speaking?". In this quickstart, you learn about common design patterns for working with speaker verification and identification, which both use voice biometry to identify unique voices.
+description: In this quickstart, you use speaker recognition to confirm who is speaking. Learn about common design patterns for working with speaker verification and identification.
zone_pivot_groups: programming-languages-speech-services
keywords: speaker recognition, voice biometry
-# Get started with speaker recognition
+# Quickstart: Recognize and verify who is speaking
::: zone pivot="programming-language-csharp" [!INCLUDE [C# include](includes/quickstarts/speaker-recognition-basics/csharp.md)]
cognitive-services Get Started Speech To Text https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/get-started-speech-to-text.md
Title: "Speech-to-text quickstart - Speech service"
-description: Use the Speech SDK to convert speech to text with recognition from a microphone.
+description: In this quickstart, you convert speech to text with recognition from a microphone.
zone_pivot_groups: programming-languages-speech-services
keywords: speech to text, speech to text software
-# Get started with speech-to-text
+# Quickstart: Recognize and convert speech to text
::: zone pivot="programming-language-csharp" [!INCLUDE [C# include](includes/quickstarts/speech-to-text-basics/csharp.md)]
cognitive-services Get Started Speech Translation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/get-started-speech-translation.md
Title: Speech translation quickstart - Speech service
-description: Learn how to use the Speech SDK to translate speech, including object construction, supported audio input formats, and configuration options.
+description: In this quickstart, you translate speech to text. Learn about object construction, supported audio input formats, and configuration options.
zone_pivot_groups: programming-languages-speech-services
keywords: speech translation
-# Get started with speech translation
+# Quickstart: Recognize and translate speech to text
::: zone pivot="programming-language-csharp" [!INCLUDE [C# include](includes/quickstarts/speech-translation-basics/csharp.md)]
cognitive-services Get Started Text To Speech https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/get-started-text-to-speech.md
Title: "Text-to-speech quickstart - Speech service"
-description: Learn how to use the Speech SDK to convert text to speech, including object construction and design patterns, supported audio output formats, the Speech CLI, and custom configuration options for speech synthesis.
+description: In this quickstart, you convert text to speech. Learn about object construction and design patterns, supported audio output formats, and custom configuration options for speech synthesis.
zone_pivot_groups: programming-languages-speech-services
keywords: text to speech
-# Get started with text-to-speech
+# Quickstart: Convert text to speech
::: zone pivot="programming-language-csharp" [!INCLUDE [C# include](includes/quickstarts/text-to-speech-basics/csharp.md)]
cognitive-services How To Async Conversation Transcription https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-async-conversation-transcription.md
-+ Last updated 11/04/2019 ms.devlang: csharp, java
cognitive-services How To Audio Content Creation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-audio-content-creation.md
-+ Last updated 01/23/2022
cognitive-services How To Configure Azure Ad Auth https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-configure-azure-ad-auth.md
-+ Last updated 06/18/2021 zone_pivot_groups: programming-languages-set-two
cognitive-services How To Configure Openssl Linux https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-configure-openssl-linux.md
-+ Last updated 01/16/2020 zone_pivot_groups: programming-languages-set-two
cognitive-services How To Configure Rhel Centos 7 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-configure-rhel-centos-7.md
-+ Last updated 04/02/2020
cognitive-services How To Control Connections https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-control-connections.md
-+ Last updated 04/12/2021 zone_pivot_groups: programming-languages-set-thirteen
cognitive-services How To Custom Commands Debug Build Time https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-debug-build-time.md
Title: 'Debug errors when authoring a Custom Commands application (Preview)'
description: In this article, you learn how to debug errors when authoring Custom Commands application. --++ -+ Last updated 06/18/2020-+ # Debug errors when authoring a Custom Commands application
cognitive-services How To Custom Commands Debug Runtime https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-debug-runtime.md
Title: 'Troubleshooting guide for a Custom Commands application at runtime'
description: In this article, you learn how to debug runtime errors in a Custom Commands application. --++ -+ Last updated 06/18/2020-+ # Troubleshoot a Custom Commands application at runtime
cognitive-services How To Custom Commands Deploy Cicd https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-deploy-cicd.md
Title: 'Continuous Deployment with Azure DevOps (Preview)'
description: In this article, you learn how to set up continuous deployment for your Custom Commands applications. You create the scripts to support the continuous deployment workflows. --++ -+ Last updated 06/18/2020-+ # Continuous Deployment with Azure DevOps
cognitive-services How To Custom Commands Developer Flow Test https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-developer-flow-test.md
Title: 'Test your Custom Commands app'
description: In this article, you learn different approaches to testing a custom commands application. --++ Last updated 06/18/2020-+ # Test your Custom Commands Application
cognitive-services How To Custom Commands Integrate Remote Skills https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-integrate-remote-skills.md
Title: 'How To: Export Custom Commands application as a remote skill - Speech se
description: In this article, you learn how to export Custom Commands application as a skill --++ -+ Last updated 09/30/2020-+ # Export Custom Commands application as a remote skill
cognitive-services How To Custom Commands Send Activity To Client https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-send-activity-to-client.md
Title: 'Send Custom Commands activity to client application'
description: In this article, you learn how to send activity from a Custom Commands application to a client application running the Speech SDK. --++ -+ Last updated 06/18/2020-+ ms.devlang: csharp
cognitive-services How To Custom Commands Setup Speech Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-setup-speech-sdk.md
Title: 'Integrate with a client app using Speech SDK'
description: how to make requests to a published Custom Commands application from the Speech SDK running in a UWP application. --++ -+ Last updated 06/18/2020-+ ms.devlang: csharp
cognitive-services How To Custom Commands Setup Web Endpoints https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-setup-web-endpoints.md
Title: 'Set up web endpoints'
description: set up web endpoints for Custom Commands --++ -+ Last updated 06/18/2020-+ ms.devlang: csharp
cognitive-services How To Custom Commands Update Command From Client https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-update-command-from-client.md
description: Learn how to update a command from a client application. -+ -+ Last updated 10/20/2020
cognitive-services How To Custom Commands Update Command From Web Endpoint https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-commands-update-command-from-web-endpoint.md
description: Learn how to update the state of a command by using a call to a web endpoint. -+ -+ Last updated 10/20/2020
cognitive-services How To Custom Speech Evaluate Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-speech-evaluate-data.md
-+ Last updated 01/23/2022
cognitive-services How To Custom Speech Inspect Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-speech-inspect-data.md
-+ Last updated 02/12/2021
cognitive-services How To Custom Speech Test And Train https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-speech-test-and-train.md
-+ Last updated 02/02/2022
cognitive-services How To Custom Speech Train Model https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-speech-train-model.md
-+ Last updated 01/23/2022
cognitive-services How To Custom Voice Create Voice https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-voice-create-voice.md
-+ Last updated 01/23/2022
cognitive-services How To Custom Voice https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-custom-voice.md
-+ Last updated 01/23/2022
cognitive-services How To Develop Custom Commands Application https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-develop-custom-commands-application.md
-+ Last updated 12/15/2020
cognitive-services How To Get Speech Session Id https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-get-speech-session-id.md
-+ Last updated 11/19/2021
cognitive-services How To Lower Speech Synthesis Latency https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-lower-speech-synthesis-latency.md
-+ Last updated 04/29/2021
zone_pivot_groups: programming-languages-set-nineteen
# Lower speech synthesis latency using Speech SDK
-> [!NOTE]
-> This article requires Speech SDK 1.17.0 or later.
- The synthesis latency is critical to your applications. In this article, we will introduce the best practices to lower the latency and bring the best performance to your end users.
cognitive-services How To Migrate From Bing Speech https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-migrate-from-bing-speech.md
description: Learn how to migrate from an existing Bing Speech subscription to t
-
For Speech service, SDK, and API support, visit the Speech service [support page
* [Try out Speech service for free](overview.md#try-the-speech-service-for-free) * [Get started with speech-to-text](get-started-speech-to-text.md) * [Get started with text-to-speech](get-started-text-to-speech.md)-
-## See also
-
-* [Speech service release notes](releasenotes.md)
-* [What is the Speech service](overview.md)
-* [Speech service and Speech SDK documentation](speech-sdk.md#get-the-speech-sdk)
cognitive-services How To Migrate To Custom Neural Voice https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-migrate-to-custom-neural-voice.md
-+ Last updated 11/12/2021
cognitive-services How To Migrate To Prebuilt Neural Voice https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-migrate-to-prebuilt-neural-voice.md
-+ Last updated 11/12/2021
cognitive-services How To Pronunciation Assessment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-pronunciation-assessment.md
-+ Last updated 01/23/2022 ms.devlang: cpp, csharp, java, javascript, objective-c, python
cognitive-services How To Recognize Intents From Speech Csharp https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-recognize-intents-from-speech-csharp.md
-+ Last updated 02/08/2022 ms.devlang: csharp
cognitive-services How To Select Audio Input Devices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-select-audio-input-devices.md
-+ Last updated 07/05/2019 ms.devlang: cpp, csharp, java, javascript, objective-c, python
cognitive-services How To Specify Source Language https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-specify-source-language.md
-+ Last updated 05/19/2020 zone_pivot_groups: programming-languages-set-two
cognitive-services How To Speech Synthesis Viseme https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-speech-synthesis-viseme.md
-+ Last updated 01/23/2022 ms.devlang: cpp, csharp, java, javascript, python
cognitive-services How To Track Speech Sdk Memory Usage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-track-speech-sdk-memory-usage.md
-+ Last updated 12/10/2019 ms.devlang: cpp, csharp, java, objective-c, python
cognitive-services How To Use Audio Input Streams https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-use-audio-input-streams.md
-+ Last updated 07/05/2019 ms.devlang: csharp
cognitive-services How To Use Codec Compressed Audio Input Streams https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-use-codec-compressed-audio-input-streams.md
-+ Last updated 01/13/2022 ms.devlang: cpp, csharp, golang, java, python
cognitive-services How To Use Conversation Transcription https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-use-conversation-transcription.md
Title: Real-time Conversation Transcription quickstart - Speech service
-description: Learn how to use real-time Conversation Transcription with the REST API and SDK. Conversation Transcription allows you to transcribe meetings and other conversations with the ability to add, remove, and identify multiple participants by streaming audio to the Speech service.
+description: In this quickstart, learn how to transcribe meetings and other conversations. You can add, remove, and identify multiple participants by streaming audio to the Speech service.
-+ Last updated 01/24/2022 zone_pivot_groups: acs-js-csharp
ms.devlang: csharp, javascript
-# Get started with real-time Conversation Transcription
+# Quickstart: Real-time Conversation Transcription
You can transcribe meetings and other conversations with the ability to add, remove, and identify multiple participants by streaming audio to the Speech service. You first create voice signatures for each participant using the REST API, and then use the voice signatures with the Speech SDK to transcribe conversations. See the Conversation Transcription [overview](conversation-transcription.md) for more information.
cognitive-services How To Use Custom Entity Pattern Matching https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-use-custom-entity-pattern-matching.md
-+ Last updated 11/15/2021 ms.devlang: cpp, csharp
cognitive-services How To Use Logging https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-use-logging.md
-+ Last updated 07/05/2019 ms.devlang: cpp, csharp, golang, java, javascript, objective-c, python
cognitive-services How To Use Simple Language Pattern Matching https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-use-simple-language-pattern-matching.md
-+ Last updated 11/15/2021 zone_pivot_groups: programming-languages-set-nine
cognitive-services How To Windows Voice Assistants Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-windows-voice-assistants-get-started.md
Last updated 04/15/2020
-# Getting started with voice assistants on Windows
+
+# Get started with voice assistants on Windows
This guide will take you through the steps to begin developing a voice assistant on Windows.
cognitive-services Improve Accuracy Phrase List https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/improve-accuracy-phrase-list.md
-+ Last updated 01/26/2022 zone_pivot_groups: programming-languages-set-two-with-js-spx
cognitive-services Intent Recognition https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/intent-recognition.md
-+ Last updated 10/13/2020 keywords: intent recognition
cognitive-services Keyword Recognition Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/keyword-recognition-overview.md
Title: Keyword recognition - Speech service
+ Title: Keyword recognition overview - Speech service
description: An overview of the features, capabilities, and restrictions for keyword recognition by using the Speech Software Development Kit (SDK).
-+ Last updated 04/30/2021
-# Keyword recognition
+# What is keyword recognition?
Keyword recognition detects a word or short phrase within a stream of audio. It's also referred to as keyword spotting.
cognitive-services Language Identification https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/language-identification.md
-+ Last updated 02/13/2022 zone_pivot_groups: programming-languages-speech-services-nomore-variant
cognitive-services Long Audio Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/long-audio-api.md
-+ Last updated 01/24/2022
cognitive-services Migrate V2 To V3 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/migrate-v2-to-v3.md
- Previously updated : 02/12/2020+ Last updated : 02/12/2022
cognitive-services Migration Overview Neural Voice https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/migration-overview-neural-voice.md
Title: Migration overview - Speech service
+ Title: Migration to neural voice - Speech service
description: This document summarizes the benefits of migration from non-neural voice to neural voice.
Last updated 11/12/2021
-# Migration overview
+# Migration to neural voice
We're retiring two features from [Text-to-Speech](index-text-to-speech.yml) capabilities as detailed below.
cognitive-services Multi Device Conversation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/multi-device-conversation.md
Title: Multi-device Conversation (Preview) - Speech Service
+ Title: Multi-device Conversation overview - Speech Service
description: Multi-device conversation makes it easy to create a speech or text conversation between multiple clients and coordinate the messages that are sent between them.
- Previously updated : 03/11/2020+ Last updated : 02/19/2022
-# What is Multi-device Conversation (Preview)?
+# What is Multi-device Conversation?
-**Multi-device conversation** makes it easy to create a speech or text conversation between multiple clients and coordinate the messages sent between them.
+Multi-device conversation makes it easy to create a speech or text conversation between multiple clients and coordinate the messages sent between them.
-With **multi-device conversation**, you can:
+> [!NOTE]
+> Multi-device conversation access is a preview feature.
+
+With multi-device conversation, you can:
- Connect multiple clients into the same conversation and manage the sending and receiving of messages between them. - Easily transcribe audio from each client and send the transcription to the others, with optional translation.
With **multi-device conversation**, you can:
You can build a feature or solution that works across an array of devices. Each device can independently send messages (either transcriptions of audio or instant messages) to all other devices.
-Whereas [**Conversation Transcription**](conversation-transcription.md) works on a single device with a multichannel microphone array, **Multi-device Conversation** is suited for scenarios with multiple devices, each with a single microphone.
+Whereas [Conversation Transcription](conversation-transcription.md) works on a single device with a multichannel microphone array, Multi-device Conversation is suited for scenarios with multiple devices, each with a single microphone.
>[!IMPORTANT]
-> Multi-device conversation does **not** support sending audio files between clients: only the transcription and/or translation.
+> Multi-device conversation does not support sending audio files between clients: only the transcription and/or translation.
## Key features -- **Real-time transcription** ΓÇô Everyone will receive a transcript of the conversation, so they can follow along the text in real-time or save it for later.-- **Real-time translation** ΓÇô With more than 70 [supported languages](language-support.md#text-languages) for text translation, users can translate the conversation to their preferred language(s).-- **Readable transcripts** ΓÇô The transcription and translation are easy to follow, with punctuation and sentence breaks.-- **Voice or text input** ΓÇô Each user can speak or type on their own device, depending on the language support capabilities enabled for the participant's chosen language. Please refer to [Language support](language-support.md#speech-to-text).-- **Message relay** - The multi-device conversation service will distribute messages sent by one client to all the others, in the language(s) of their choice.-- **Message identification** ΓÇô Every message that users receive in the conversation will be tagged with the nickname of the user who sent it.
+- **Real-time transcription:** Everyone will receive a transcript of the conversation, so they can follow along the text in real-time or save it for later.
+- **Real-time translation:** With more than 70 [supported languages](language-support.md#text-languages) for text translation, users can translate the conversation to their preferred language(s).
+- **Readable transcripts:** The transcription and translation are easy to follow, with punctuation and sentence breaks.
+- **Voice or text input:** Each user can speak or type on their own device, depending on the language support capabilities enabled for the participant's chosen language. Please refer to [Language support](language-support.md#speech-to-text).
+- **Message relay:** The multi-device conversation service will distribute messages sent by one client to all the others, in the language(s) of their choice.
+- **Message identification:** Every message that users receive in the conversation will be tagged with the nickname of the user who sent it.
## Use cases
Each client can send audio or instant messages. The service will use speech reco
## Overview of Conversation, Host, and Participant
-A **conversation** is a session that one user starts for the other participating users to join. All clients connect to the conversation using the five-letter **conversation code**.
+A conversation is a session that one user starts for the other participating users to join. All clients connect to the conversation using the five-letter conversation code.
Each conversation creates metadata that includes:-- Timestamps of when the conversation started and ended-- List of all participants in the conversation, which includes each user's chosen nickname and primary language for speech or text input.
+- Timestamps of when the conversation started and ended
+- List of all participants in the conversation, which includes each user's chosen nickname and primary language for speech or text input.
-There are two types of users in a conversation: **host** and **participant**.
+There are two types of users in a conversation: host and participant.
-The **host** is the user who starts a conversation, and who acts as the administrator of that conversation.
+The host is the user who starts a conversation, and who acts as the administrator of that conversation.
- Each conversation can only have one host - The host must be connected to the conversation for the duration of the conversation. If the host leaves the conversation, the conversation will end for all other participants. - The host has a few extra controls to manage the conversation:
The **host** is the user who starts a conversation, and who acts as the administ
- Unmute all participants - Unmute individual participants
-A **participant** is a user who joins a conversation.
+A participant is a user who joins a conversation.
- A participant can leave and rejoin the same conversation at any time, without ending the conversation for other participants. - Participants cannot lock the conversation or mute/unmute others
A **participant** is a user who joins a conversation.
## Language support
-When creating or joining a conversation, each user must choose a **primary language**: the language that they will speak and send instant messages in, and also the language they will see other users' messages.
+When creating or joining a conversation, each user must choose a primary language: the language that they will speak and send instant messages in, and also the language they will see other users' messages.
-There are two kinds of languages: **speech-to-text** and **text-only**:
-- If the user chooses a **speech-to-text** language as their primary language, then they will be able to use both speech and text input in the conversation.
+There are two kinds of languages: speech-to-text and text-only:
+- If the user chooses a speech-to-text language as their primary language, then they will be able to use both speech and text input in the conversation.
-- If the user chooses a **text-only** language, then they will only be able to use text input and send instant messages in the conversation. Text-only languages are the languages that are supported for text translation, but not speech-to-text. You can see available languages on the [language support](./language-support.md) page.
+- If the user chooses a text-only language, then they will only be able to use text input and send instant messages in the conversation. Text-only languages are the languages that are supported for text translation, but not speech-to-text. You can see available languages on the [language support](./language-support.md) page.
Apart from their primary language, each participant can also specify additional languages for translating the conversation.
Below is a summary of what the user will be able to do in a multi-device convers
## Next steps
-> [!div class="nextstepaction"]
-> [Translate conversations in real-time](quickstarts/multi-device-conversation.md)
+* [Translate conversations in real-time](quickstarts/multi-device-conversation.md)
cognitive-services Pattern Matching Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/pattern-matching-overview.md
description: Pattern Matching with the IntentRecognizer helps you get started quickly with offline intent matching. -+ Last updated 11/15/2021 keywords: intent recognition pattern matching
-# Pattern Matching overview
+# What is pattern matching?
[!INCLUDE [PatternMatchingOverview](includes/pattern-matching-overview.md)]
cognitive-services Quickstart Custom Commands Application https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/quickstart-custom-commands-application.md
Title: 'Quickstart: Create a voice assistant using Custom Commands'
+ Title: 'Quickstart: Create a voice assistant using Custom Commands - Speech service'
-description: In this quickstart, you create and test a basic Custom Commands application using Speech Studio.
+description: In this quickstart, you create and test a basic Custom Commands application in Speech Studio.
--++ - Previously updated : 06/18/2020-+ Last updated : 02/19/2022+ --
-# Create a voice assistant using Custom Commands
+# Quickstart: Create a voice assistant with Custom Commands
In this quickstart, you create and test a basic Custom Commands application using Speech Studio. You will also be able to access this application from a Windows client app.
At this time, Custom Commands supports speech subscriptions created in these reg
> ![Create a project](media/custom-commands/import-project.png) 1. In the **LUIS authoring resource** list, select an authoring resource. If there are no valid authoring resources, create one by selecting **Create new LUIS authoring resource**.-
- > [!div class="mx-imgBorder"]
- > ![Create a resource](media/custom-commands/create-new-luis-resource.png)
-
1. In the **Resource Name** box, enter the name of the resource. 1. In the **Resource Group** list, select a resource group.
cognitive-services Voice Assistants https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/quickstarts/voice-assistants.md
Title: 'Quickstart: Create a custom voice assistant - Speech service'
-description: In this article, you use the Speech SDK to create a custom voice assistant.
+description: In this quickstart, you use the Speech SDK to create a custom voice assistant.
cognitive-services Record Custom Voice Samples https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/record-custom-voice-samples.md
-+ Last updated 04/13/2020
cognitive-services Releasenotes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/releasenotes.md
-+ Last updated 02/14/2022
cognitive-services Resiliency And Recovery Plan https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/resiliency-and-recovery-plan.md
-+ Last updated 07/28/2021
cognitive-services Rest Speech To Text https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/rest-speech-to-text.md
-+ Last updated 01/24/2022 ms.devlang: csharp
cognitive-services Rest Text To Speech https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/rest-text-to-speech.md
-+ Last updated 01/24/2022
cognitive-services Sovereign Clouds https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/sovereign-clouds.md
-+ Last updated 11/09/2021
Replace `subscriptionKey` with your Speech resource key. Replace `usGovHost` wit
## Azure China
-Available to organizations with a business presence in China. See more information about Azure China [here.](/azure/china/overview-operations)
-
+Available to organizations with a business presence in China. See more information about Azure China [here](/azure/china/overview-operations).
- **Azure portal:** - [https://portal.azure.cn/](https://portal.azure.cn/)
cognitive-services Speaker Recognition Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speaker-recognition-overview.md
-+ Last updated 01/08/2022
cognitive-services Speech Container Batch Processing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-container-batch-processing.md
-+ Last updated 10/22/2020
cognitive-services Speech Container Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-container-configuration.md
-+ Last updated 07/22/2021
cognitive-services Speech Container Howto On Premises https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-container-howto-on-premises.md
-+ Last updated 07/22/2021
cognitive-services Speech Container Howto https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-container-howto.md
-+ Last updated 01/24/2022
cognitive-services Speech Devices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-devices.md
-+ Last updated 12/27/2021
-# Speech devices overview
+# What are Speech devices?
The [Speech service](overview.md) works with a wide variety of devices and audio sources. You can use the default audio processing available on a device. Otherwise, the Speech SDK has an option for you to use our advanced audio processing algorithms that are designed to work well with the [Speech service](overview.md). It provides accurate far-field [speech recognition](speech-to-text.md) via noise suppression, echo cancellation, beamforming, and dereverberation.
The Speech SDK is designed to work with purpose-built development kits, and vary
## Next steps
-> [!div class="nextstepaction"]
-> [Audio processing concepts](audio-processing-overview.md)
+* [Audio processing concepts](audio-processing-overview.md)
cognitive-services Speech Encryption Of Data At Rest https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-encryption-of-data-at-rest.md
Title: Speech service encryption of data at rest description: Microsoft offers Microsoft-managed encryption keys, and also lets you manage your Cognitive Services subscriptions with your own keys, called customer-managed keys (CMK). This article covers data encryption at rest for Speech service.---++ Last updated 07/14/2021-+ #Customer intent: As a user of the Translator service, I want to learn how encryption at rest works.
cognitive-services Speech Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-sdk.md
-+ Last updated 01/16/2022
-# About the Speech SDK
+# What is the Speech SDK?
The Speech software development kit (SDK) exposes many of the Speech service capabilities you can use to develop speech-enabled applications. The Speech SDK is available in many programming languages and across all platforms.
cognitive-services Speech Service Vnet Service Endpoint https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-service-vnet-service-endpoint.md
-+ Last updated 03/19/2021
cognitive-services Speech Services Private Link https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-services-private-link.md
-+ Last updated 04/07/2021
cognitive-services Speech Studio Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-studio-overview.md
-+ Last updated 01/24/2022
In Speech Studio, the following Speech service features are available as project
## Next steps
-> [!div class="nextstepaction"]
-> [Explore Speech Studio](https://speech.microsoft.com)
+* [Explore Speech Studio](https://speech.microsoft.com)
cognitive-services Speech Synthesis Markup https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-synthesis-markup.md
-+ Last updated 01/07/2022 ms.devlang: cpp, csharp, java, javascript, objective-c, python
cognitive-services Speech To Text https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-to-text.md
-+ Last updated 01/16/2022
cognitive-services Speech Translation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/speech-translation.md
-+ Last updated 01/16/2022
cognitive-services Spx Basics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/spx-basics.md
Title: "Quickstart: The Speech CLI - Speech service"
-description: By using the Azure Speech CLI, you can interact with speech-to-text, text-to-speech, and speech translation without having to write code.
+description: In this Azure Speech CLI quickstart, you interact with speech-to-text, text-to-speech, and speech translation without having to write code.
-# Get started with the Azure Speech CLI
+# Quickstart: Get started with the Azure Speech CLI
In this article, you'll learn how to use the Azure Speech CLI (also called SPX) to access Speech services such as speech-to-text, text-to-speech, and speech translation, without having to write any code. The Speech CLI is production ready, and you can use it to automate simple workflows in the Speech service by using `.bat` or shell scripts.
cognitive-services Spx Batch Operations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/spx-batch-operations.md
Title: "Speech CLI batch operations - Speech service"
-description: learn how to do batch speech to text (speech recognition), batch text to speech (speech synthesis) with the Speech CLI.
+description: Learn how to do batch speech to text (speech recognition), batch text to speech (speech synthesis) with the Speech CLI.
-+ Last updated 01/13/2021
cognitive-services Spx Data Store Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/spx-data-store-configuration.md
-+ Last updated 01/13/2021
Speech CLI's behavior can rely on settings in configuration files, which you can refer to using a `@` symbol. The Speech CLI saves a new setting in a new `./spx/data` subdirectory that is created in the current working directory for the Speech CLI. When looking for a configuration value, the Speech CLI searches your current working directory, then in the datastore at `./spx/data`, and then in other datastores, including a final read-only datastore in the `spx` binary.
-In the Speech CLI quickstart, you used the datastore to save your `@key` and `@region` values, so you did not need to specify them with each `spx` command. Keep in mind, that you can use configuration files to store your own configuration settings, or even use them to pass URLs or other dynamic content generated at runtime.
+In the [Speech CLI quickstart](spx-basics.md), you used the datastore to save your `@key` and `@region` values, so you did not need to specify them with each `spx` command. Keep in mind, that you can use configuration files to store your own configuration settings, or even use them to pass URLs or other dynamic content generated at runtime.
> [!NOTE] > In PowerShell, the [stop-parsing token](/powershell/module/microsoft.powershell.core/about/about_special_characters#stop-parsing-token) (`--%`) should follow `spx`. For example, run `spx --% config @region` to view the current region config value.
cognitive-services Spx Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/spx-overview.md
-+ Last updated 01/16/2022
cognitive-services Swagger Documentation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/swagger-documentation.md
-+ Last updated 02/16/2021
cognitive-services Text To Speech https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/text-to-speech.md
-+ Last updated 01/16/2022
cognitive-services Troubleshooting https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/troubleshooting.md
-+ Last updated 07/23/2019
cognitive-services Tutorial Voice Enable Your Bot Speech Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/tutorial-voice-enable-your-bot-speech-sdk.md
-+ Last updated 01/24/2022 ms.devlang: csharp
cognitive-services Voice Assistants https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/voice-assistants.md
Title: Voice assistants - Speech service
+ Title: Voice assistants overview - Speech service
description: An overview of the features, capabilities, and restrictions for voice assistants with the Speech SDK.
-+ Last updated 03/11/2020
Voice assistants that you build by using Speech service can use a full range of
## Next steps
-* [Get a Speech service subscription key for free](overview.md#try-the-speech-service-for-free)
* [Learn more about Custom Commands](custom-commands.md) * [Learn more about Direct Line Speech](direct-line-speech.md) * [Get the Speech SDK](speech-sdk.md)
cognitive-services Windows Voice Assistants Implementation Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/windows-voice-assistants-implementation-guide.md
-+ Last updated 04/15/2020
cognitive-services Windows Voice Assistants Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/windows-voice-assistants-overview.md
Title: Voice Assistants on Windows - Overview
+ Title: Voice Assistants on Windows overview - Speech Service
description: An overview of the voice assistants on Windows, including capabilities and development resources available.
- Previously updated : 04/15/2020+ Last updated : 02/19/2022
-# Voice Assistants on Windows
+# What are Voice Assistants on Windows?
-On Windows 10 version 2004 and up, voice assistant applications can take advantage of the Windows ConversationalAgent APIs to achieve a complete voice-enabled assistant experience.
+Voice assistant applications can take advantage of the Windows ConversationalAgent APIs to achieve a complete voice-enabled assistant experience.
## Voice Assistant Features
The keyword spotter that triggers the application to start has achieved low powe
## Next steps -- **Review the design guidelines:** Our [design guidelines](windows-voice-assistants-best-practices.md) lay out the key work required to provide the best possible experiences for voice activation on Windows 10.-- **Visit the Getting Started page:** Start [here](how-to-windows-voice-assistants-get-started.md) for the steps to begin implementing voice assistants on Windows, from setting your development environment through an introduction to implementation guide.-- **Try out the sample app**: To experience these capabilities firsthand, visit the [UWP Voice Assistant Sample](windows-voice-assistants-faq.yml#the-uwp-voice-assistant-sample) page and follow the steps to get the sample client running.
+- Review the [design guidelines](windows-voice-assistants-best-practices.md) to provide the best experiences for voice activation.
+- See the voice assistants on Windows [get started](how-to-windows-voice-assistants-get-started.md) page.
+- See the [UWP Voice Assistant Sample](windows-voice-assistants-faq.yml#the-uwp-voice-assistant-sample) page and follow the steps to get the sample client running.
connectors Connectors Create Api Azureblobstorage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/connectors/connectors-create-api-azureblobstorage.md
Title: Connect to Azure Blob Storage
-description: Create and manage blobs in Azure storage accounts by using Azure Logic Apps.
+description: Create workflows that manage blobs in Azure storage accounts using Azure Logic Apps.
ms.suite: integration Previously updated : 01/04/2022 Last updated : 02/18/2022 tags: connectors
tags: connectors
From your workflow in Azure Logic Apps, you can access and manage files stored as blobs in your Azure storage account by using the [Azure Blob Storage connector](/connectors/azureblobconnector/). This connector provides triggers and actions that your workflow can use for blob operations. You can then automate tasks to manage files in your storage account. For example, [connector actions](/connectors/azureblobconnector/#actions) include checking, deleting, reading, and uploading blobs. The [available trigger](/connectors/azureblobconnector/#triggers) fires when a blob is added or modified.
-You can connect to Blob Storage from both **Logic App (Consumption)** and **Logic App (Standard)** resource types. You can use the connector with logic app workflows in multi-tenant Azure Logic Apps, single-tenant Azure Logic Apps, and the integration service environment (ISE). With **Logic App (Standard)**, Blob Storage provides built-in operations *and* managed connector operations.
+You can connect to Blob Storage from both **Logic App (Consumption)** and **Logic App (Standard)** resource types. You can use the connector with logic app workflows in multi-tenant Azure Logic Apps, single-tenant Azure Logic Apps, and the integration service environment (ISE). With **Logic App (Standard)**, you can use either the *built-in* **Azure Blob** operations or the **Azure Blob Storage** managed connector operations.
> [!IMPORTANT] > A logic app workflow can't directly access a storage account behind a firewall if they're both in the same region.
You can connect to Blob Storage from both **Logic App (Consumption)** and **Logi
- An [Azure storage account and storage container](../storage/blobs/storage-quickstart-blobs-portal.md) -- A logic app workflow from which you want to access your Blob Storage account. If you want to start your workflow with a Blob Storage trigger, you need a [blank logic app workflow](../logic-apps/quickstart-create-first-logic-app-workflow.md).
+- A logic app workflow from which you want to access your Azure Storage account. If you want to start your workflow with a Blob trigger, you need a [blank logic app workflow](../logic-apps/quickstart-create-first-logic-app-workflow.md).
## Limits - For logic app workflows running in an [integration service environment (ISE)](../logic-apps/connect-virtual-network-vnet-isolated-environment-overview.md), this connector's ISE-labeled version uses the [ISE message limits](../logic-apps/logic-apps-limits-and-config.md#message-size-limits) instead. -- By default, Blob Storage actions can read or write files that are *50 MB or smaller*. To handle files larger than 50 MB but up to 1024 MB, Blob Storage actions support [message chunking](../logic-apps/logic-apps-handle-large-messages.md). The [**Get blob content** action](/connectors/azureblobconnector/#get-blob-content) implicitly uses chunking.
+- By default, Blob actions can read or write files that are *50 MB or smaller*. To handle files larger than 50 MB but up to 1024 MB, Blob actions support [message chunking](../logic-apps/logic-apps-handle-large-messages.md). The [**Get blob content** action](/connectors/azureblobconnector/#get-blob-content) implicitly uses chunking.
-- Blob Storage triggers don't support chunking. When requesting file content, triggers select only files that are 50 MB or smaller. To get files larger than 50 MB, follow this pattern:
+- Blob triggers don't support chunking. When a trigger requests file content, the trigger selects only files that are 50 MB or smaller. To get files larger than 50 MB, follow this pattern:
- - Use a Blob Storage trigger that returns file properties, such as [**When a blob is added or modified (properties only)**](/connectors/azureblobconnector/#when-a-blob-is-added-or-modified-(properties-only)).
+ - Use a Blob trigger that returns file properties, such as [**When a blob is added or modified (properties only)**](/connectors/azureblobconnector/#when-a-blob-is-added-or-modified-(properties-only)).
- - Follow the trigger with the Blob Storage [**Get blob content** action](/connectors/azureblobconnector/#get-blob-content), which reads the complete file and implicitly uses chunking.
+ - Follow the trigger with the Blob action named [**Get blob content**](/connectors/azureblobconnector/#get-blob-content), which reads the complete file and implicitly uses chunking.
## Connector reference
-For more technical details about this connector, such as triggers, actions, and limits, review the [connector's reference page](/connectors/azureblobconnector/). If you don't want to use the Blob Storage connector, you can the [use HTTP trigger or action along with a a managed identity for blob operations instead](#access-blob-storage-with-managed-identities).
+For more technical details about this connector, such as triggers, actions, and limits, review the [connector's reference page](/connectors/azureblobconnector/). If you don't want to use the Blob operations, you can use the [use HTTP trigger or action along with a a managed identity for blob operations instead](#access-blob-storage-with-managed-identities).
-## Add Blob Storage trigger
+<a name="add-trigger"></a>
+
+## Add a Blob trigger
In Azure Logic Apps, every workflow must start with a [trigger](../logic-apps/logic-apps-overview.md#logic-app-concepts), which fires when a specific event happens or when a specific condition is met.
-This connector has one available trigger, called either [**When a blob is Added or Modified in Azure Storage** or **When a blob is added or modified (properties only)**](/connectors/azureblobconnector/#when-a-blob-is-added-or-modified-(properties-only)). The trigger fires when a blob's properties are added or updated in your storage container. Each time, the Azure Logic Apps engine creates a logic app instance and starts running your workflow.
+Only one Blob trigger exists and has either of the following names, based on whether you're working with a Consumption or Standard logic app workflow:
+
+| Logic app type | Trigger name | Description |
+|-|--|-|
+| Consumption | Managed connector only: **When a blob is added or modified (properties only)** | The trigger fires when a blob's properties are added or updated in your storage container's root folder. |
+| Standard | - Built-in: **When a blob is Added or Modified in Azure Storage** <br><br>- Managed connector: **When a blob is added or modified (properties only)** | - Built-in: The trigger fires when a blob is added or updated in your storage container. The trigger also fires for any nested folders in your storage container, not just the root folder. <br><br>- Managed connector: The trigger fires when a blob's properties are added or updated in your storage container's root folder. |
+||||
+
+When the trigger fires each time, Azure Logic Apps creates a logic app instance and starts running the workflow.
### [Consumption](#tab/consumption)
-To add an Azure Blob Storage trigger to a logic app workflow in multi-tenant Azure Logic Apps, follow these steps:
+To add a Blob trigger to a logic app workflow in multi-tenant Azure Logic Apps, follow these steps:
1. In the [Azure portal](https://portal.azure.com), open your logic app workflow in the designer.
-1. In the designer search box, enter `Azure blob` as your filter. From the triggers list, select the trigger named **When a blob is added or modified (properties only)**.
+1. Under the designer search box, make sure that **All** is selected. In the search box, enter **Azure blob**. From the **Triggers** list, select the trigger named **When a blob is added or modified (properties only)**.
:::image type="content" source="./media/connectors-create-api-azureblobstorage/consumption-trigger-add.png" alt-text="Screenshot showing Azure portal and workflow designer with a Consumption logic app and the trigger named 'When a blob is added or modified (properties only)' selected.":::
-1. If you're prompted for connection details, [create your Azure Blob Storage connection now](#connect-blob-storage-account).
+1. If you're prompted for connection details, [create a connection to your Azure Blob Storage account](#connect-blob-storage-account).
1. Provide the necessary information for the trigger.
- 1. For the **Container** property value, select the folder icon to browse for your blob storage container. Or, enter the path manually.
-
- 1. Configure other trigger settings as needed.
+ 1. For the **Container** property value, select the folder icon to browse for your blob storage container. Or, enter the path manually using the syntax **/<*container-name*>**, for example:
:::image type="content" source="./media/connectors-create-api-azureblobstorage/consumption-trigger-configure.png" alt-text="Screenshot showing Azure Blob trigger with parameters configuration.":::
+ 1. Configure other trigger settings as needed.
+ 1. Add one or more actions to your workflow. 1. On the designer toolbar, select **Save** to save your changes. ### [Standard](#tab/standard)
-To add an Azure Blob trigger to a logic app workflow in single-tenant Azure Logic Apps, follow these steps:
+To add a Blob trigger to a logic app workflow in single-tenant Azure Logic Apps, follow these steps:
1. In the [Azure portal](https://portal.azure.com), open your logic app workflow in the designer.
-1. On the designer, select **Choose an operation**. In the **Add a trigger** pane that opens, under the **Choose an operation** search box, select either **Built-in** to find the **Azure Blob** *built-in* trigger, or select **Azure** to find the **Azure Blob Storage** *managed connector* trigger.
+1. On the designer, select **Choose an operation**.
-1. In the search box, enter `Azure blob`. From the triggers list, select the trigger named **When a blob is Added or Modified in Azure Storage**.
+1. In the **Add a trigger** pane that opens, under the **Choose an operation** search box, you can select either **Built-in** to find the **Azure Blob** *built-in* trigger, or select **Azure** to find the **Azure Blob Storage** *managed connector* trigger.
+
+ This example uses the built-in **Azure Blob** trigger.
+
+1. Under the search box, select **Built-in**. In the search box, enter **Azure blob**.
+
+1. From the **Triggers** list, select the built-in trigger named **When a blob is Added or Modified in Azure Storage**.
:::image type="content" source="./media/connectors-create-api-azureblobstorage/standard-trigger-add.png" alt-text="Screenshot showing Azure portal, workflow designer, Standard logic app workflow and Azure Blob trigger selected.":::
-1. If you're prompted for connection details, [create your Azure Blob Storage connection now](#connect-blob-storage-account).
+1. If you're prompted for connection details, [create a connection to your Azure Storage account](#connect-blob-storage-account).
1. Provide the necessary information for the trigger. On the **Parameters** tab, in the **Blob Path** property, enter the name of the folder that you want to monitor.
To add an Azure Blob trigger to a logic app workflow in single-tenant Azure Logi
1. Select your blob container. Find the name for the folder that you want to monitor.
- 1. Return to the workflow designer. In the trigger's **Blob Path** property, enter the folder name, for example:
+ 1. Return to the workflow designer. In the trigger's **Blob Path** property, enter the path for the container, folder, or blob, based on whether you're checking for new blobs or changes to an existing blob. The syntax varies based on the check that you want to run and any filtering that you want to use:
+
+ | Task | Path syntax |
+ ||-|
+ | Check the root folder for a newly added blob. | **<*container-name*>** |
+ | Check the root folder for changes to a specific blob. | **<*container-name*>/<*blob-name*>.<*blob-extension*>** |
+ | Check the root folder for changes to any blobs with the same extension, for example, **.txt**. | **<*container-name*>/{name}.txt** <br><br>**Important**: Make sure that you use **{name}** as a literal. |
+ | Check the root folder for changes to any blobs with names starting with a specific string, for example, **Sample-**. | **<*container-name*>/Sample-{name}** <br><br>**Important**: Make sure that you use **{name}** as a literal. |
+ | Check a subfolder for a newly added blob. | **<*container-name*>/<*subfolder*>** |
+ | Check a subfolder for changes to a specific blob. | **<*container-name*>/<*subfolder*>/<*blob-name*>.<*blob-extension*>** |
+ |||
+
+ For more syntax and filtering options, review [Azure Blob storage trigger for Azure Functions](../azure-functions/functions-bindings-storage-blob-trigger.md#blob-name-patterns).
+
+ The following example shows a trigger setup that checks the root folder for a newly added blob:
+
+ :::image type="content" source="./media/connectors-create-api-azureblobstorage/standard-trigger-root-folder.png" alt-text="Screenshot showing the workflow designer for a Standard logic app workflow with an Azure Blob trigger set up for the root folder.":::
- :::image type="content" source="./media/connectors-create-api-azureblobstorage/standard-trigger-configure.png" alt-text="Screenshot showing the workflow designer for a Standard logic app workflow with a Blob Storage trigger and parameters configuration.":::
+ The following example shows a trigger setup that checks a subfolder for changes to an existing blob:
+
+ :::image type="content" source="./media/connectors-create-api-azureblobstorage/standard-trigger-sub-folder-existing-blob.png" alt-text="Screenshot showing the workflow designer for a Standard logic app workflow with an Azure Blob trigger set up for a subfolder and specific blob.":::
1. Continue creating your workflow by adding one or more actions.
To add an Azure Blob trigger to a logic app workflow in single-tenant Azure Logi
<a name="add-action"></a>
-## Add Blob Storage action
+## Add a Blob action
In Azure Logic Apps, an [action](../logic-apps/logic-apps-overview.md#logic-app-concepts) is a step in your workflow that follows a trigger or another action. ### [Consumption](#tab/consumption)
-To add an Azure Blob Storage action to a logic app workflow in multi-tenant Azure Logic Apps, follow these steps:
+To add a Blob action to a logic app workflow in multi-tenant Azure Logic Apps, follow these steps:
1. In the [Azure portal](https://portal.azure.com), open your workflow in the designer.
To add an Azure Blob Storage action to a logic app workflow in multi-tenant Azur
This example starts with the [**Recurrence** trigger](connectors-native-recurrence.md).
-1. Under the trigger or action where you want to add the Blob Storage action, select **New step** or **Add an action**, if between steps.
+1. Under the trigger or action where you want to add the Blob action, select **New step** or **Add an action**, if between steps.
-1. In the designer search box, enter `Azure blob`. Select the Blob Storage action that you want to use.
+1. Under the designer search box, make sure that **All** is selected. In the search box, enter **Azure blob**. Select the Blob action that you want to use.
This example uses the action named **Get blob content**.
- :::image type="content" source="./media/connectors-create-api-azureblobstorage/consumption-action-add.png" alt-text="Screenshot of Consumption logic app in designer, showing list of available Blob Storage actions.":::
+ :::image type="content" source="./media/connectors-create-api-azureblobstorage/consumption-action-add.png" alt-text="Screenshot showing Consumption logic app in designer with available Blob actions.":::
-1. If you're prompted for connection details, [create a connection to your Blob Storage account](#connect-blob-storage-account).
+1. If you're prompted for connection details, [create a connection to your Azure Storage account](#connect-blob-storage-account).
1. Provide the necessary information for the action.
- 1. For the **Blob** property value, select the folder icon to browse for your blob storage container. Or, enter the path manually.
+ For example, in the **Get blob content** action, provide your storage account name. For the **Blob** property value, select the folder icon to browse for your storage container or folder. Or, enter the path manually.
+
+ | Task | Blob path syntax |
+ |||
+ | Get the content from a specific blob in the root folder. | **/<*container-name*>/<*blob-name*>** |
+ | Get the content from a specific blob in a subfolder. | **/<*container-name*>/<*subfolder*>/<*blob-name*>** |
+ |||
+
+ The following example shows the action setup that gets the content from a blob in the root folder:
+
+ :::image type="content" source="./media/connectors-create-api-azureblobstorage/consumption-action-root-folder.png" alt-text="Screenshot showing Consumption logic app in designer with Blob action setup for root folder.":::
- :::image type="content" source="./media/connectors-create-api-azureblobstorage/consumption-action-configure.png" alt-text="Screenshot of Consumption logic app in designer, showing configuration of Blob Storage action.":::
+ The following example shows the action setup that gets the content from a blob in the subfolder:
- 1. Configure other action settings as needed.
+ :::image type="content" source="./media/connectors-create-api-azureblobstorage/consumption-action-sub-folder.png" alt-text="Screenshot showing Consumption logic app in designer with Blob action setup for subfolder.":::
+
+1. Set up other action settings as needed.
### [Standard](#tab/standard)
To add an Azure Blob action to a logic app workflow in single-tenant Azure Logic
This example starts with the [**Recurrence** trigger](connectors-native-recurrence.md).
-1. Under the trigger or action where you want to add the Blob Storage action, select **Insert a new step** (**+**) > **Add an action**.
+1. Under the trigger or action where you want to add the Blob action, select **Insert a new step** (**+**) > **Add an action**.
1. On the designer, make sure that **Add an operation** is selected. In the **Add an action** pane that opens, under the **Choose an operation** search box, select either **Built-in** to find the **Azure Blob** *built-in* actions, or select **Azure** to find the **Azure Blob Storage** *managed connector* actions.
-1. In the search box, enter `Azure blob`. Select the Azure Blob action that you want to use.
+1. In the search box, enter **Azure blob**. Select the Azure Blob action that you want to use.
This example uses the action named **Reads Blob Content from Azure Storage**, which only reads the blob content. To later view the content, add a different action that creates a file with the blob content using another connector. For example, you can add a OneDrive action that creates a file based on the blob content. :::image type="content" source="./media/connectors-create-api-azureblobstorage/standard-action-add.png" alt-text="Screenshot showing the Azure portal and workflow designer with a Standard logic app workflow and the available Azure Blob Storage actions.":::
-1. If you're prompted for connection details, [create a connection to your Blob Storage account](#connect-blob-storage-account).
+1. If you're prompted for connection details, [create a connection to your Azure Storage account](#connect-blob-storage-account).
-1. Provide the necessary information for the action.
+1. For the action, provide the necessary information, which includes the following values for the **Read Blob Content from Azure Storage** action:
+
+ | Property | Required | Description |
+ |-|-|-|
+ | **Container Name** | Yes | The name for the storage container that you want to use |
+ | **Blob name** | Yes | The name or path for the blob that you want to use |
+ ||||
+
+ The following example shows the information for a specific blob in the root folder:
- 1. For **Container Name**, enter the path for the blob storage container that you want to use.
+ :::image type="content" source="./media/connectors-create-api-azureblobstorage/standard-action-root-folder.png" alt-text="Screenshot showing Standard logic app in designer with Blob action setup for root folder.":::
- 1. For the **Blob name** property value, enter the path for the blob that you want to use.
+ The following example shows the information for a specific blob in a subfolder:
- :::image type="content" source="./media/connectors-create-api-azureblobstorage/standard-action-configure.png" alt-text="Screenshot of Standard logic app in designer, showing selection of Blob Storage trigger.":::
+ :::image type="content" source="./media/connectors-create-api-azureblobstorage/standard-action-subfolder.png" alt-text="Screenshot showing Standard logic app in designer with Blob action setup for subfolder.":::
- 1. Configure other action settings as needed.
+1. Configure any other action settings as needed.
1. On the designer toolbar, select **Save**.
To add an Azure Blob action to a logic app workflow in single-tenant Azure Logic
<a name="connect-blob-storage-account"></a>
-## Connect to Blob Storage account
+## Connect to Azure Storage account
[!INCLUDE [Create connection general intro](../../includes/connectors-create-connection-general-intro.md)] ### [Consumption](#tab/consumption)
-Before you can configure your [Azure Blob Storage trigger](#add-blob-storage-trigger) or [Azure Blob Storage action](#add-blob-storage-action), you need to connect to a storage account. A connection requires the following properties:
+Before you can configure your [Azure Blob Storage trigger](#add-trigger) or [Azure Blob Storage action](#add-action), you need to connect to your Azure Storage account.
+
+Based on the [authentication type that your storage account requires](../storage/common/authorize-data-access.md), you have to provide a connection name and select the authentication type at a minimum.
+
+For example, if your storage account requires *access key* authorization, you have to provide the following information:
| Property | Required | Value | Description | |-|-|-|-| | **Connection name** | Yes | <*connection-name*> | The name to use for your connection. |
-| **Storage Account** | Yes | <*storage-account*> | Select your storage account from the list, or provide a string. <p>**Note**: To find the connection string, go to the storage account's page. In the navigation menu, under **Security + networking**, select **Access keys** > **Show keys**. Copy one of the available connection string values. |
+| **Authentication type** | Yes | - **Access Key** <br><br>- **Azure AD Integrated** <br><br>- **Logic Apps Managed Identity (Preview)** | The authentication type to use for your connection. For more information, review [Authentication types for triggers and actions that support authentication - Secure access and data](../logic-apps/logic-apps-securing-a-logic-app.md#authentication-types-for-triggers-and-actions-that-support-authentication). |
+| **Azure Storage Account name** | Yes, <br>but only for access key authentication | <*storage-account-name*> | The name for the Azure storage account where your blob container exists. <br><br><br><br>**Note**: To find the storage account name, open your storage account resource in the Azure portal. In the resource menu, under **Security + networking**, select **Access keys**. Under **Storage account name**, copy and save the name. |
+| **Azure Storage Account Access Key** | Yes, <br>but only for access key authentication | <*storage-account-access-key*> | The access key for your Azure storage account. <br><br><br><br>**Note**: To find the access key, open your storage account resource in the Azure portal. In the resource menu, under **Security + networking**, select **Access keys** > **Show keys**. Copy and save one of the key values. |
|||||
-To create an Azure Blob Storage connection from a logic app workflow in multi-tenant Azure Logic Apps, follow these steps:
-
-1. For **Connection name**, provide a name for your connection.
-
-1. For **Storage Account**, select the storage account where your blob container exists. Or, select **Manually enter connection information** to provide the path yourself.
-
-1. Select **Create** to establish your connection.
+The following example shows how a connection using access key authentication might appear:
- :::image type="content" source="./media/connectors-create-api-azureblobstorage/consumption-connection-create.png" alt-text="Screenshot showing the workflow designer with a Consumption logic app workflow and a prompt to add a new connection for the Azure Blob Storage step.":::
> [!NOTE] > After you create your connection, if you have a different existing Azure Blob storage connection
If you have problems connecting to your storage account, review [how to access s
### [Standard](#tab/standard)
-Before you can configure your [Azure Blob trigger](#add-blob-storage-trigger) or [Azure Blob action](#add-blob-storage-action), you need to connect to a storage account. A connection requires the following properties:
+Before you can configure your [Azure Blob trigger](#add-trigger) or [Azure Blob action](#add-action), you need to connect to your Azure Storage account. A connection requires the following properties:
| Property | Required | Value | Description | |-|-|-|-| | **Connection name** | Yes | <*connection-name*> | The name to use for your connection. |
-| **Azure Blob Storage Connection String** | Yes | <*storage-account*> | Select your storage account from the list, or provide a string. <p>**Note**: To find the connection string, go to the storage account's page. In the navigation menu, under **Security + networking**, select **Access keys** > **Show keys**. Copy one of the available connection string values. |
+| **Azure Blob Storage Connection String** | Yes | <*storage-account*> | Select your storage account from the list, or provide a string. <br><br><br><br>**Note**: To find the connection string, go to the storage account's page. In the navigation menu, under **Security + networking**, select **Access keys** > **Show keys**. Copy one of the available connection string values. |
||||| To create an Azure Blob Storage connection from a logic app workflow in single-tenant Azure Logic Apps, follow these steps:
To create an Azure Blob Storage connection from a logic app workflow in single-t
1. For **Azure Blob Storage Connection String**, enter the connection string for the storage account that you want to use.
-1. Select **Create** to establish your connection.
+1. Select **Create** to finish creating your connection.
:::image type="content" source="./media/connectors-create-api-azureblobstorage/standard-connection-create.png" alt-text="Screenshot that shows the workflow designer with a Standard logic app workflow and a prompt to add a new connection for the Azure Blob Storage step.":::
container-apps Application Lifecycle Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/application-lifecycle-management.md
If your application does not respond to the `SIGTERM` message, then [SIGKILL](ht
## Next steps > [!div class="nextstepaction"]
-> [Work with revisions](revisions.md)
+> [Microservices](microservices.md)
container-apps Containers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/containers.md
Previously updated : 11/02/2021 Last updated : 02/18/2022
Azure Container Apps manages the details of Kubernetes and container orchestrati
Azure Container Apps supports: -- Any Linux-based container image
+- Any Linux-based x86-64 (`linux/amd64`) container image
- Containers from any public or private container registry Additional features include:
The following example configuration shows the options available when setting up
} ], "resources": {
- "cpu": 1,
- "memory": "250Mb"
+ "cpu": 0.75,
+ "memory": "1.5Gi"
} }] }
The following example configuration shows the options available when setting up
| `command` | The container's startup command. | Equivalent to Docker's [entrypoint](https://docs.docker.com/engine/reference/builder/) field. | | `args` | Start up command arguments. | Entries in the array are joined together to create a parameter list to pass to the startup command. | | `env` | An array of key/value pairs that define environment variables. | Use `secretRef` instead of the `value` field to refer to a secret. |
-| `resources.cpu` | The number of CPUs allocated to the container. | Values must adhere to the following rules: the value must be greater than zero and less than 2, and can be any decimal number, with a maximum of one decimal place. For example, `1.1` is valid, but `1.55` is invalid. The default is 0.5 CPU per container. |
-| `resources.memory` | The amount of RAM allocated to the container. | This value is up to `4Gi`. The only allowed units are [gibibytes](https://simple.wikipedia.org/wiki/Gibibyte) (`Gi`). Values must adhere to the following rules: the value must be greater than zero and less than `4Gi`, and can be any decimal number, with a maximum of two decimal places. For example, `1.25Gi` is valid, but `1.555Gi` is invalid. The default is `1Gi` per container. |
+| `resources.cpu` | The number of CPUs allocated to the container. | Values must adhere to the following rules: the value must be greater than zero and less than or equal to 2, and can be any decimal number, with a maximum of two decimal places. For example, `1.25` is valid, but `1.555` is invalid. The default is 0.5 CPU per container. |
+| `resources.memory` | The amount of RAM allocated to the container. | This value is up to `4Gi`. The only allowed units are [gibibytes](https://simple.wikipedia.org/wiki/Gibibyte) (`Gi`). Values must adhere to the following rules: the value must be greater than zero and less than or equal to `4Gi`, and can be any decimal number, with a maximum of two decimal places. For example, `1.25Gi` is valid, but `1.555Gi` is invalid. The default is `1Gi` per container. |
The total amount of CPUs and memory requested for all the containers in a container app must add up to one of the following combinations.
-| vCPUs | Memory in Gi |
+| vCPUs (cores) | Memory |
|||
-| 0.5 | 1.0 |
-| 1.0 | 2.0 |
-| 1.5 | 3.0 |
-| 2.0 | 4.0 |
+| `0.25` | `0.5Gi` |
+| `0.5` | `1.0Gi` |
+| `0.75` | `1.5Gi` |
+| `1.0` | `2.0Gi` |
+| `1.25` | `2.5Gi` |
+| `1.5` | `3.0Gi` |
+| `1.75` | `3.5Gi` |
+| `2.0` | `4.0Gi` |
- All of the CPU requests in all of your containers must match one of the values in the vCPUs column. - All of the memory requests in all your containers must match the memory value in the memory column in the same row of the CPU column.
Azure Container Apps has the following limitations:
- **Privileged containers**: Azure Container Apps can't run privileged containers. If your program attempts to run a process that requires root access, the application inside the container experiences a runtime error. -- **Operating system**: Linux-based container images are required.
+- **Operating system**: Linux-based (`linux/amd64`) container images are required.
## Next steps > [!div class="nextstepaction"]
-> [Environment](environment.md)
+> [Revisions](revisions.md)
container-apps Environment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/environment.md
Billing is relevant only to individual container apps and their resource usage.
## Next steps > [!div class="nextstepaction"]
-> [Managing autoscaling behavior](scale-app.md)
+> [Containers](containers.md)
container-apps Revisions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/revisions.md
New revisions remain active until you deactivate them, or you set your container
## Next steps > [!div class="nextstepaction"]
-> [Secure an app](secure-app.md)
+> [Application lifecycle management](application-lifecycle-management.md)
cosmos-db Manage With Bicep https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/sql/manage-with-bicep.md
Previously updated : 09/13/2021 Last updated : 02/18/2022
This article shows Bicep samples for Core (SQL) API accounts. You can also find
> [!IMPORTANT] > > * Account names are limited to 44 characters, all lowercase.
-> * To change the throughput values, redeploy the Bicep file with updated RU/s.
+> * To change the throughput (RU/s) values, redeploy the Bicep file with updated RU/s.
> * When you add or remove locations to an Azure Cosmos account, you can't simultaneously modify other properties. These operations must be done separately.
-> * Azure Cosmos DB resources cannot be renamed as this violates how Azure Resource Manager works with resource URIs.
> * To provision throughput at the database level and share across all containers, apply the throughput values to the database options property.
-To create any of the Azure Cosmos DB resources below, copy the following example into a new bicep file. You can optionally create a parameters file to use when deploying multiple instances of the same resource with different names and values. There are many ways to deploy Azure Resource Manager templates including, [Azure CLI](../../azure-resource-manager/bicep/deploy-cli.md), [Azure PowerShell](../../azure-resource-manager/bicep/deploy-powershell.md) and [Cloud Shell](../../azure-resource-manager/bicep/deploy-cloud-shell.md).
+To create any of the Azure Cosmos DB resources below, copy the following example into a new bicep file. You can optionally create a parameters file to use when deploying multiple instances of the same resource with different names and values. There are many ways to deploy Azure Bicep files including, [Azure CLI](../../azure-resource-manager/bicep/deploy-cli.md), [Azure PowerShell](../../azure-resource-manager/bicep/deploy-powershell.md) and [Cloud Shell](../../azure-resource-manager/bicep/deploy-cloud-shell.md).
<a id="create-autoscale"></a> ## Azure Cosmos account with autoscale throughput
-Create an Azure Cosmos account in two regions with options for consistency and failover, with database and container configured for autoscale throughput that has most policy options enabled.
+Create an Azure Cosmos account in two regions with options for consistency and failover, with database and container configured for autoscale throughput that has most index policy options enabled.
:::code language="bicep" source="~/quickstart-templates/quickstarts/microsoft.documentdb/cosmosdb-sql-autoscale/main.bicep":::
cosmos-db Manage With Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/sql/manage-with-cli.md
Previously updated : 05/13/2021 Last updated : 02/18/2022
The following sections demonstrate how to manage the Azure Cosmos account, inclu
### Create an Azure Cosmos DB account
-Create an Azure Cosmos DB account with SQL API, Session consistency in West US 2 and East US 2 regions:
+Create an Azure Cosmos DB account with SQL API, Session consistency in West US and East US regions:
> [!IMPORTANT] > The Azure Cosmos account name must be lowercase and less than 44 characters.
az cosmosdb create \
-n $accountName \ -g $resourceGroupName \ --default-consistency-level Session \
- --locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
- --locations regionName='East US 2' failoverPriority=1 isZoneRedundant=False
+ --locations regionName='West US' failoverPriority=0 isZoneRedundant=False \
+ --locations regionName='East US' failoverPriority=1 isZoneRedundant=False
``` ### Add or remove regions
accountName='mycosmosaccount'
# Create an account with 2 regions az cosmosdb create --name $accountName --resource-group $resourceGroupName \
- --locations regionName="West US 2" failoverPriority=0 isZoneRedundant=False \
- --locations regionName="East US 2" failoverPriority=1 isZoneRedundant=False
+ --locations regionName="West US" failoverPriority=0 isZoneRedundant=False \
+ --locations regionName="East US" failoverPriority=1 isZoneRedundant=False
# Add a region az cosmosdb update --name $accountName --resource-group $resourceGroupName \
- --locations regionName="West US 2" failoverPriority=0 isZoneRedundant=False \
- --locations regionName="East US 2" failoverPriority=1 isZoneRedundant=False \
+ --locations regionName="West US" failoverPriority=0 isZoneRedundant=False \
+ --locations regionName="East US" failoverPriority=1 isZoneRedundant=False \
--locations regionName="South Central US" failoverPriority=2 isZoneRedundant=False # Remove a region az cosmosdb update --name $accountName --resource-group $resourceGroupName \
- --locations regionName="West US 2" failoverPriority=0 isZoneRedundant=False \
- --locations regionName="East US 2" failoverPriority=1 isZoneRedundant=False
+ --locations regionName="West US" failoverPriority=0 isZoneRedundant=False \
+ --locations regionName="East US" failoverPriority=1 isZoneRedundant=False
``` ### Enable multiple write regions
az cosmosdb update --ids $accountId --enable-multiple-write-locations true
Set the failover priority for an Azure Cosmos account configured for automatic failover ```azurecli-interactive
-# Assume region order is initially 'West US 2'=0 'East US 2'=1 'South Central US'=2 for account
+# Assume region order is initially 'West US'=0 'East US'=1 'South Central US'=2 for account
resourceGroupName='myResourceGroup' accountName='mycosmosaccount' # Get the account resource id for an existing account accountId=$(az cosmosdb show -g $resourceGroupName -n $accountName --query id -o tsv)
-# Make South Central US the next region to fail over to instead of East US 2
+# Make South Central US the next region to fail over to instead of East US
az cosmosdb failover-priority-change --ids $accountId \
- --failover-policies 'West US 2=0' 'South Central US=1' 'East US 2=2'
+ --failover-policies 'West US=0' 'South Central US=1' 'East US=2'
``` ### Enable automatic failover
az cosmosdb update --ids $accountId --enable-automatic-failover true
> If you perform a manual failover operation while an [asynchronous throughput scaling operation](../scaling-provisioned-throughput-best-practices.md#background-on-scaling-rus) is in progress, the throughput scale-up operation will be paused. It will resume automatically when the failover operation is complete. ```azurecli-interactive
-# Assume region order is initially 'West US 2=0' 'East US 2=1' 'South Central US=2' for account
+# Assume region order is initially 'West US=0' 'East US=1' 'South Central US=2' for account
resourceGroupName='myResourceGroup' accountName='mycosmosaccount'
accountId=$(az cosmosdb show -g $resourceGroupName -n $accountName --query id -o
# Trigger a manual failover to promote East US 2 as new write region az cosmosdb failover-priority-change --ids $accountId \
- --failover-policies 'East US 2=0' 'South Central US=1' 'West US 2=2'
+ --failover-policies 'East US=0' 'South Central US=1' 'West US=2'
``` ### <a id="list-account-keys"></a> List all account keys
cosmos-db Manage With Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/sql/manage-with-powershell.md
Previously updated : 05/13/2021 Last updated : 02/18/2022
Update-AzCosmosDBAccount `
For accounts configured with Automatic Failover, you can change the order in which Cosmos will promote secondary replicas to primary should the primary become unavailable.
-For the example below, assume the current failover priority is `West US 2 = 0`, `East US 2 = 1`, `South Central US = 2`. The command will change this to `West US 2 = 0`, `South Central US = 1`, `East US 2 = 2`.
+For the example below, assume the current failover priority is `West US = 0`, `East US = 1`, `South Central US = 2`. The command will change this to `West US = 0`, `South Central US = 1`, `East US = 2`.
> [!CAUTION] > Changing the location for `failoverPriority=0` will trigger a manual failover for an Azure Cosmos account. Any other priority changes will not trigger a failover.
For the example below, assume the current failover priority is `West US 2 = 0`,
```azurepowershell-interactive $resourceGroupName = "myResourceGroup" $accountName = "mycosmosaccount"
-$locations = @("West US 2", "South Central US", "East US 2") # Regions ordered by UPDATED failover priority
+$locations = @("West US", "South Central US", "East US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority ` -ResourceGroupName $resourceGroupName `
Update-AzCosmosDBAccountFailoverPriority `
For accounts configured with Manual Failover, you can fail over and promote any secondary replica to primary by modifying to `failoverPriority=0`. This operation can be used to initiate a disaster recovery drill to test disaster recovery planning.
-For the example below, assume the account has a current failover priority of `West US 2 = 0` and `East US 2 = 1` and flip the regions.
+For the example below, assume the account has a current failover priority of `West US = 0` and `East US = 1` and flip the regions.
> [!CAUTION] > Changing `locationName` for `failoverPriority=0` will trigger a manual failover for an Azure Cosmos account. Any other priority change will not trigger a failover.
For the example below, assume the account has a current failover priority of `We
```azurepowershell-interactive $resourceGroupName = "myResourceGroup" $accountName = "mycosmosaccount"
-$locations = @("East US 2", "West US 2") # Regions ordered by UPDATED failover priority
+$locations = @("East US", "West US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority ` -ResourceGroupName $resourceGroupName `
cosmos-db Manage With Templates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/sql/manage-with-templates.md
Previously updated : 06/13/2021 Last updated : 02/18/2022
This article only shows Azure Resource Manager template examples for Core (SQL)
> * Account names are limited to 44 characters, all lowercase. > * To change the throughput values, redeploy the template with updated RU/s. > * When you add or remove locations to an Azure Cosmos account, you can't simultaneously modify other properties. These operations must be done separately.
-> * Azure Cosmos DB resources cannot be renamed as this violates how Azure Resource Manager works with resource URIs.
> * To provision throughput at the database level and share across all containers, apply the throughput values to the database options property. To create any of the Azure Cosmos DB resources below, copy the following example template into a new json file. You can optionally create a parameters json file to use when deploying multiple instances of the same resource with different names and values. There are many ways to deploy Azure Resource Manager templates including, [Azure portal](../../azure-resource-manager/templates/deploy-portal.md), [Azure CLI](../../azure-resource-manager/templates/deploy-cli.md), [Azure PowerShell](../../azure-resource-manager/templates/deploy-powershell.md) and [GitHub](../../azure-resource-manager/templates/deploy-to-azure-button.md).
To create any of the Azure Cosmos DB resources below, copy the following example
This template creates an Azure Cosmos account in two regions with options for consistency and failover, with database and container configured for autoscale throughput that has most policy options enabled. This template is also available for one-click deploy from Azure Quickstart Templates Gallery. > [!NOTE]
-> You can use Azure Resource Manager templates to create new autoscale databases/containers and change the autoscale max RU/s setting on an existing database/container that is already configured with autoscale. By design, migrating between manual and autoscale throughput is not supported with Azure Resource Manager templates. To do this programmatically, you can use [Azure CLI](how-to-provision-autoscale-throughput.md#azure-cli) or [PowerShell](how-to-provision-autoscale-throughput.md#azure-powershell).
+> You can use Azure Resource Manager templates update the autoscale max RU/s setting on an database and container resources already configured with autoscale. Migrating between manual and autoscale throughput is a POST operation and not supported with Azure Resource Manager templates. To migrate throughput use [Azure CLI](how-to-provision-autoscale-throughput.md#azure-cli) or [PowerShell](how-to-provision-autoscale-throughput.md#azure-powershell).
[:::image type="content" source="../../media/template-deployments/deploy-to-azure.svg" alt-text="Deploy to Azure":::](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.documentdb%2Fcosmosdb-sql-autoscale%2Fazuredeploy.json)
This template creates an Azure Cosmos account in one region with a container wit
## Azure Cosmos account with standard provisioned throughput
-This template creates an Azure Cosmos account in two regions with options for consistency and failover, with database and container configured for standard throughput that has most policy options enabled. This template is also available for one-click deploy from Azure Quickstart Templates Gallery.
+This template creates an Azure Cosmos account in two regions with options for consistency and failover, with database and container configured for standard throughput with many indexing policy options configured. This template is also available for one-click deploy from Azure Quickstart Templates Gallery.
[:::image type="content" source="../../media/template-deployments/deploy-to-azure.svg" alt-text="Deploy to Azure":::](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.documentdb%2Fcosmosdb-sql%2Fazuredeploy.json)
defender-for-iot Concept Micro Agent Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/device-builders/concept-micro-agent-configuration.md
Define the frequency in which messages are sent for each priority level. The def
| Frequency | Time period (in minutes) | |--|--|
-| Low | 1440 (24 hour) |
+| Low | 1440 (24 hours) |
| Medium | 120 (2 hours) | | High | 30 (.5 hours) |
devtest-labs Devtest Lab Configure Vnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-configure-vnet.md
Title: Configure a virtual network
-description: Learn how to configure an existing virtual network and subnet, and use them in a VM with Azure DevTest Labs
+description: Learn how to configure an existing virtual network and subnet to use for creating virtual machines in Azure DevTest Labs.
Previously updated : 06/26/2020 Last updated : 02/15/2022
-# Configure a virtual network in Azure DevTest Labs
-As explained in the article [Add a VM to a lab](devtest-lab-add-vm.md), when you create a VM in a lab, you can specify a configured virtual network.
-For example, you might need to access your corpnet resources from your VMs using the virtual network that was configured with ExpressRoute or site-to-site VPN.
+# Add a virtual network in Azure DevTest Labs
-This article explains how to add your existing virtual network into a lab's Virtual Network settings so that it is available to choose when creating VMs.
+In this article, you learn how to add a virtual network to a lab, and configure it for creating lab virtual machines (VMs).
-> [!NOTE]
-> To learn about costs associated with the Azure Virtual Network service, see [Pricing for Azure Virtual Network](../virtual-network/virtual-networks-overview.md#pricing).
+Azure DevTest Labs creates a new virtual network for each lab. If you have another virtual network, such as one configured with Azure ExpressRoute or site-to-site virtual private network (VPN), you can add it to your lab. You can then create lab VMs in that virtual network.
-## Configure a virtual network for a lab using the Azure portal
-The following steps walk you through adding an existing virtual network (and subnet) to a lab so that it can be used when creating a VM in the same lab.
+## Add a virtual network to a lab
-1. Sign in to the [Azure portal](https://go.microsoft.com/fwlink/p/?LinkID=525040).
-1. Select **All Services**, and then select **DevTest Labs** from the list.
-1. From the list of labs, select the desired lab.
-1. On the lab's main pane, select **Configuration and policies**.
+To add a configured virtual network and subnet to a lab, take the following steps:
- ![Access the lab's configuration and policies](./media/devtest-lab-configure-vnet/policies-menu.png)
-1. In the **EXTERNAL RESOURCES** section, select **Virtual networks**. A list of virtual networks configured for the current lab is displayed as well as the default virtual network created for your lab.
-1. Select **+ Add**.
-
- ![Add an existing virtual network to your lab](./media/devtest-lab-configure-vnet/lab-settings-vnet-add.png)
-1. On the **Virtual network** pane, select **[Select virtual network]**.
+1. In the [Azure portal](https://go.microsoft.com/fwlink/p/?LinkID=525040), on the **Overview** page for your lab, select **Configuration and policies** from the left navigation.
+
+ :::image type="content" source="./media/devtest-lab-configure-vnet/policies-menu.png" alt-text="Screenshot that shows the Configuration and policies menu for a lab.":::
+
+1. On the **Configuration and policies** page, in the left navigation under **External resources**, select **Virtual networks**.
+
+1. The **Virtual networks** page shows the lab's current virtual networks. Select **Add**.
- ![Select an existing virtual network](./media/devtest-lab-configure-vnet/lab-settings-vnets-vnet1.png)
-1. On the **Choose virtual network** pane, select the desired virtual network. A list is displayed showing all of the virtual networks that are under the same region in the subscription as the lab.
-1. After selecting a virtual network, you are returned to the **Virtual network** pane. Select the subnet in the list at the bottom.
+ :::image type="content" source="./media/devtest-lab-configure-vnet/lab-settings-vnet-add.png" alt-text="Screenshot that shows a lab's Virtual networks page with Add selected.":::
+
+1. On the **Virtual network** page, select **Select virtual network**.
+
+ :::image type="content" source="./media/devtest-lab-configure-vnet/lab-settings-vnets-vnet1.png" alt-text="Screenshot that shows Select virtual network selected on the Virtual network page.":::
+
+1. The **Choose virtual network** page appears, showing all virtual networks in the subscription that are in the same region as the lab. Select the virtual network you want to add.
+
+ :::image type="content" source="./media/devtest-lab-configure-vnet/choose-virtual-network.png" alt-text="Screenshot that shows the Choose virtual network page with a list of virtual networks.":::
+
+1. The virtual network you chose shows on the **Virtual network** page. Select **Save**.
- ![Subnet list](./media/devtest-lab-configure-vnet/lab-settings-vnets-vnet2.png)
-
- The Lab Subnet pane is displayed.
+1. The virtual network appears in the list on the lab's **Virtual networks** page. When the **Status** shows as **Ready**, select the new virtual network.
- ![Lab subnet pane](./media/devtest-lab-configure-vnet/lab-subnet.png)
-
- - Specify a **Lab subnet name**.
- - To allow a subnet to be used in lab VM creation, select **Use in virtual machine creation**.
- - To enable a [shared public IP address](devtest-lab-shared-ip.md), select **Enable shared public IP**.
- - To allow public IP addresses in a subnet, select **Allow public IP creation**.
- - In the **Maximum virtual machines per user** field, specify the maximum VMs per user for each subnet. If you want an unrestricted number of VMs, leave this field blank.
-1. Select **OK** to close the Lab Subnet pane.
-1. Select **Save** to close the Virtual network pane.
+ :::image type="content" source="./media/devtest-lab-configure-vnet/lab-subnet.png" alt-text="Screenshot that shows the added virtual network on the lab's Virtual networks page.":::
-Now that the virtual network is configured, it can be selected when creating a VM.
- To see how to create a VM and specify a virtual network, refer to the article, [Add a VM to a lab](devtest-lab-add-vm.md).
+1. The **Virtual network** page shows the subnets for the virtual network. Select a subnet to configure.
-Azure's [Virtual Network Documentation](../virtual-network/index.yml) provides more information about how to use VNets, including how to set up and manage a VNet and connect it to your on-premises network.
+1. On the **Lab Subnet** pane, select **Yes** or **No** under the following options:
+ - **Use in virtual machine creation** to allow or disallow VM creation in the subnet.
+ - **Enable shared public IP** to enable or disable a [shared public IP address](devtest-lab-shared-ip.md).
+ - **Allow public IP creation** to allow or disallow creating public IP addresses in the subnet.
+
+1. Under **Maximum virtual machines per user**, enter the maximum number of VMs each user can create in the subnet. If you don't want to restrict the number of VMs, leave this field blank.
+
+1. Select **Save**.
+
+ :::image type="content" source="./media/devtest-lab-configure-vnet/lab-settings-vnets-vnet2.png" alt-text="Screenshot that shows the settings for the Lab subnet pane.":::
+
+1. On the **Virtual network** page, select **Save** again.
+
+## Create VMs in a virtual network
+
+If you allowed VM creation in one of the subnets, you can now create lab VMs in the added virtual network.
+
+1. Follow the instructions at [Create and add virtual machines](devtest-lab-add-vm.md) to add a lab VM and select a VM base.
+1. On the **Create lab resource** screen, select the **Advanced settings** tab.
+1. Select the drop-down arrow in the **Virtual network** field, and select the virtual network you added.
+1. If necessary, select the drop-down arrow in the **Subnet Selector** field, and select the subnet you want.
+1. Proceed with VM creation.
## Next steps
-Once you have added the desired virtual network to your lab, the next step is to [add a VM to your lab](devtest-lab-add-vm.md).
+
+- For more information about how to set up, use, and manage virtual networks, see the [Azure virtual network documentation](/azure/virtual-network).
+- You can deploy [Azure Bastion](https://azure.microsoft.com/services/azure-bastion) in a new or existing virtual network to enable browser connection to your lab VMs. For more information, see [Enable browser connection to DevTest Labs VMs with Azure Bastion](enable-browser-connection-lab-virtual-machines.md).
devtest-labs Devtest Lab Create Custom Image From Vm Using Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-create-custom-image-from-vm-using-portal.md
Title: Create an Azure DevTest Labs custom image from a VM
-description: Learn how to create a custom image in Azure DevTest Labs from a provisioned VM using the Azure portal
+ Title: Create a custom image from a lab VM
+description: Learn how to create a custom image from a provisioned virtual machine in Azure DevTest Labs by using the Azure portal.
Previously updated : 06/26/2020 Last updated : 02/15/2022 # Create a custom image from a VM
+In this article, you learn how to create a custom image from a provisioned Azure DevTest Labs virtual machine (VM).
+ [!INCLUDE [devtest-lab-custom-image-definition](../../includes/devtest-lab-custom-image-definition.md)]
+The custom image includes the OS disk and all the data disks attached to the VM. Lab users can use the custom image to create identical provisioned lab VMs.
+ ## Step-by-step instructions
-You can create a custom image from a provisioned VM, and afterwards use that custom image to create identical VMs. The following steps illustrate how to create a custom image from a VM:
+To create a custom image from a lab VM, take the following steps:
-1. Sign in to the [Azure portal](https://go.microsoft.com/fwlink/p/?LinkID=525040).
+1. In the [Azure portal](https://go.microsoft.com/fwlink/p/?LinkID=525040), on your lab's **Overview** page, select the VM to use for the image from the **My virtual machines** list.
-1. Select **All services**, and then select **DevTest Labs** from the list.
+ :::image type="content" source="./media/devtest-lab-create-custom-image-vm/overview-page.png" alt-text="Screenshot that shows a V M selected on a lab's Overview page.":::
-1. From the list of labs, select the desired lab.
+1. On the VM's **Overview** page, select **Create custom image** under **Operations** in the left navigation.
-1. On the lab's main pane, select **My virtual machines**.
-
-1. On the **My virtual machines** pane, select the VM from which you want to create the custom image.
+1. On the **Create custom image** page, enter a **Name** and optional **Description** for the custom image.
-1. On the VM's management pane, select **Create custom image** under **OPERATIONS**.
+1. Under **Image preparation**, select one of the following options:
- :::image type="content" source="./media/devtest-lab-create-template/create-custom-image.png" alt-text="Create custom image menu item":::
-1. On the **Custom image** pane, enter a name and description for your custom image. This information is displayed in the list of bases when you create a VM. The custom image will include the OS disk and all the data disks attached to the virtual machine.
+ - **I have not generalized this virtual machine** if you haven't run [sysprep](/windows-hardware/manufacture/desktop/sysprep--system-preparation--overview) and don't want to run sysprep on the VM when creating the custom image.
+ - **I have already generalized this virtual machine** if you already ran sysprep on the VM.
+ - **Generalize this virtual machine (Run sysprep)** if you haven't run sysprep and you want sysprep to be run on the VM when creating the custom image.
- :::image type="content" source="./media/devtest-lab-create-template/create-custom-image-blade.png" alt-text="Create custom image page":::
-1. Select whether sysprep was run on the VM. If the sysprep was not run on the VM, specify whether you want sysprep to be run on the VM when the custom image is created.
-1. Select **OK** when finished to create the custom image.
+1. Select **OK**.
- After a few minutes, the custom image is created and is stored inside the labΓÇÖs storage account. When a lab user wants to create a new VM, the image is available in the list of base images.
+ :::image type="content" source="./media/devtest-lab-create-custom-image-vm/create-custom-image.png" alt-text="Screenshot that shows the Create custom image selection on a V M's Overview page.":::
- :::image type="content" source="./media/devtest-lab-create-template/custom-image-available-as-base.png" alt-text="custom image available in list of base images":::
+The custom image is created and stored in the lab's storage account. The image is now available in the list of base images for creating a new lab VM.
## Next steps - [Add a VM to your lab](devtest-lab-add-vm.md)
+- [Create a custom image from a VHD file](devtest-lab-create-template.md)
+- [Compare custom images and formulas in DevTest Labs](devtest-lab-comparing-vm-base-image-types.md)
+- [Create a custom image factory in Azure DevTest Labs](image-factory-create.md)
devtest-labs Devtest Lab Developer Lab https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-developer-lab.md
- Title: Use Azure DevTest Labs for developers
-description: Learn about Azure DevTest Labs features that can be used to meet developer requirements and the detailed steps that you can follow to set up a lab.
- Previously updated : 12/10/2021--
-# Use Azure DevTest Labs for developers
-Azure DevTest Labs can be used to implement many key scenarios, but one of the primary scenarios involves using DevTest Labs to host development machines for developers. In this scenario, DevTest Labs provides these benefits:
--- Developers can quickly provision their development machines on demand.-- Developers can easily customize their development machines whenever needed.-- Administrators can control costs by ensuring that:
- - Developers cannot get more VMs than they need for development.
- - VMs are shut down when not in use.
-
-![Use DevTest Labs for training](./media/devtest-lab-developer-lab/devtest-lab-developer-lab.png)
-
-In this article, you learn about various Azure DevTest Labs features that can be used to meet developer requirements and the detailed steps that you can follow to set up a lab.
-
-## Implementing developer environments with Azure DevTest Labs
-1. **Create the lab**
-
- Labs are the starting point in Azure DevTest Labs. Once you create a lab, you can perform tasks such as adding users (developers) to the lab, setting policies to control costs, defining VM images that can create quickly, and more.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Create a lab in Azure DevTest Labs](devtest-lab-create-lab.md) |Learn how to create a lab in Azure DevTest Labs in the Azure portal. |
-2. **Create VMs in minutes using ready-made marketplace images and custom images**
-
- You can pick ready-made images from a wide variety of images in the Azure Marketplace and make them available in the lab. If the ready-made images don't meet your requirements, you can create a custom image by creating a lab VM using a ready-made image from Azure Marketplace, installing all the software that you need, and saving the VM as a custom image in the lab.
-
- If you will be using custom images, consider using an image factory to create and distribute your images. An image factory is a configuration-as-code solution that regularly builds and distributes your configured images automatically. This saves the time required to manually configure the system after a VM has been created with the base OS.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Configure Azure Marketplace images](devtest-lab-configure-marketplace-images.md) |Learn how you can allow Azure Marketplace images, making available for selection only the images you want for the developers.|
- | [Create a custom image](devtest-lab-create-template.md) |Create a custom image by pre-installing the software you need so that developers can quickly create a VM using the custom image.|
-
-3. **Create reusable templates for developer machines**
-
- A formula in Azure DevTest Labs is a list of default property values used to create a VM. You can create a formula in the lab by picking an image, a VM size (a combination of CPU and RAM), and a virtual network. Each developer can see the formula in the lab and use it to create a VM.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Manage DevTest Labs formulas to create VMs](devtest-lab-manage-formulas.md) |Learn how you can create a formula by picking up an image, VM size (combination of CPU and RAM), and a virtual network.|
-
-4. **Create artifacts to enable flexible VM customization**
-
- Artifacts are used to deploy and configure your application after a VM is provisioned. Artifacts can be:
-
- - Tools that you want to install on the VM - such as agents, Fiddler, and Visual Studio.
- - Actions that you want to run on the VM - such as cloning a repo.
- - Applications that you want to test.
-
- Many artifacts are already available out-of-the-box. You can create your own custom artifacts if you want more customization for your specific needs.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Create custom artifacts for your DevTest Labs VM](devtest-lab-artifact-author.md) |Create your own custom artifacts for the virtual machines in your lab.|
- | [Add a Git repository to store custom artifacts and Azure Resource Manager templates for use in Azure DevTest Labs](devtest-lab-add-artifact-repo.md) |Learn how to store your custom artifacts in your own private Git repo.|
-
-5. **Control costs**
-
- Azure DevTest Labs allows you to set a policy in the lab to specify the maximum number of VMs that can be created by a developer in the lab.
-
- If your developer team has a set work schedule and you want to stop all the VMs at a particular time of the day and then automatically restart them the following day, you can easily accomplish that by setting auto-shutdown and auto-start policies in the lab.
-
- Finally, when app development is complete, you can delete all the VMs at once by running a single PowerShell script.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Define lab policies](devtest-lab-set-lab-policy.md) |Control costs by setting policies in the lab. |
- | [Delete all the lab VMs using a PowerShell script](./devtest-lab-faq.yml) |Delete all the labs in one operation when development is complete.|
-
-1. **Add a virtual network to a VM**
-
- DevTest Labs creates a new virtual network (VNET) whenever a lab is created. If you have configured your own VNET ΓÇô for example, by using ExpressRoute or site-to-site VPN ΓÇô you can add this VNET to your lab's virtual network settings so that it is available when creating VMs.
-
- In addition, there is an Active Directory domain join artifact available that will join a VM to a domain when the VM is being created.
-
- > [!Important]
- > Only Domain join is supported.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Configure a virtual network in Azure DevTest Labs](devtest-lab-configure-vnet.md) |Learn how to configure a virtual network in Azure DevTest Labs using the Azure portal.|
-
-6. **Share the lab with each developer**
-
- Labs can be directly accessed using a link that you share with your developers. They don't even have to have an Azure account, as long as they have a [Microsoft account](./devtest-lab-faq.yml). Developers cannot see VMs created by other developers.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Add a developer to a lab in Azure DevTest Labs](devtest-lab-add-devtest-user.md) |Use the Azure portal to add developers to your lab.|
- | [Add developers to the lab using a PowerShell script](devtest-lab-add-devtest-user.md#add-an-external-user-to-a-lab-using-powershell) |Use PowerShell to automate adding developers to your lab. |
- | [Get a link to the lab](./devtest-lab-faq.yml) |Learn how developers can directly access a lab via a hyperlink.|
-
-7. **Automate lab creation for more teams**
-
- You can automate lab creation, including custom settings, by creating a Resource Manager template and using it to create identical labs again and again.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Create a lab using a Resource Manager template](./devtest-lab-faq.yml) |Create labs in Azure DevTest Labs using Resource Manager templates. |
-
devtest-labs Devtest Lab Guidance Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-guidance-get-started.md
Title: Popular scenarios for using Azure DevTest Labs
-description: This article provides the primary scenarios for using Azure DevTest Labs and two general paths to start using the service in your organization.
+description: This article describes primary Azure DevTest Labs scenarios, and how an organization can begin exploring DevTest Labs.
Previously updated : 06/20/2020 Last updated : 02/03/2022
-# Popular scenarios for using Azure DevTest Labs
-Depending on the needs of an enterprise, DevTest Labs can be configured to meet different requirements. This article discusses the popular scenarios. Each scenario covers benefits brought by using DevTest Labs and resources to use to implement those scenarios.
+# Azure DevTest Labs scenarios
-- Developer desktops-- Test environments-- Training sessions, hands-on labs, and hackathons-- Sandboxed investigations-- Classroom labs
+This article discusses how to use Azure DevTest Labs for several different development, test, and training scenarios. Here are some popular DevTest Labs scenarios:
-## Developer desktops
-Developers often have different requirements for development machines for different projects. With DevTest Labs, developers can have access to on-demand virtual machines that are configured to suit their most common scenarios. DevTest Labs provides the following benefits:
+- Developers need many, sometimes different virtual machines (VMs) and environments as they iterate on apps.
+- Testers use many identical or different VMs and environments for performance testing and sandboxed investigations.
+- Teachers and trainers periodically need new classroom, lab, and hackathon VMs and environments.
-- Organizations can provide common development machines ensuring consistency across teams.-- Developers can quickly provision their development machines on demand or [claim an existing pre-configured machine](devtest-lab-add-claimable-vm.md).-- Developers can provision resources in a self-service way without needing subscription-level permissions.-- IT or admins can [pre-define the networking topology](devtest-lab-configure-vnet.md) and developers can directly use it in a simple and intuitive way without requiring any special access.-- Developers can easily [customize](devtest-lab-add-vm.md#add-artifacts-after-installation) their development machines as needed.-- Administrators can control costs by ensuring that:
- - Developers [can't get more VMs](devtest-lab-set-lab-policy.md#set-virtual-machines-per-user) than they need for development
- - [VMs are shut down](devtest-lab-set-lab-policy.md#set-auto-shutdown) when not in use
- - Only [allowing a subset of VM instance sizes](devtest-lab-set-lab-policy.md#set-allowed-virtual-machine-sizes) for the specific labs
- - [Managing cost targets and notifications](devtest-lab-configure-cost-management.md) for each lab.
+The following sections describe how DevTest Labs supports these scenarios, while helping lab owners and administrators control lab access and costs.
-For further reading, see [Use Azure DevTest Labs for developers](devtest-lab-developer-lab.md).
+## Lab creation
-## Test environments
-Creating and managing test environments across an enterprise can require a significant effort. With DevTest Labs, test environments can be easily created, updated, or duplicated. It allows teams to access a fully configured environment when itΓÇÖs needed. In this scenario, DevTest Labs provides the following benefits:
+Labs are the starting point in DevTest Labs. After you create a lab, you can:
-- Organizations can provide common testing environments ensuring consistency across teams.-- Testers can test the latest version of their application by quickly provisioning Windows and Linux environments by using reusable templates.-- Administrators can connect the lab to Azure DevOps to enable DevOps scenarios-- Lab Owners can control costs by ensuring that:
- - [VMs in environments are shut down](devtest-lab-set-lab-policy.md#set-auto-shutdown) when not in use
- - Only [allowing a subset of VM instance sizes for](devtest-lab-set-lab-policy.md#set-allowed-virtual-machine-sizes) the specific labs
- - [Managing cost targets and notifications](devtest-lab-configure-cost-management.md) for each lab.
+- Add lab users.
+- Create preconfigured VMs that any lab user can claim.
+- Define images, formulas, and templates for lab users to quickly create their own VMs and environments.
+- Use [configuration and policies](devtest-lab-set-lab-policy.md) to manage the lab and control costs.
+- [Integrate with Azure DevOps](devtest-lab-dev-ops.md) to support DevOps scenarios.
+- Link to public and private Git repositories for access to artifacts and ARM templates.
-For more information, see [Use Azure DevTest Labs for VM and PaaS test environments](devtest-lab-test-env.md).
+The following diagram shows how lab owners can configure policies and provide resources for lab users:
-## Sandboxed investigations
-Developers often investigate different technologies or infrastructure design. By default, all environments created with DevTest Labs are created in their own resource group. The DevTest Labs user gets only read access to those resources. However, for developers who need more control, a lab-wide setting can be updated to give [contributor rights](https://azure.microsoft.com/updates/azure-devtest-labs-view-and-set-access-rights-to-an-environment-rg/) to the originating DevTest Labs user for every environment they create. With DevTest Labs, developers can be given contributor permission automatically to environments that they create in the lab. This scenario allows developers to add and/or change Azure resources as they need for their development or test environments. The [cost by resource](devtest-lab-configure-cost-management.md#view-cost-by-resource) page allows Lab Owners to track the cost of each environment used for investigations.
+![Diagram that shows a lab owner configuring policies and providing resources for lab users.](media/devtest-lab-training-lab/devtest-lab-training.png)
-For more information, see [Set access rights to an environment resource group](https://aka.ms/dtl-sandbox).
+To create a lab in the Azure portal, see [Create a lab in Azure DevTest Labs](devtest-lab-create-lab.md).
-## Trainings, hands-on labs, and hackathons
-A lab in Azure DevTest Labs acts as a great container for transient activities like workshops, hands-on labs, trainings, or hackathons. The service allows you to create a lab where you can provide custom templates that each trainee can use to create identical and isolated environments for training. In this scenario, DevTest Labs provides the following benefits:
+You can also automate lab creation, including custom settings, with a reusable *Azure Resource Manager (ARM) template*. For more information, see [Create a lab by using a Resource Manager template](./devtest-lab-faq.yml#how-do-i-create-a-lab-from-a-resource-manager-template-).
-- [Policies](devtest-lab-set-lab-policy.md) ensure trainees only get the number of resources, such as virtual machines, that they need.-- Pre-configured and created machines are [claimed](devtest-lab-add-claimable-vm.md) with single action from trainee.-- Labs are shared with trainees by accessing [URL for the lab](/azure/devtest-labs/devtest-lab-faq#how-do-i-share-a-direct-link-to-my-lab).-- [Expiration dates](devtest-lab-add-vm.md#create-and-add-virtual-machines) on virtual machines ensure that machines are deleted after they are no longer needed.-- ItΓÇÖs easy to [delete a lab](devtest-lab-delete-lab-vm.md#delete-a-lab) and all [related resources](/azure/devtest-labs/devtest-lab-faq#how-do-i-automate-the-process-of-deleting-all-the-vms-in-my-lab) when the training is over.
+### Add a virtual network to a lab
-For more information, see [Use Azure DevTest Labs for training](devtest-lab-training-lab.md).
+DevTest Labs creates a new virtual network for each lab. If you have another virtual network configured with Azure ExpressRoute or site-to-site VPN, you can add it to your lab. You can then use that virtual network for creating lab VMs. For more information, see [Configure a virtual network in Azure DevTest Labs](devtest-lab-configure-vnet.md).
-## Proof of concept vs. scaled deployment
-Once you decide to explore DevTest Labs, there are two general paths forward: Proof of Concept vs Scaled Deployment.
+### Add users to labs
-A **scaled deployment** consists of weeks/months of reviewing and planning with an intent of deploying DevTest Labs to the entire enterprise that has hundreds or thousands of developers.
+Lab owners can add users to labs by using the Azure portal or a PowerShell script. For more information, see [Add lab owners, contributors, and users in Azure DevTest Labs](devtest-lab-add-devtest-user.md). Lab users don't need an Azure account, as long as they have a Microsoft account.
-A **proof of concept** deployment focuses on a concentrated effort from a single team to establish organizational value. While it can be tempting to think of a scaled deployment, the approach tends to fail more often than the proof of concept option. Therefore, we recommend that you start small, learn from the first team, repeat the same approach with two to three additional teams, and then plan for a scaled deployment based on the knowledge gained. For a successful proof of concept, we recommend that you pick one or two teams, and identify their scenarios (dev environment vs test environments), document their current use cases, and deploy DevTest Labs.
+Lab users can view all lab resources, such as VMs, policies, and virtual networks. Lab users can't modify policies, or access VMs that other users create or claim.
+
+### Configure lab policies to control costs
+
+To monitor and control costs, lab administrators and owners can:
+
+- [Limit the number of VMs each user can create or claim](devtest-lab-set-lab-policy.md#set-virtual-machines-per-user).
+- Allow only certain [VM sizes](devtest-lab-set-lab-policy.md#set-allowed-virtual-machine-sizes) in the lab.
+- Configure [auto-shutdown](devtest-lab-set-lab-policy.md#set-auto-shutdown) and auto-start policies to stop and restart all VMs at particular times of day. VM auto-shutdown doesn't apply to PaaS resources in environments.
+- [Manage cost targets and notifications](devtest-lab-configure-cost-management.md).
+- Use the [cost by resource](devtest-lab-configure-cost-management.md#view-cost-by-resource) page to track costs of environments.
+
+## Development and test VMs
+
+Developers and testers might need many identical VMs for performance or load testing, or need different types of VMs for different projects or iterations. DevTest Labs users can create, configure, and access VMs on demand to meet their needs. Starting with common VM images promotes consistency across teams.
+
+In DevTest Labs, developers can:
+
+- Quickly provision VMs on demand, or [claim existing preconfigured VMs](devtest-lab-add-claimable-vm.md).
+- Self-service their own VMs without needing subscription-level permissions.
+- Directly use [virtual networks](devtest-lab-configure-vnet.md) that lab owners and admins set up, without needing special permissions.
+- Easily customize their VMs by [adding artifacts](devtest-lab-add-vm.md#add-artifacts-after-installation) as needed.
+
+### Create VMs
+
+Lab users can create lab VMs in minutes by choosing from a wide variety of ready-made Azure Marketplace images. To learn about making selected Marketplace images available for lab users, see [Configure Azure Marketplace images](devtest-lab-configure-marketplace-images.md).
+
+Lab owners can also install needed software on a VM, save the VM as a *custom image*, and make the image available in the lab. Lab users can use the custom image to create VMs that have the software preinstalled. For more information, see [Create a custom image](devtest-lab-create-custom-image-from-vm-using-portal.md).
+
+You can use an *image factory* to automatically build and distribute your custom images on a regular basis. This configuration-as-code solution eliminates the need to manually maintain VM images, by keeping the base OS and components up to date. For more information, see [Create a custom image factory](image-factory-create.md).
+
+### Use reusable formulas for VMs
+
+A DevTest Labs *formula* is a list of default property values for VMs. A lab owner can create a formula in the lab by picking a VM image, a VM size based on CPU and RAM, and a virtual network. Lab users can see the formula and use it to create VMs. For more information, see [Manage DevTest Labs formulas](devtest-lab-manage-formulas.md).
+
+### Use artifacts for VM customization
+
+Lab users can add *artifacts* to configure their lab VMs. Artifacts can be:
+
+- Tools to install on the VM, like agents, Fiddler, or Visual Studio.
+- Actions to run on the VM, like cloning a repo.
+- Applications to test.
+
+Many artifacts are available out-of-the-box. You can also create *custom artifacts* if you need more customization. You store custom artifacts in a private Git repo you connect to your lab, so all lab users can add the artifacts to their VMs. For more information, see [Create custom artifacts for DevTest Labs](devtest-lab-artifact-author.md) and [Add an artifact repository to a lab](add-artifact-repository.md).
+
+You can add an Active Directory domain-join artifact to join VMs to an Active Directory domain at creation. This artifact applies only to domains.
+
+## Multi-VM environments
+
+Many development and test scenarios require multi-VM *environments* equipped with platform-as-a-service (PaaS) resources. Examples include Azure Web Apps, SharePoint farms, and Service Fabric clusters. Creating and managing environments across an enterprise can require significant effort.
+
+With DevTest Labs, teams can easily create, update, or duplicate multi-VM environments. Developers can use fully configured environments to develop and test the latest versions of their apps. DevTest Labs environments ensure consistency across teams.
+
+By using ARM templates to deploy environments, you can:
+
+- Repeatedly deploy multiple preconfigured VMs in a consistent state.
+- Define infrastructure and configuration for Windows or Linux environments.
+- Provision Azure PaaS resources and track their costs.
+
+For more information, see [Use ARM templates to create DevTest Labs environments](devtest-lab-create-environment-from-arm.md).
+
+### Give users Contributor rights to environment resources
+
+By default, DevTest Labs creates environments in their own resource groups, and DevTest Labs users get only read access to those environments. With read-only access, users can't add or change resources in their environments. But developers often need to investigate different technologies or infrastructure designs.
+
+Lab owners can allow users more control by giving them Contributor rights to the environments they create. Contributors can add or change Azure resources as necessary in their development or test environments. For more information, see [Configure environment user rights](devtest-lab-create-environment-from-arm.md#configure-environment-user-rights).
+
+## Classroom, training, and hackathon labs
+
+DevTest Labs is well-suited for transient activities like workshops, hands-on labs, training, or hackathons. In these scenarios:
+
+- Training leaders or lab owners can use custom templates to create identical, isolated VMs or environments.
+- Trainees can [access the lab by using a URL](./devtest-lab-faq.yml#how-do-i-share-a-direct-link-to-my-lab-).
+- Trainees can claim already-created, preconfigured machines with a single action.
+- Lab owners can control lab costs and lifespan by:
+ - Configuring policies.
+ - Setting VM expiration dates.
+ - Deleting VMs and labs when the activity is over.
+
+### Delete labs and VMs
+
+Lab owners can manage costs by deleting labs and VMs when they're no longer needed.
+
+- Set [expiration dates](devtest-lab-set-lab-policy.md#set-expiration-date) on VMs.
+- [Delete labs](devtest-lab-delete-lab-vm.md#delete-a-lab) and all related resources.
+- [Delete all lab VMs by running a single PowerShell script](./devtest-lab-faq.yml#how-do-i-automate-the-process-of-deleting-all-the-vms-in-my-lab-).
+
+## Proof of concept and scaled deployments
+
+To start exploring DevTest Labs, organizations can use [proof of concept](deliver-proof-concept.md) and [scaled deployments](devtest-lab-guidance-scale.md).
+
+- Proof of concept uses a concentrated effort from a single team to establish organizational value.
+- A scaled deployment uses weeks or months of reviewing and planning to deploy DevTest Labs to an enterprise with hundreds or thousands of developers.
+
+While an immediate scaled deployment sounds tempting, this approach often fails without a proof of concept. It's best to start small, learn from a single team, repeat the same approach with a few more teams, and then plan a scaled deployment based on the knowledge gained.
+
+For a successful proof of concept:
+
+1. Pick one or two teams.
+1. Identify the teams' scenarios, such as developer VMs or test environments.
+1. Document current use cases.
+1. Deploy DevTest Labs to fulfill the teams' scenarios and use cases.
## Next steps
-Read the following articles:
- [DevTest Labs concepts](devtest-lab-concepts.md) - [DevTest Labs FAQ](devtest-lab-faq.yml)+
devtest-labs Devtest Lab Resize Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-resize-vm.md
Title: Resize a VM in a lab
-description: Learn how to change the size of a virtual machine (VM) in Azure DevTest Labs based on your needs for CPU, network, or disk performance.
+ Title: Stop and resize lab VMs
+description: Learn how to change the size of a virtual machine (VM) in Azure DevTest Labs based on changing needs for CPU, network, or disk performance.
Previously updated : 06/26/2020 Last updated : 02/15/2022
-# Resize a VM in a lab in Azure DevTest Labs
-One of the important features of Azure virtual machines is that it lets you change the size of a virtual machine (VM) based on your needs for CPU, network, or disk performance. Azure DevTest Labs supports this feature for VMs in a lab now. The resize feature adheres to the lab policy for allowed VM sizes in the lab. That is, you can change the size of a VM to only allowed sizes in the lab.
+# Resize a lab VM in Azure DevTest Labs
-
-## Steps to resize a VM in a lab
-To resize a VM in a lab in Azure DevTest Labs, take the following steps:
+Azure DevTest Labs supports changing the size of a lab virtual machine (VM), based on changing needs for CPU, network, or disk performance. This article describes how to resize a lab VM.
> [!NOTE]
-> If you are connected to the VM via a remote desktop session (RDP), save your work, and disconnect from the VM before resizing it.
+> The resize feature complies with lab policy for [allowed VM sizes](devtest-lab-set-lab-policy.md#set-allowed-virtual-machine-sizes). You can resize a VM only to sizes that lab policy allows.
+
+## Stop the VM
+
+To avoid losing work, disconnect from and stop the VM before resizing it.
+
+1. If you're connected to the VM through secure shell (SSH) or remote desktop session (RDP), save your work and disconnect from the VM.
+
+1. In the [Azure portal](https://go.microsoft.com/fwlink/p/?LinkID=525040), on your lab's **Overview** page, select the VM you want to resize from the list under **My virtual machines**.
+
+ :::image type="content" source="./media/devtest-lab-resize-vm/overview-page.png" alt-text="Screenshot that shows a V M selected on a lab's Overview page.":::
+
+1. On the VM's **Overview** page, select **Stop** on the toolbar.
-1. Sign in to the [Azure portal](https://portal.azure.com).
-2. Select **All Services**, and then select **DevTest Labs** from the list.
-3. From the list of labs, select the lab that includes the VM you want to resize.
-4. In the left panel, select **My Virtual Machines**.
-5. From the list of VMs, select a VM.
-6. Select **Stop** on the toolbar if the VM is running. Check the status of the operation in the **Notifications** window. Wait until the VM is stopped and then close the **Notifications** window.
+ :::image type="content" source="./media/devtest-lab-resize-vm/stop-vm.png" alt-text="Screenshot that shows selecting Stop on the Overview page for a V M.":::
- ![Stop the VM](media/devtest-lab-resize-vm/stop-vm.png)
-1. In the Virtual Machine page for your VM, select **Size** under **SETTINGS** in the left menu.
+Once the VM stops, or if the VM is already stopped, **Stop** is grayed out.
- ![Size menu](media/devtest-lab-resize-vm/size-menu.png)
-1. In the **Choose a size** window, browse and select a size for your VM, and click **Select**.
-1. Check the status of the resize operation in the **Notifications** window.
+## Resize the VM
- ![Resize status](media/devtest-lab-resize-vm/resize-status.png)
-10. After the resize operation succeeds, close the **Notifications** window.
-11. Select **Overview** in the left menu, and select **Restart** on the toolbar to restart the VM.
+1. On the VM's **Overview** page, select **Size** under **Settings** in the left navigation.
+
+ :::image type="content" source="./media/devtest-lab-resize-vm/size-menu.png" alt-text="Screenshot that shows selecting Size in the V M's left navigation.":::
+
+1. On the **Select a VM size** screen, select a new size for your VM, and then select **Select**.
+
+ :::image type="content" source="./media/devtest-lab-resize-vm/select-size.png" alt-text="Screenshot that shows selecting a V M size.":::
+
+ You can check the status of the resize operation in the **Notifications** window.
+
+ :::image type="content" source="./media/devtest-lab-resize-vm/resize-status.png" alt-text="Screenshot of the Notifications window that shows resizing status.":::
+
+1. When the resize finishes, start the VM by selecting **Start** from the VM's **Overview** page toolbar.
## Next steps
-For detailed information about the resize feature supported by Azure virtual machines, see [Resize virtual machines](https://azure.microsoft.com/blog/resize-virtual-machines/).
+
+For more information about the resize feature for Azure VMs, see [Resize virtual machines](https://azure.microsoft.com/blog/resize-virtual-machines/).
devtest-labs Devtest Lab Set Lab Policy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-set-lab-policy.md
Title: Manage lab policies
+ Title: Control costs with lab policies
description: Learn how to define lab policies such as VM sizes, maximum VMs per user, and shutdown automation. Previously updated : 06/26/2020 Last updated : 02/14/2022
-# Manage all policies for a lab in Azure DevTest Labs
+# Manage lab policies to control costs in Azure DevTest Labs
-Azure DevTest Labs lets you control cost and minimizes waste in your labs by managing policies (settings) for each lab. This article explains in step-by-step detail how to set each policy.
+This article describes how you can manage Azure DevTest Labs policies to control lab costs and minimize waste. Lab policies you can set to control costs include:
-## Set allowed virtual machine sizes
-The policy for setting the allowed VM sizes helps to minimize lab waste by enabling you to specify which VM sizes are allowed in the lab. If this policy is activated, only VM sizes from this list can be used to create VMs.
+- Allowed virtual machine (VM) sizes
+- Maximum VMs per user
+- Maximum VMs per lab
+- Auto-shutdown settings
+- Auto-shutdown policy settings
+- Autostart settings
+
+## Access lab Configuration and policies
-1. In the [Azure portal](https://go.microsoft.com/fwlink/p/?LinkID=525040), select a lab and then select **Configuration and policies**.
+1. In the [Azure portal](https://go.microsoft.com/fwlink/p/?LinkID=525040), on the **Overview** page for your lab, select **Configuration and policies** from the left navigation.
- ![Access the lab's configuration and policies](./media/devtest-lab-set-lab-policy/policies-menu.png)
+ :::image type="content" source="./media/devtest-lab-set-lab-policy/configuration-policies-menu.png" alt-text="Screenshot that shows the Configuration and policies menu for a lab.":::
-1. On the lab's **Configuration and policies** pane, select **Allowed virtual machines sizes**.
+1. On the **Configuration and policies** page, select the policy you want to configure from the left navigation.
- ![Allowed virtual machines sizes](./media/devtest-lab-set-lab-policy/allowed-vm-sizes.png)
+ :::image type="content" source="./media/devtest-lab-set-lab-policy/policies-menu.png" alt-text="Screenshot that shows a lab's Configuration and Policies options.":::
-1. Select **On** to enable this policy, and **Off** to disable it.
+## Set allowed virtual machine sizes
-1. If you enable this policy, select one or more VM sizes that can be created in your lab.
+This policy specifies the VM sizes that users can create in the lab.
+
+1. On the lab's **Configuration and policies** page, select **Allowed virtual machines sizes** from the left navigation.
+
+1. On the **Allowed virtual machines sizes** screen, select **Yes** or **No** to enable or disable the policy.
+
+1. If you enable the policy, select the VM sizes to allow in the lab.
1. Select **Save**.
+ :::image type="content" source="./media/devtest-lab-set-lab-policy/allowed-vm-sizes.png" alt-text="Screenshot showing Allowed virtual machines sizes.":::
+ ## Set virtual machines per user
-The policy for **Virtual machines per user** lets you specify the number of VMs that can be created by an individual user. If a user tries to create or claim a VM when the user limit has been met, an error message indicates that the VM cannot be created/claimed.
-1. On the lab's **Configuration and policies** pane, select **Virtual machines per user**.
-
- ![Virtual machines per user](./media/devtest-lab-set-lab-policy/max-vms-per-user.png)
+This policy specifies the maximum number of VMs that an individual lab user can own.
+
+1. On the lab's **Configuration and policies** page, select **Virtual machines per user** from the left navigation.
-1. Select **Yes** to limit the number of VMs per user. If you do not want to limit the number of VMs per user, select **No**. If you select **Yes**, enter a numeric value indicating the number of VMs that can be created or claimed by a user.
+1. On the **Virtual machines per user** screen, under **Limit the number of virtual machines**, select **On** or **Off** to enable or disable the policy.
-1. Select **Yes** to limit the number of VMs that can use SSD (solid-state disk). If you do not want to limit the number of VMs that can use SSD, select **No**. If you select **Yes**, enter a value indicating the number of VMs that can be created using SSD.
+1. If you enable the policy, under **What is the limit**, enter the maximum number of VMs that a user can own.
+
+1. Under **Limit the number of virtual machines using premium OS disks**, select **On** or **Off** to enable or disable limiting the number of a user's VMs that use premium solid-state disks (SSDs).
+
+1. If you selected **On**, enter the maximum number of VMs using premium disks that a user can own.
+
+ > [!NOTE]
+ > This policy applies only to Premium SSDs. The limitation doesn't apply to Standard SSDs.
1. Select **Save**.
+ :::image type="content" source="./media/devtest-lab-set-lab-policy/max-vms-per-user.png" alt-text="Screenshot showing Virtual machines per user.":::
+
+If a user tries to create or claim a VM when the user limit has been met, an error message indicates that the user can't exceed their VM limit.
++ ## Set virtual machines per lab
-The policy for **Virtual machines per lab** lets you specify the number of VMs that can be created for the current lab. If a user tries to create a VM when the lab limit has been met, an error message indicates that the VM cannot be created.
-1. On the lab's **Configuration and policies** pane, select **Virtual machines per lab**.
-
- ![Virtual machines per lab](./media/devtest-lab-set-lab-policy/max-vms-per-lab.png)
+This policy specifies the maximum number of VMs that all users can create or claim in the current lab.
+
+1. On the lab's **Configuration and policies** page, select **Virtual machines per lab** from the left navigation.
+
+1. On the **Virtual machines per user** screen, under **Limit the number of virtual machines**, select **On** or **Off** to enable or disable the policy.
-1. Select **Yes** to limit the number of VMs per lab. If you do not want to limit the number of VMs per lab, select **No**. If you select **Yes**, enter a numeric value indicating the number of VMs that can be created or claimed by a user.
+1. If you enable the policy, under **What is the limit**, enter the maximum number of VMs that can be created or claimed.
-1. Select **Yes** to limit the number of VMs that can use SSD (solid-state disk). If you do not want to limit the number of VMs that can use SSD, select **No**. If you select **Yes**, enter a value indicating the number of VMs that can be created using SSD.
+1. Under **Limit the number of virtual machines using premium OS disks**, select **On** or **Off** to enable or disable limiting the number of VMs that use premium SSDs.
+
+1. If you selected **On**, enter the maximum number of VMs that can use premium disks.
1. Select **Save**.
-## Set auto shutdown
-The auto shutdown policy helps minimize lab waste by letting you specify the time that this lab's VMs shut down.
+ :::image type="content" source="./media/devtest-lab-set-lab-policy/max-vms-per-lab.png" alt-text="Screenshot showing Virtual machines per lab.":::
-1. On the lab's **Configuration and policies** pane, select **Auto shutdown**.
-
- ![Auto shutdown](./media/devtest-lab-set-lab-policy/auto-shutdown.png)
+If a user tries to create or claim a VM when the lab limit has been met, an error message indicates that the VM can't be created or claimed.
+
+## Set auto-shutdown
+
+Auto-shutdown helps minimize lab waste by shutting down lab VMs at a specific time of day.
+
+1. On the lab's **Configuration and policies** page, select **Auto-shutdown** from the left navigation.
-1. Select **On** to enable this policy, and **Off** to disable it.
+1. On the **Auto-shutdown** screen, for **Enabled**, select **On** or **Off** to enable or disable the policy.
-1. If you enable this policy, specify the time (and time zone) to shut down all VMs in the current lab.
+1. For **Scheduled shutdown** and **Time zone**, if you enabled auto-shutdown, specify the time and time zone to shut down all lab VMs.
-1. Specify **Yes** or **No** for the option to send a notification 15 minutes before the specified auto shutdown time. If you choose **Yes**, enter a webhook URL endpoint or an email address specifying where you want the notification to be posted or sent. The user receives notification and is given the option to postpone the shutdown.
+1. For **Send notification before auto-shutdown**, select **Yes** or **No** for the option to send a notification before the specified auto-shutdown time.
- For more information about webhooks, see [Create a webhook or API Azure Function](../azure-functions/functions-bindings-http-webhook.md).
+ If you choose **Yes**, enter a webhook URL endpoint under **Webhook URL** or semicolon-separated email addresses under **Email address** where you want to post or send the notification.
1. Select **Save**.
-By default, once enabled, this policy applies to all VMs in the current lab. To remove this setting from a specific VM, open the VM's management pane and change its **Auto shutdown** setting.
+ :::image type="content" source="./media/devtest-lab-set-lab-policy/auto-shutdown.png" alt-text="Screenshot showing Auto shutdown.":::
-## Set auto shutdown policy
-As a lab owner, you can configure a shutdown schedule for all the VMs in your lab. By doing so, you can save costs from running machines that aren't being used (idle). You can enforce a shutdown policy on all your lab VMs centrally but also save your lab users the effort from setting up a schedule for their individual machines. This feature enables you to set the policy on your lab schedule starting from offering no control to full control, to your lab users. As a lab owner, you can configure this policy by taking the following steps:
+By default, auto-shutdown applies to all lab VMs. If allowed by policy, lab users can override auto-shutdown settings for their individual lab VMs. To access auto-shutdown settings for individual VMs:
-1. On the home page for your lab, select **Configuration and policies**.
-2. Select **Auto shutdown policy** in the **Schedules** section of the left menu.
-3. Select one of the options. The following sections give you more details about these options: The set policy applies only to new VMs created in the lab and not to the already existing VMs.
+1. Select the VM from **My virtual machines** on the lab **Overview** page.
+1. On the home page for the VM, in the **Operations** section of the left navigation, select **Auto-shutdown**.
- ![Auto shutdown policy options](./media/devtest-lab-set-lab-policy/auto-shutdown-policy-options.png)
+For more information about auto-shutdown and sending notifications, see [Configure auto shutdown for labs and VMs in DevTest Labs](devtest-lab-auto-shutdown.md).
-### User sets a schedule and can opt out
-If you set your lab to this policy, the lab users can override or opt out of the lab schedule. This option grants lab users full control over auto shutdown schedule of their VMs. Lab users see no change in their VM auto shutdown schedule page.
+## Set auto-shutdown policy
-![Auto shutdown policy option - 1](./media/devtest-lab-set-lab-policy/auto-shutdown-policy-option-1.png)
+Lab owners can configure auto-shutdown on all lab VMs centrally, and set a policy to let lab users override the settings for their own VMs. You can set auto-shutdown policy to allow lab users full control, partial control, or no control over their own VMs' auto-shutdown activity.
-### User sets a schedule and cannot opt out
-If you set your lab to this policy, lab users can override the lab schedule. However, they can't opt out of auto shutdown policy. This option makes sure that every machine in your lab is under an auto shutdown schedule. Lab users can update auto shutdown schedule of their VMs, and set up shut down notifications.
+> [!IMPORTANT]
+> Auto-shutdown policy changes apply only to new lab VMs, not to already-existing VMs.
-![Auto shutdown policy option - 2](./media/devtest-lab-set-lab-policy/auto-shutdown-policy-option-2.png)
+1. On the lab's **Configuration and policies** page, select **Auto shutdown policy** from the left navigation.
-### User has no control over the schedule set by lab admin
-If you set your lab to this policy, lab users can't override or opt out of the lab schedule. This option offers lab admin the complete control on the schedule for every machine in the lab. Lab users can only set up auto shutdown notifications for their VMs.
+1. Select one of the following options:
-![Auto shutdown policy option - 3](./media/devtest-lab-set-lab-policy/auto-shutdown-policy-option-3.png)
+ - **User sets a schedule and can opt out**: Lab users can override or opt out of lab auto-shutdown. Lab users can override the lab schedule, and they don't have to set any auto-shutdown for their VMs.
+
+ - **User sets a schedule and cannot opt out**: Lab users can override the lab schedule for their VMs, but they can't opt out of auto-shutdown. This option ensures that every VM in the lab is on some auto-shutdown schedule.
+
+ - **User has no control over the schedule set by lab administrator**: Lab users can't override or opt out of the lab auto-shutdown schedule. Lab users can set up auto-shutdown notifications for their own VMs.
+
+1. Select **Save**.
+
+ :::image type="content" source="./media/devtest-lab-set-lab-policy/auto-shutdown-policy-options.png" alt-text="Screenshot showing Auto-shutdown policy options.":::
+
+For more information and details about auto-shutdown policy, see [Configure lab auto shutdown policy](devtest-lab-auto-shutdown.md#configure-lab-auto-shutdown-policy).
## Set autostart
-The autostart policy lets you specify when the VMs in the current lab should be started.
-1. On the lab's **Configuration and policies** pane, select **Autostart**.
-
- ![Screen capture shows the automatic start options for a virtual machine.](./media/devtest-lab-set-lab-policy/auto-start.png)
+Autostart policy helps you minimize waste by specifying a specific time of day and days of the week to start up all lab VMs.
+
+1. On the lab's **Configuration and policies** page, select **Auto-start** from the left navigation.
-2. Select **On** to enable this policy, and **Off** to disable it.
+1. Select **Yes** or **No** to enable or disable the policy.
-3. If you enable this policy, specify the scheduled start time, time zone, and the days of the week for which the time applies.
+1. If you enable this policy, specify the **Scheduled start**, **Time zone**, and **Days of the week** to start up the lab VMs.
-4. Select **Save**.
+1. Select **Save**.
-Once enabled, this policy is not automatically applied to any VMs in the current lab. To apply this setting to a specific VM, open the VM's management pane and change its **Autostart** setting.
+ :::image type="content" source="./media/devtest-lab-set-lab-policy/auto-start.png" alt-text="Screenshot showing the Autostart selection.":::
-## Set expiration date
-You can set an expiration date when you [create the VM](devtest-lab-add-vm.md). In **Advanced settings**, choose the calendar icon to specify a date on which the VM is automatically deleted. By default, the VM never expires.
+> [!NOTE]
+> This policy isn't automatically applied to current VMs in the lab. To apply this setting to current VMs, open the VM's page and change its **Auto-start** setting.
+For more information and details about autostart policy, see [Start up lab virtual machines automatically](devtest-lab-auto-startup-vm.md).
## Next steps
-Once you've defined and applied the various VM policy settings for your lab, here are some things to try next:
-
-* [Understand shared IP addresses](devtest-lab-shared-ip.md) - Explains how shared IP addresses are used in DevTest Labs to minimize the number of public IP addresses required to connect to your lab VMs.
-* [Configure cost management](devtest-lab-configure-cost-management.md) - Illustrates how to use the **Monthly Estimated Cost Trend** chart
- to view the current month's estimated cost-to-date and the projected end-of-month cost.
-* [Create custom image](devtest-lab-create-template.md) - When you create a VM, you specify a base, which can be either a custom image or a Marketplace image. This article illustrates
- how to create a custom image from a VHD file.
-* [Configure Marketplace images](devtest-lab-configure-marketplace-images.md) - Azure DevTest Labs supports creating VMs based on Azure Marketplace images. This article
- illustrates how to specify which, if any, Azure Marketplace images can be used when creating VMs in a lab.
-* [Create a VM in a lab](devtest-lab-add-vm.md) - Illustrates how to create a VM from a base image (either custom or Marketplace), and how to work with
- artifacts in your VM.
+
+Besides setting policies, here are more ways to control and manage DevTest Labs costs:
+
+- [Set a VM expiration date](devtest-lab-use-resource-manager-template.md#set-vm-expiration-date) when you create the VM.
+- [Delete labs or lab VMs](devtest-lab-delete-lab-vm.md) when you're finished with them.
+- [View and manage lab costs](devtest-lab-configure-cost-management.md), trends, and targets.
+
devtest-labs Devtest Lab Test Env https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-test-env.md
- Title: Use Azure DevTest Labs for VM and PaaS test environments
-description: Learn how to use Azure DevTest Labs for VM and PaaS test environment scenarios.
- Previously updated : 06/26/2020--
-# Use Azure DevTest Labs for VM and PaaS test environments
-
-You can use Azure DevTest Labs to implement many key scenarios, but a primary scenario involves using DevTest Labs to host machines for testers.
-
-In this scenario, DevTest Labs provides these benefits:
--- Testers can test the latest version of their application by quickly provisioning Windows and Linux environments using reusable templates and artifacts.-- Testers can scale up their load testing by provisioning multiple test agents.-- Administrators can control costs by ensuring that:
- - Testers cannot get more VMs than they need.
- - VMs are shut down when not in use.
-
-![Use DevTest Labs for training](./media/devtest-lab-developer-lab/devtest-lab-developer-lab.png)
-
-In this article, you learn about various Azure DevTest Labs features used to meet tester requirements and the detailed steps to follow to set up a lab.
-
-## Implementing test environments with Azure DevTest Labs
-1. **Create the lab**
-
- Labs are the starting point in Azure DevTest Labs. Once you create a lab, you can perform tasks such as adding users (testers) to the lab, setting policies to control costs, defining VM images that can create quickly, and more.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Create a lab in Azure DevTest Labs](devtest-lab-create-lab.md) |Learn how to create a lab in Azure DevTest Labs in the Azure portal. |
-2. **Create VMs in minutes using ready-made marketplace images and custom images**
-
- You can pick ready-made images from a wide variety of images in the Azure Marketplace and make them available in the lab. If the ready-made images don't meet your requirements, you can create a custom image by creating a lab VM using a ready-made image from Azure Marketplace, installing all the software that you need, and saving the VM as a custom image in the lab.
-
- If you will be using custom images, consider using an image factory to create and distribute your images. An image factory is a configuration-as-code solution that regularly builds and distributes your configured images automatically. This saves the time required to manually configure the system after a VM has been created with the base OS.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Configure Azure Marketplace images](devtest-lab-configure-marketplace-images.md) |Learn how you can allow Azure Marketplace images, making available for selection only the images you want for the testers.|
- | [Create a custom image](devtest-lab-create-template.md) |Create a custom image by pre-installing the software you need so that testers can quickly create a VM using the custom image.|
-
-3. **Create reusable templates for test machines**
-
- A formula in Azure DevTest Labs is a list of default property values used to create a VM. You can create a formula in the lab by picking an image, a VM size (a combination of CPU and RAM), and a virtual network. Each tester can see the formula in the lab and use it to create a VM.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Manage DevTest Labs formulas to create VMs](devtest-lab-manage-formulas.md) |Learn how you can create a formula by picking up an image, VM size (combination of CPU and RAM), and a virtual network.|
-
-3. **Create multi-VM test environments**
-
- You can use Azure Resource Manager templates to define the infrastructure and configuration of your Azure solution and repeatedly deploy multiple test VMs in a consistent state.
-
- Azure PaaS resources can be provisioned in an environment from a Resource Manager template and appear in cost tracking. However, VM auto shutdown does not apply to PaaS resources.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Create multi-VM environments and PaaS resources with Azure Resource Manager templates](devtest-lab-create-environment-from-arm.md) |Learn how you can deploy multiple VMs in a consistent state for your test environment.|
-
-4. **Create artifacts to enable flexible VM customization**
-
- Artifacts are used to deploy and configure your application after a VM is provisioned. Artifacts can be:
-
- - Tools that you want to install on the VM - such as agents, Fiddler, and Visual Studio.
- - Actions that you want to run on the VM - such as cloning a repo.
- - Applications that you want to test.
-
- Many artifacts are already available out-of-the-box. But if you want more customization for your specific needs, you can create your own custom artifacts.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Create custom artifacts for your DevTest Labs VM](devtest-lab-artifact-author.md) |Create your own custom artifacts for the virtual machines in your lab.|
- | [Add a Git repository to store custom artifacts and Azure Resource Manager templates for use in Azure DevTest Labs](devtest-lab-add-artifact-repo.md) |Learn how to store your custom artifacts in your own private Git repo.|
-
-5. **Control costs**
-
- Azure DevTest Labs allows you to set a policy in the lab to specify the maximum number of VMs that can be created by a tester in the lab.
-
- If your test team has a set work schedule and you want to stop all the VMs at a particular time of the day and then automatically restart them the following day, you can easily accomplish that by setting auto-shutdown and auto-start policies in the lab.
-
- Finally, when app development is complete, you can delete all the VMs at once by running a single PowerShell script.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Define lab policies](devtest-lab-set-lab-policy.md) |Control costs by setting policies in the lab. |
- | [Delete all the lab VMs using a PowerShell script](./devtest-lab-faq.yml) |Delete all the labs in one operation when testing is complete.|
-
-1. **Add a virtual network to a Lab**
-
- DevTest Labs creates a new virtual network (VNET) whenever a lab is created. If you have configured your own VNET ΓÇô for example, by using ExpressRoute or site-to-site VPN ΓÇô you can add this VNET to your lab's virtual network settings so that it is available when creating VMs.
-
- In addition, there is an Azure Active Directory domain join artifact available that joins a VM to a domain when the VM is being created.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Configure a virtual network in Azure DevTest Labs](devtest-lab-configure-vnet.md) |Learn how to configure a virtual network in Azure DevTest Labs using the Azure portal.|
-
-6. **Share the lab with each tester**
-
- Labs can be directly accessed using a link that you share with your testers. They don't even have to have an Azure account, as long as they have a [Microsoft account](./devtest-lab-faq.yml). Testers cannot see VMs created by other testers.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Add a tester to a lab in Azure DevTest Labs](devtest-lab-add-devtest-user.md) |Use the Azure portal to add testers to your lab.|
- | [Add testers to the lab using a PowerShell script](devtest-lab-add-devtest-user.md#add-an-external-user-to-a-lab-using-powershell) |Use PowerShell to automate adding testers to your lab. |
- | [Get a link to the lab](./devtest-lab-faq.yml) |Learn how testers can directly access a lab via a hyperlink.|
-
-7. **Automate lab creation for more teams**
-
- You can automate lab creation, including custom settings, by creating a Resource Manager template and using it to create identical labs again and again.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Create a lab using a Resource Manager template](./devtest-lab-faq.yml) |Create labs in Azure DevTest Labs using Resource Manager templates. |
-
devtest-labs Devtest Lab Training Lab https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-training-lab.md
- Title: Use Azure DevTest Labs for training
-description: This article provides detailed steps that you can follow to set up a lab for training in Azure DevTest Labs.
- Previously updated : 06/26/2020--
-# Use Azure DevTest Labs for training
-You can use Azure DevTest Labs to implement many key scenarios in addition to dev/test. One scenario is to set up a lab for training. Azure DevTest Labs allows you to create a lab that provides custom templates for each trainee to create identical and isolated training environments. You can apply policies to ensure that training environments are available to each trainee only when they need them and contain enough resources, such as virtual machines, for the training. Finally, you can easily share the lab for trainees to access in one click.
-
-![Use DevTest Labs for training](./media/devtest-lab-training-lab/devtest-lab-training.png)
-
-Azure DevTest Labs meets the following requirements for conducting training in any virtual environment:
-
-* Trainees can't see VMs created by other trainees.
-* Every training machine should be identical.
-* Trainees can quickly provision their training environments.
-* Control cost by ensuring that trainees can't get more VMs than they need, and shut down VMs when they aren't using them.
-* Easily share the training lab with each trainee.
-* Reuse the training lab again and again.
-
-In this article, you learn about various Azure DevTest Labs features you can use to meet the training requirements. You can follow the detailed steps to set up a lab for training.
-
-## Implementing training with Azure DevTest Labs
-1. **Create the lab**
-
- Labs are the starting point in Azure DevTest Labs. Once you create a lab, you can perform tasks such as add users (trainees) to the lab, set policies to control costs, define VM images that can create quickly, and more.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Create a lab in Azure DevTest Labs](devtest-lab-create-lab.md) |Learn how to create a lab in Azure DevTest Labs in the Azure portal. |
-2. **Create training VMs in minutes using ready-made marketplace images and custom images**
-
- You can pick ready-made images from a wide variety of images in the Azure Marketplace and make them available for the trainees in the lab. If the ready-made images don't meet your requirements, you can create a custom image. You create lab VM using a ready-made image from Azure Marketplace, install the software you need for the training, and save the VM as a custom image in the lab.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Configure Azure Marketplace images](devtest-lab-configure-marketplace-images.md) |Learn how you can allow Azure Marketplace images; making available for selection only the images you want for the training. |
- | [Create a custom image](devtest-lab-create-template.md) |Create a custom image by pre-installing the software you need for the training so that trainees can quickly create a VM using the custom image. |
-3. **Create reusable templates for training machines**
-
- A formula in Azure DevTest Labs is a list of default property values used to create a VM. You can create a formula in the lab by picking an image, a VM size (a combination of CPU and RAM), and a virtual network. Each trainee can see the formula in the lab and use it to create a VM.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Manage DevTest Labs formulas to create VMs](devtest-lab-manage-formulas.md) |Learn how you can create a formula by picking up an image, VM size (combination of CPU and RAM), and a virtual network. |
-4. **Control costs**
-
- Azure DevTest Labs allows you to set a policy in the lab to specify the maximum number of VMs that a trainee can create in the lab.
-
- If you're conducting multi-day training, you can stop all the VMs at a particular time of the day and then automatically restart them the following day. If you want to do that, set auto shutdown and auto start policies in the lab.
-
- Finally, when training is complete you can delete all the VMs at once by running a single PowerShell script.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Define lab policies](devtest-lab-set-lab-policy.md) |Control costs by setting policies in the lab. |
- | [Delete all the lab VMs using a PowerShell script](./devtest-lab-faq.yml) |Delete all the labs in one operation when the training is complete. |
-5. **Share the lab with each trainee**
-
- Labs can be directly accessed using a link that you share with your trainees. Your trainees don't even have to have an Azure account, as long as they have a [Microsoft account](./devtest-lab-faq.yml). Trainees can't see VMs created by other trainees.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Add a trainee to a lab in Azure DevTest Labs](devtest-lab-add-devtest-user.md) |Use the Azure portal to add trainees to your training lab. |
- | [Add trainees to the lab using a PowerShell script](devtest-lab-add-devtest-user.md#add-an-external-user-to-a-lab-using-powershell) |Use PowerShell to automate adding trainees to your training lab. |
- | [Get a link to the lab](./devtest-lab-faq.yml) |Learn how a lab can be directly accessed via a hyperlink. |
-6. **Reuse the lab again and again**
-
- You can automate lab creation, including custom settings, by creating a Resource Manager template and using it to create identical labs again and again.
-
- Learn more by clicking on the links in the following table:
-
- | Task | What you learn |
- | | |
- | [Create a lab using a Resource Manager template](./devtest-lab-faq.yml) |Create labs in Azure DevTest Labs using Resource Manager templates. |
-
machine-learning How To Access Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-access-data.md
Azure Machine Learning can receive requests from clients outside of the virtual
### Access validation
+> [!WARNING]
+> Cross tenant access to storage accounts is not supported. If cross tenant access is needed for your scenario, please reach out to the AzureML Data Support team alias at amldatasupport@microsoft.com for assistance with a custom code solution.
+ **As part of the initial datastore creation and registration process**, Azure Machine Learning automatically validates that the underlying storage service exists and the user provided principal (username, service principal, or SAS token) has access to the specified storage. **After datastore creation**, this validation is only performed for methods that require access to the underlying storage container, **not** each time datastore objects are retrieved. For example, validation happens if you want to download files from your datastore; but if you just want to change your default datastore, then validation does not happen.
You can find account key, SAS token, and service principal information on your [
* Its corresponding **Overview** page will contain required information like tenant ID and client ID. > [!IMPORTANT]
-> * If you need to change your access keys for an Azure Storage account (account key or SAS token), be sure to sync the new credentials with your workspace and the datastores connected to it. Learn how to [sync your updated credentials](how-to-change-storage-access-key.md).
+> If you need to change your access keys for an Azure Storage account (account key or SAS token), be sure to sync the new credentials with your workspace and the datastores connected to it. Learn how to [sync your updated credentials](how-to-change-storage-access-key.md).
+ ### Permissions For Azure blob container and Azure Data Lake Gen 2 storage, make sure your authentication credentials have **Storage Blob Data Reader** access. Learn more about [Storage Blob Data Reader](../role-based-access-control/built-in-roles.md#storage-blob-data-reader). An account SAS token defaults to no permissions.
machine-learning How To Connect Data Ui https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-connect-data-ui.md
If your data storage account is in a **virtual network**, additional configurati
### Access validation
+> [!WARNING]
+> Cross tenant access to storage accounts is not supported. If cross tenant access is needed for your scenario, please reach out to the AzureML Data Support team alias at amldatasupport@microsoft.com for assistance with a custom code solution.
+ **As part of the initial datastore creation and registration process**, Azure Machine Learning automatically validates that the underlying storage service exists and the user provided principal (username, service principal, or SAS token) has access to the specified storage. **After datastore creation**, this validation is only performed for methods that require access to the underlying storage container, **not** each time datastore objects are retrieved. For example, validation happens if you want to download files from your datastore; but if you just want to change your default datastore, then validation does not happen.
machine-learning How To Identity Based Data Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-identity-based-data-access.md
Certain machine learning scenarios involve training models with private data. In
Either [create an Azure Machine Learning workspace](how-to-manage-workspace.md) or use an [existing one via the Python SDK](how-to-manage-workspace.md#connect-to-a-workspace). - ## Create and register datastores When you register a storage service on Azure as a datastore, you automatically create and register that datastore to a specific workspace. See [Storage access permissions](#storage-access-permissions) for guidance on required permission types. You also have the option to manually create the storage you want to connect to without any special permissions, and you just need the name.
sqldb_dstore = Datastore.register_azure_sql_database(workspace=ws,
## Storage access permissions To help ensure that you securely connect to your storage service on Azure, Azure Machine Learning requires that you have permission to access the corresponding data storage.
+> [!WARNING]
+> Cross tenant access to storage accounts is not supported. If cross tenant access is needed for your scenario, please reach out to the AzureML Data Support team alias at amldatasupport@microsoft.com for assistance with a custom code solution.
Identity-based data access supports connections to **only** the following storage services.
marketplace Azure Vm Plan Listing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/marketplace/azure-vm-plan-listing.md
+
+ Title: Configure plan listing for a virtual machine offer on Azure Marketplace
+description: Configure plan listing for a virtual machine offer in the Microsoft commercial marketplace.
+++++ Last updated : 02/18/2022++
+# Configure plan listing for a virtual machine offer
+
+Configure the listing details of the plan. This pane displays specific information, which can differ from other plans in the same offer.
+
+## Plan name
+
+This field is automatically filled with the name that you gave your plan when you created it. This name appears on Azure Marketplace as the title of this plan. It is limited to 100 characters.
+
+## Plan summary
+
+Provide a short summary of your plan, not the offer. This summary is limited to 100 characters.
+
+## Plan description
+
+Describe what makes this software plan unique, and describe any differences between plans within your offer. Describe the plan only, not the offer. The plan description can contain up to 2,000 characters.
+
+Select **Save draft** before continuing to the next tab in the left-nav Plan menu, **Pricing and availability**.
+
+## Next steps
+
+- [Pricing and availability](azure-vm-plan-pricing-and-availability.md)
marketplace Azure Vm Plan Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/marketplace/azure-vm-plan-overview.md
Previously updated : 02/10/2022 Last updated : 02/18/2022 # Create plans for a virtual machine offer
Enter a **Plan name**. Customers see this name when they're deciding which plan
Select **Create**. The **Plan setup** page appears.
-## Plan setup
-
-Set the high-level configuration for the type of plan, specify whether it reuses a technical configuration from another plan, and identify the Azure regions where the plan should be available. Your selections here determine which fields are displayed on other panes for the same plan.
-
-### Azure regions
-
-Your plan must be made available in at least one Azure region.
-
-Select **Azure Global** to make your plan available to customers in all Azure Global regions that have commercial marketplace integration. For more information, see [Geographic availability and currency support](marketplace-geo-availability-currencies.md).
-
-Select **Azure Government** to make your plan available in the [Azure Government](../azure-government/documentation-government-welcome.md) region. This region provides controlled access for customers from US federal, state, local, or tribal entities, and for partners who are eligible to serve them. You, as the publisher, are responsible for any compliance controls, security measures, and best practices. Azure Government uses physically isolated datacenters and networks (located in the US only).
-
-Before you publish to [Azure Government](../azure-government/documentation-government-manage-marketplace-partners.md), test and validate your plan in the environment, because certain endpoints may differ. To set up and test your plan, request a trial account from the [Microsoft Azure Government trial](https://azure.microsoft.com/global-infrastructure/government/request/) page.
-
-> [!NOTE]
-> After your plan is published and available in a specific Azure region, you can't remove that region.
-
-### Azure Government certifications
-
-This option is visible only if you selected **Azure Government** as the Azure region in the preceding section.
-
-Azure Government services handle data that's subject to certain government regulations and requirements. For example, FedRAMP, NIST 800.171 (DIB), ITAR, IRS 1075, DoD L4, and CJIS. To bring awareness to your certifications for these programs, you can provide up to 100 links that describe them. These can be either links to your listing on the program directly or links to descriptions of your compliance with them on your own websites. These links are visible to Azure Government customers only.
-
-Select **Save draft** before continuing to the next tab in the left-nav Plan menu, **Plan listing**.
-
-## Plan listing
-
-Configure the listing details of the plan. This pane displays specific information, which can differ from other plans in the same offer.
-
-### Plan name
-
-This field is automatically filled with the name that you gave your plan when you created it. This name appears on Azure Marketplace as the title of this plan. It is limited to 100 characters.
-
-### Plan summary
-
-Provide a short summary of your plan, not the offer. This summary is limited to 100 characters.
-
-### Plan description
-
-Describe what makes this software plan unique, and describe any differences between plans within your offer. Describe the plan only, not the offer. The plan description can contain up to 2,000 characters.
-
-Select **Save draft** before continuing to the next tab in the left-nav Plan menu, **Pricing and availability**.
-
-## Pricing and availability
-
-On this pane, you configure:
--- Markets where this plan is available. Every plan must be available in at least one [market](marketplace-geo-availability-currencies.md).-- The price per hour.-- Whether to make the plan visible to everyone or only to specific customers (a private audience).-
-### Markets
-
-Every plan must be available in at least one market. Most markets are selected by default. To edit the list, select **Edit markets** and select or clear check boxes for each market location where this plan should (or shouldn't) be available for purchase. Users in selected markets can still deploy the offer to all Azure regions selected in the ["Plan setup"](#plan-setup) section.
-
-Select **Select only Microsoft Tax Remitted** to select only countries/regions in which Microsoft remits sales and use tax on your behalf. Publishing to China is limited to plans that are either *Free* or *Bring-your-own-license* (BYOL).
-
-If you've already set prices for your plan in US dollar (USD) currency and add another market location, the price for the new market is calculated according to current exchange rates. Always review the price for each market before you publish. Review your pricing by selecting **Export prices (xlsx)** after you save your changes.
-
-When you remove a market, customers from that market who are using active deployments will not be able to create new deployments or scale up their existing deployments. Existing deployments are not affected.
-
-Select **Save** to continue.
-
-### Pricing
-
-For the **License model**, select **Usage-based monthly billed plan** to configure pricing for this plan, or **Bring your own license** to let customers use this plan with their existing license.
-
-For a usage-based monthly billed plan, Microsoft will charge the customer for their hourly usage and they are billed monthly. This is our _Pay-as-you-go_ plan, where customers are only billed for the hours that they've used. When you select this plan, choose one of the following pricing options:
--- **Free** ΓÇô Your VM offer is free.-- **Flat rate (recommended)** ΓÇô Your VM offer is the same hourly price regardless of the hardware it runs on.-- **Per core** ΓÇô Your VM offer pricing is based on per CPU core count. You provide the price for one CPU core and weΓÇÖll increment the pricing based on the size of the hardware.-- **Per core size** ΓÇô Your VM offer is priced based on the number of CPU cores on the hardware it's deployed on.-- **Per market and core size** ΓÇô Assign prices based on the number of CPU cores on the hardware it's deployed on, and also for all markets. Currency conversion is done by you, the publisher. This option is easier if you use the import pricing feature.-
-For **Per core size** and **Per market and core size**, enter a **Price per core**, and then select **Generate prices**. The tables of price/hour calculations are populated for you. You can then adjust the price per core, if you choose. If using the _Per market and core size_ pricing option, you can additionally customize the price/hour calculation tables for each market thatΓÇÖs selected for this plan.
-
-> [!NOTE]
-> To ensure that the prices are right before you publish them, export the pricing spreadsheet and review the prices in each market. Before you export pricing data, first select **Save draft** near the bottom of the page to save pricing changes.
-
-Some things to consider when selecting a pricing option:
-- For the first four options, Microsoft does the currency conversion.-- Microsoft suggests using a flat rate pricing for software solutions.-- Prices are fixed, so once the plan is published the prices cannot be adjusted. However, if you would like to reduce prices for your VM offers you can open a [support ticket](support.md).-
-> [!IMPORTANT]
-> Occasionally, Microsoft expands the list of supported core sizes available. When this occurs, we will notify you and request that you take action on your offer within a specified timeframe. If you do not review your offer within the timeframe specified, weΓÇÖll publish the new core sizes at the price that we have calculated for you. For details about updating core sizes, see [Update core size for an Azure virtual machine offer](azure-vm-plan-manage.md).
-
-### Free Trial
-
-You can offer a one-month, three-month, or six-month **Free Trial** to your customers.
-
-### Plan visibility
-
-You can design each plan to be visible to everyone or only to a preselected private audience.
-
-**Public**: Your plan can be seen by everyone.
-
-**Private**: Make your plan visible only to a preselected audience. After it's published as a private plan, you can update the private audience or change it to public. After you make a plan public, it must remain public. It can't be changed back to a private plan. If the plan is private, you can specify the private audience that will have access to this plan using *Azure tenant IDs*, *subscription IDs*, or both. Optionally, include a **Description** of each Azure tenant ID or subscription ID that you assign. Add up to 10 subscription IDs and tenant IDs manually or import a CSV spreadsheet if more than 10 IDs are required. For a published offer, select **Sync private audience** for the changes to the private audience to take effect automatically without needing to republish the offer.
-
-> [!NOTE]
-> A private audience is different from the preview audience that you defined on the **Preview audience** pane. A preview audience can access and view all private and public plans for validation purposes before it's published live to Azure Marketplace. A private audience can only access the specific plans that they are authorized to have access to once the offer is live.
-
-Private offers are not supported with Azure subscriptions established through a reseller of the Cloud Solution Provider program (CSP).
-
-### Hide plan
-
-If your virtual machine is meant to be used only indirectly when it's referenced through another solution template or managed application, select this check box to publish the virtual machine but hide it from customers who might be searching or browsing for it directly.
-
-Any Azure customer can deploy the offer using either PowerShell or CLI. If you wish to make this offer available to a limited set of customers, then set the plan to **Private**.
-
-Hidden plans do not generate preview links. However, you can test them by [following these steps](azure-vm-create-faq.yml#how-do-i-test-a-hidden-preview-image-).
-
-Select **Save draft** before continuing to the next tab in the left-nav Plan menu, **Technical configuration**.
-
-## Technical configuration
-
-Provide the images and other technical properties associated with this plan.
-
-### Reuse technical configuration
-
-This option lets you use the same technical configuration settings across plans within the same offer and therefore leverage the same set of images. If you enable the _reuse technical configuration_ option, your plan will inherit the same technical configuration settings as the base plan you select. When you change the base plan, the changes are reflected on the plan reusing the configuration.
-
-Some common reasons for reusing the technical configuration settings from another plan include:
-
-1. The same images are available for both *Pay as you go* and *BYOL*.
-2. To reuse the same technical configuration from a public plan for a private plan with a different price.
-3. Your solution behaves differently based on the plan the user chooses to deploy. For example, the software is the same, but features vary by plan.
-
-Leverage [Azure Instance Metadata Service](../virtual-machines/windows/instance-metadata-service.md) (IMDS) to identify which plan your solution is deployed within to validate license or enabling of appropriate features.
-
-If you later decide to publish different changes between your plans, you can detach them. Detach the plan reusing the technical configuration by deselecting this option with your plan. Once detached, your plan will carry the same technical configuration settings at the place of your last setting and your plans may diverge in configuration. A plan that has been published independently in the past cannot reuse a technical configuration later.
-
-### Operating system
-
-Select the **Windows** or **Linux** operating system family.
-
-Select the Windows **Release** or Linux **Vendor**.
-
-Enter an **OS friendly name** for the operating system. This name is visible to customers.
-
-### Recommended VM sizes
-
-Select the link to choose up to six recommended virtual machine sizes to display on Azure Marketplace.
-
-### Open ports
-
-Add open public or private ports on a deployed virtual machine.
-
-### Properties
-
-Here is a list of properties that can be selected for your VM.
--- **Supports backup**: Enable this property if your images support Azure VM backup. Learn more about [Azure VM backup](../backup/backup-azure-vms-introduction.md).--- **Supports accelerated networking**: Enable this property if the VM images for this plan support single root I/O virtualization (SR-IOV) to a VM, enabling low latency and high throughput on the network interface. Learn more about [accelerated networking](https://go.microsoft.com/fwlink/?linkid=2124513).--- **Supports cloud-init configuration**: Enable this property if the images in this plan support cloud-init post deployment scripts. Learn more about [cloud-init configuration](../virtual-machines/linux/using-cloud-init.md).--- **Supports hotpatch**: Windows Server Azure Editions supports Hot Patch. Learn more about [Hot Patch](../automanage/automanage-hotpatch.md).--- **Supports extensions**: Enable this property if the images in this plan support extensions. Extensions are small applications that provide post-deployment configuration and automation on Azure VMs. Learn more about [Azure virtual machine extensions](./azure-vm-certification-faq.yml#vm-extensions).--- **Is a network virtual appliance**: Enable this property if this product is a Network Virtual Appliance. A network virtual appliance is a product that performs one or more network functions, such as a Load Balancer, VPN Gateway, Firewall or Application Gateway. Learn more about [network virtual appliances](https://go.microsoft.com/fwlink/?linkid=2155373).--- **Remote desktop or SSH disabled**: Enable this property if virtual machines deployed with these images don't allow customers to access it using Remote Desktop or SSH. Learn more about [locked VM images](./azure-vm-certification-faq.yml#locked-down-or-ssh-disabled-offer).--- **Requires custom ARM template for deployment**: Enable this property if the images in this plan can only be deployed using a custom ARM template. To learn more see the [Custom templates section of Troubleshoot virtual machine certification](./azure-vm-certification-faq.yml#custom-templates).-
-### Generations
-
-Generating a virtual machine defines the virtual hardware it uses. Based on your customerΓÇÖs needs, you can publish a Generation 1 VM, Generation 2 VM, or both.
-
-1. When creating a new offer, select a **Generation type** and enter the requested details:
-
- :::image type="content" source="./media/create-vm/azure-vm-generations-image-details-1.png" alt-text="A view of the Generation detail section in Partner Center.":::
-
-2. To add another generation to a plan, select **Add generation**...
-
- :::image type="content" source="./media/create-vm/azure-vm-generations-add.png" alt-text="A view of the 'Add Generation' link.":::
-
- ...and enter the requested details:
-
- :::image type="content" source="./media/create-vm/azure-vm-generations-image-details-3.png" alt-text="A view of the generation details window.":::
-
-<!-- The **Generation ID** you choose will be visible to customers in places such as product URLs and ARM templates (if applicable). Use only lowercase, alphanumeric characters, dashes, or underscores; it cannot be modified once published.
>
-3. To update an existing VM that has a Generation 1 already published, edit details on the **Technical configuration** page.
-
-To learn more about the differences between Generation 1 and Generation 2 capabilities, see [Support for generation 2 VMs on Azure](../virtual-machines/generation-2.md).
-
-> [!NOTE]
-> A published generation requires at least one image version to remain available for customers. To remove the entire plan (along with all its generations and images), select **Deprecate plan** on the **Plan Overview** page (see first section in this article).
-
-### VM images
-
-Provide a disk version and the shared access signature (SAS) URI for the virtual machine images. Add up to 16 data disks for each VM image. Provide only one new image version per plan in a specified submission. After an image has been published, you can't edit it, but you can delete it. Deleting a version prevents both new and existing users from deploying a new instance of the deleted version.
-
-These two required fields are shown in the prior image above:
--- **Disk version**: The version of the image you are providing.-- **OS VHD link**: The image stored in Azure Compute Gallery (formerly know as Shared Image Gallery). Learn how to capture your image in an [Azure Compute Gallery](azure-vm-create-using-approved-base.md#capture-image).-
-Data disks (select **Add data disk (maximum 16)**) are also VHD shared access signature URIs that are stored in their Azure storage accounts. Add only one image per submission in a plan.
-
-Regardless of which operating system you use, add only the minimum number of data disks that the solution requires. During deployment, customers can't remove disks that are part of an image, but they can always add disks during or after deployment.
-
-> [!NOTE]
-> If you provide your images using SAS and have data disks, you also need to provide them as SAS URI. If you are using a shared image, they are captured as part of your image in Azure Compute Gallery. Once your offer is published to Azure Marketplace, you can delete the image from your Azure storage or Azure Compute Gallery.
-
-Select **Save draft**, then select **← Plan overview** at the top left to see the plan you just created.
-
-Once your VM image has published, you can delete the image from your Azure storage.
-
-## Reorder plans (optional)
-
-For VM offers with more than one plan, you can change the order that your plans are shown to customers. The first plan listed will become the default plan that customers will see.
-
-1. On the **Plan overview** page, select the **Edit display rank** button.
-1. In the menu that appears, use the hamburger icon to drag your plans to the desired order.
- ## Next steps -- [Resell through CSPs](azure-vm-resell-csp.md)
+- [Plan setup](azure-vm-plan-setup.md)
marketplace Azure Vm Plan Pricing And Availability https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/marketplace/azure-vm-plan-pricing-and-availability.md
+
+ Title: Configure pricing and availability for a virtual machine offer on Azure Marketplace
+description: Configure pricing and availability for a virtual machine offer in the Microsoft commercial marketplace.
+++++ Last updated : 02/18/2022++
+# Configure pricing and availability for a virtual machine offer
+
+On this pane, you configure:
+
+- Markets where this plan is available. Every plan must be available in at least one [market](marketplace-geo-availability-currencies.md).
+- The price per hour.
+- Whether to make the plan visible to everyone or only to specific customers (a private audience).
+
+### Markets
+
+Every plan must be available in at least one market. Most markets are selected by default. To edit the list, select **Edit markets** and select or clear check boxes for each market location where this plan should (or shouldn't) be available for purchase. Users in selected markets can still deploy the offer to all Azure regions selected in the ["Plan setup"](azure-vm-plan-setup.md) section.
+
+Select **Select only Microsoft Tax Remitted** to select only countries/regions in which Microsoft remits sales and use tax on your behalf. Publishing to China is limited to plans that are either *Free* or *Bring-your-own-license* (BYOL).
+
+If you've already set prices for your plan in US dollar (USD) currency and add another market location, the price for the new market is calculated according to current exchange rates. Always review the price for each market before you publish. Review your pricing by selecting **Export prices (xlsx)** after you save your changes.
+
+When you remove a market, customers from that market who are using active deployments won't be able to create new deployments or scale up their existing deployments. Existing deployments aren't affected.
+
+Select **Save** to continue.
+
+### Pricing
+
+For the **License model**, select **Usage-based monthly billed plan** to configure pricing for this plan, or **Bring your own license** to let customers use this plan with their existing license.
+
+For a usage-based monthly billed plan, Microsoft will charge the customer for their hourly usage and they're billed monthly. This is our _Pay-as-you-go_ plan, where customers are only billed for the hours that they've used. When you select this plan, choose one of the following pricing options:
+
+- **Free** ΓÇô Your VM offer is free.
+- **Flat rate (recommended)** ΓÇô Your VM offer is the same hourly price regardless of the hardware it runs on.
+- **Per core** ΓÇô Your VM offer pricing is based on per CPU core count. You provide the price for one CPU core and weΓÇÖll increment the pricing based on the size of the hardware.
+- **Per core size** ΓÇô Your VM offer is priced based on the number of CPU cores on the hardware it's deployed on.
+- **Per market and core size** ΓÇô Assign prices based on the number of CPU cores on the hardware it's deployed on, and also for all markets. Currency conversion is done by you, the publisher. This option is easier if you use the import pricing feature.
+
+For **Per core size** and **Per market and core size**, enter a **Price per core**, and then select **Generate prices**. The tables of price/hour calculations are populated for you. You can then adjust the price per core, if you choose. If using the _Per market and core size_ pricing option, you can additionally customize the price/hour calculation tables for each market thatΓÇÖs selected for this plan.
+
+> [!NOTE]
+> To ensure that the prices are right before you publish them, export the pricing spreadsheet and review the prices in each market. Before you export pricing data, first select **Save draft** near the bottom of the page to save pricing changes.
+
+Some things to consider when selecting a pricing option:
+- For the first four options, Microsoft does the currency conversion.
+- Microsoft suggests using a flat rate pricing for software solutions.
+- Prices are fixed, so once the plan is published the prices can't be adjusted. However, if you would like to reduce prices for your VM offers you can open a [support ticket](support.md).
+
+> [!IMPORTANT]
+> Occasionally, Microsoft expands the list of supported core sizes available. When this occurs, we will notify you and request that you take action on your offer within a specified timeframe. If you do not review your offer within the timeframe specified, weΓÇÖll publish the new core sizes at the price that we have calculated for you. For details about updating core sizes, see [Update core size for an Azure virtual machine offer](azure-vm-plan-manage.md).
+
+### Free Trial
+
+You can offer a one-month, three-month, or six-month **Free Trial** to your customers.
+
+### Plan visibility
+
+You can design each plan to be visible to everyone or only to a preselected private audience.
+
+**Public**: Your plan can be seen by everyone.
+
+**Private**: Make your plan visible only to a preselected audience. After it's published as a private plan, you can update the private audience or change it to public. After you make a plan public, it must remain public. It can't be changed back to a private plan. If the plan is private, you can specify the private audience that will have access to this plan using *Azure tenant IDs*, *subscription IDs*, or both. Optionally, include a **Description** of each Azure tenant ID or subscription ID that you assign. Add up to 10 subscription IDs and tenant IDs manually or import a CSV spreadsheet if more than 10 IDs are required. For a published offer, select **Sync private audience** for the changes to the private audience to take effect automatically without needing to republish the offer.
+
+> [!NOTE]
+> A private audience is different from the preview audience that you defined on the **Preview audience** pane. A preview audience can access and view all private and public plans for validation purposes before it's published live to Azure Marketplace. A private audience can only access the specific plans that they are authorized to have access to once the offer is live.
+
+Private offers aren't supported with Azure subscriptions established through a reseller of the Cloud Solution Provider program (CSP).
+
+### Hide plan
+
+If your virtual machine is meant to be used only indirectly when it's referenced through another solution template or managed application, select this check box to publish the virtual machine but hide it from customers who might be searching or browsing for it directly.
+
+Any Azure customer can deploy the offer using either PowerShell or CLI. If you wish to make this offer available to a limited set of customers, then set the plan to **Private**.
+
+Hidden plans don't generate preview links. However, you can test them by [following these steps](azure-vm-create-faq.yml#how-do-i-test-a-hidden-preview-image-).
+
+Select **Save draft** before continuing to the next tab in the left-nav Plan menu, **Technical configuration**.
+
+## Next step
+
+- [Technical configuration](azure-vm-plan-technical-configuration.md)
marketplace Azure Vm Plan Reorder Plans https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/marketplace/azure-vm-plan-reorder-plans.md
+
+ Title: Reorder plans for a virtual machine offer on Azure Marketplace
+description: Reorder plans for a virtual machine offer in the Microsoft commercial marketplace.
+++++ Last updated : 02/18/2022++
+# Reorder plans
+
+For VM offers with more than one plan, you can change the order that your plans are shown to customers. The first plan listed will become the default plan that customers will see.
+
+1. Sign in to [Partner Center](https://go.microsoft.com/fwlink/?linkid=2166002).
+
+1. On the Home page, select the **Marketplace offers** tile.
+
+ [ ![Illustrates the Marketplace offers tile on the Partner Center Home page.](./media/workspaces/partner-center-home.png) ](./media/workspaces/partner-center-home.png#lightbox)
+
+1. On the Marketplace offers page, select the offer with the plans you want to reorder.
+1. In the left-nav, select **Plan overview**. Then select the **Edit display rank** button.
+1. In the menu that appears, use the hamburger icon to drag your plans to the desired order.
+1. After you reorder the plans for a currently published offer, you must [republish the offer](review-publish-offer.md).
marketplace Azure Vm Plan Setup https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/marketplace/azure-vm-plan-setup.md
+
+ Title: Plan setup for a virtual machine offer on Azure Marketplace
+description: Plan setup for a virtual machine offer in the Microsoft commercial marketplace.
+++++ Last updated : 02/18/2022++
+# Plan setup for a virtual machine offer
+
+## Plan setup
+
+Set the high-level configuration for the type of plan, specify whether it reuses a technical configuration from another plan, and identify the Azure regions where the plan should be available. Your selections here determine which fields are displayed on other panes for the same plan.
+
+### Azure regions
+
+Your plan must be made available in at least one Azure region.
+
+Select **Azure Global** to make your plan available to customers in all Azure Global regions that have commercial marketplace integration. For more information, see [Geographic availability and currency support](marketplace-geo-availability-currencies.md).
+
+Select **Azure Government** to make your plan available in the [Azure Government](../azure-government/documentation-government-welcome.md) region. This region provides controlled access for customers from US federal, state, local, or tribal entities, and for partners who are eligible to serve them. You, as the publisher, are responsible for any compliance controls, security measures, and best practices. Azure Government uses physically isolated datacenters and networks (located in the US only).
+
+Before you publish to [Azure Government](../azure-government/documentation-government-manage-marketplace-partners.md), test and validate your plan in the environment, because certain endpoints may differ. To set up and test your plan, request a trial account from the [Microsoft Azure Government trial](https://azure.microsoft.com/global-infrastructure/government/request/) page.
+
+> [!NOTE]
+> After your plan is published and available in a specific Azure region, you can't remove that region.
+
+### Azure Government certifications
+
+This option is visible only if you selected **Azure Government** as the Azure region in the preceding section.
+
+Azure Government services handle data that's subject to certain government regulations and requirements. For example, FedRAMP, NIST 800.171 (DIB), ITAR, IRS 1075, DoD L4, and CJIS. To bring awareness to your certifications for these programs, you can provide up to 100 links that describe them. These can be either links to your listing on the program directly or links to descriptions of your compliance with them on your own websites. These links are visible to Azure Government customers only.
+
+Select **Save draft** before continuing to the next tab in the left-nav Plan menu, **Plan listing**.
+
+## Next steps
+
+- [Plan listing](azure-vm-plan-listing.md)
marketplace Azure Vm Plan Technical Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/marketplace/azure-vm-plan-technical-configuration.md
+
+ Title: Technical configuration for a virtual machine offer on Azure Marketplace
+description: Configure the technical configuration for a virtual machine offer plan.
+++++ Last updated : 02/18/2022++
+# Technical configuration for a virtual machine offer
+
+Provide the images and other technical properties associated with this plan.
+
+## Reuse technical configuration
+
+This option lets you use the same technical configuration settings across plans within the same offer and therefore leverage the same set of images. If you enable the _reuse technical configuration_ option, your plan will inherit the same technical configuration settings as the base plan you select. When you change the base plan, the changes are reflected on the plan reusing the configuration.
+
+Some common reasons for reusing the technical configuration settings from another plan include:
+
+- The same images are available for both *Pay as you go* and *BYOL*.
+- To reuse the same technical configuration from a public plan for a private plan with a different price.
+- Your solution behaves differently based on the plan the user chooses to deploy. For example, the software is the same, but features vary by plan.
+
+Leverage [Azure Instance Metadata Service](../virtual-machines/windows/instance-metadata-service.md) (IMDS) to identify which plan your solution is deployed within to validate license or enabling of appropriate features.
+
+If you later decide to publish different changes between your plans, you can detach them. Detach the plan reusing the technical configuration by deselecting this option with your plan. Once detached, your plan will carry the same technical configuration settings at the place of your last setting and your plans may diverge in configuration. A plan that has been published independently in the past cannot reuse a technical configuration later.
+
+## Operating system
+
+Select the **Windows** or **Linux** operating system family.
+
+Select the Windows **Release** or Linux **Vendor**.
+
+Enter an **OS friendly name** for the operating system. This name is visible to customers.
+
+## Recommended VM sizes
+
+Select the link to choose up to six recommended virtual machine sizes to display on Azure Marketplace.
+
+## Open ports
+
+Add open public or private ports on a deployed virtual machine.
+
+## Properties
+
+Here is a list of properties that can be selected for your VM.
+
+- **Supports backup**: Enable this property if your images support Azure VM backup. Learn more about [Azure VM backup](../backup/backup-azure-vms-introduction.md).
+
+- **Supports accelerated networking**: Enable this property if the VM images for this plan support single root I/O virtualization (SR-IOV) to a VM, enabling low latency and high throughput on the network interface. Learn more about [accelerated networking](https://go.microsoft.com/fwlink/?linkid=2124513).
+
+- **Supports cloud-init configuration**: Enable this property if the images in this plan support cloud-init post deployment scripts. Learn more about [cloud-init configuration](../virtual-machines/linux/using-cloud-init.md).
+
+- **Supports hotpatch**: Windows Server Azure Editions supports Hot Patch. Learn more about [Hot Patch](../automanage/automanage-hotpatch.md).
+
+- **Supports extensions**: Enable this property if the images in this plan support extensions. Extensions are small applications that provide post-deployment configuration and automation on Azure VMs. Learn more about [Azure virtual machine extensions](./azure-vm-certification-faq.yml#vm-extensions).
+
+- **Is a network virtual appliance**: Enable this property if this product is a Network Virtual Appliance. A network virtual appliance is a product that performs one or more network functions, such as a Load Balancer, VPN Gateway, Firewall or Application Gateway. Learn more about [network virtual appliances](https://go.microsoft.com/fwlink/?linkid=2155373).
+
+- **Remote desktop or SSH disabled**: Enable this property if virtual machines deployed with these images don't allow customers to access it using Remote Desktop or SSH. Learn more about [locked VM images](./azure-vm-certification-faq.yml#locked-down-or-ssh-disabled-offer).
+
+- **Requires custom ARM template for deployment**: Enable this property if the images in this plan can only be deployed using a custom ARM template. To learn more see the [Custom templates section of Troubleshoot virtual machine certification](./azure-vm-certification-faq.yml#custom-templates).
+
+## Generations
+
+Generating a virtual machine defines the virtual hardware it uses. Based on your customerΓÇÖs needs, you can publish a Generation 1 VM, Generation 2 VM, or both.
+
+1. When creating a new offer, select a **Generation type** and enter the requested details:
+
+ :::image type="content" source="./media/create-vm/azure-vm-generations-image-details-1.png" alt-text="A view of the Generation detail section in Partner Center.":::
+
+2. To add another generation to a plan, select **Add generation**...
+
+ :::image type="content" source="./media/create-vm/azure-vm-generations-add.png" alt-text="A view of the 'Add Generation' link.":::
+
+ ...and enter the requested details:
+
+ :::image type="content" source="./media/create-vm/azure-vm-generations-image-details-3.png" alt-text="A view of the generation details window.":::
+
+<!-- The **Generation ID** you choose will be visible to customers in places such as product URLs and ARM templates (if applicable). Use only lowercase, alphanumeric characters, dashes, or underscores; it cannot be modified once published.
+-->
+3. To update an existing VM that has a Generation 1 already published, edit details on the **Technical configuration** page.
+
+To learn more about the differences between Generation 1 and Generation 2 capabilities, see [Support for generation 2 VMs on Azure](../virtual-machines/generation-2.md).
+
+> [!NOTE]
+> A published generation requires at least one image version to remain available for customers. To remove the entire plan (along with all its generations and images), select **Deprecate plan** on the **Plan Overview** page (see first section in this article).
+
+## VM images
+
+Provide a disk version and the shared access signature (SAS) URI for the virtual machine images. Add up to 16 data disks for each VM image. Provide only one new image version per plan in a specified submission. After an image has been published, you can't edit it, but you can delete it. Deleting a version prevents both new and existing users from deploying a new instance of the deleted version.
+
+These two required fields are shown in the prior image above:
+
+- **Disk version**: The version of the image you are providing.
+- **OS VHD link**: The image stored in Azure Compute Gallery (formerly know as Shared Image Gallery). Learn how to capture your image in an [Azure Compute Gallery](azure-vm-create-using-approved-base.md#capture-image).
+
+Data disks (select **Add data disk (maximum 16)**) are also VHD shared access signature URIs that are stored in their Azure storage accounts. Add only one image per submission in a plan.
+
+Regardless of which operating system you use, add only the minimum number of data disks that the solution requires. During deployment, customers can't remove disks that are part of an image, but they can always add disks during or after deployment.
+
+> [!NOTE]
+> If you provide your images using SAS and have data disks, you also need to provide them as SAS URI. If you are using a shared image, they are captured as part of your image in Azure Compute Gallery. Once your offer is published to Azure Marketplace, you can delete the image from your Azure storage or Azure Compute Gallery.
+
+Select **Save draft**, then select **← Plan overview** at the top left to see the plan you just created.
+
+Once your VM image has published, you can delete the image from your Azure storage.
+
+## Reorder plans (optional)
+
+For VM offers with more than one plan, you can change the order that your plans are shown to customers. The first plan listed will become the default plan that customers will see.
+
+1. On the **Plan overview** page, select the **Edit display rank** button.
+1. In the menu that appears, use the hamburger icon to drag your plans to the desired order.
+
+## Next steps
+
+- [Resell through CSPs](azure-vm-resell-csp.md)
marketplace Marketplace Virtual Machines https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/marketplace/marketplace-virtual-machines.md
Previously updated : 11/17/2021 Last updated : 02/18/2022 # Plan a virtual machine offer
A preview audience can access your offer prior to it being published live in the
## Plans, pricing, and trials
-VM offers require at least one plan. A plan defines the solution scope and limits, and the associated pricing. You can create multiple plans for your offer to give your customers different technical and licensing options, as well as trial opportunities. See [Plans and pricing for commercial marketplace offers](plans-pricing.md) for general guidance about plans, including pricing models, free trials, and private plans.
+VM offers require at least one plan. A plan defines the solution scope and limits, and the associated pricing. You can create multiple plans for your offer to give your customers different technical and licensing options, as well as trial opportunities. For VM offers with more than one plan, you can change the order that your plans are shown to customers. The first plan listed will become the default plan that customers will see. For info about how to reorder plans, see [Reorder plans](azure-vm-plan-reorder-plans.md). For general guidance about plans, including pricing models, free trials, and private plans, see [Plans and pricing for commercial marketplace offers](plans-pricing.md).
VMs are fully commerce-enabled, using usage-based pay-as-you-go or bring-your-own-license (BYOL) licensing models. Microsoft hosts the commerce transaction and bills your customer on your behalf. You get the benefit of using the preferred payment relationship between your customer and Microsoft, including any Enterprise Agreements. For more information, see [Commercial marketplace transact capabilities](./marketplace-commercial-transaction-capabilities-and-considerations.md).
marketplace What Is New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/marketplace/what-is-new.md
Learn about important updates in the commercial marketplace program of Partner C
| Category | Description | Date | | | | |
-| Offers | Added a [Revenue Dashboard](revenue-dashboard.md) to Partner Center, including a revenue report, [sample queries](analytics-sample-queries.md#revenue-report-queries), and [FAQs](/azure/marketplace/analytics-faq#revenue) page. | 2021-12-08 |
+| Analytics | Added a [Revenue Dashboard](revenue-dashboard.md) to Partner Center, including a revenue report, [sample queries](analytics-sample-queries.md#revenue-report-queries), and [FAQs](/azure/marketplace/analytics-faq#revenue) page. | 2021-12-08 |
| Offers | Container and container apps offers can now use the Microsoft [Standard Contract](standard-contract.md). | 2021-11-02 | | Offers | Private plans for [SaaS offers](plan-saas-offer.md) are now available on AppSource. | 2021-10-06 | | Offers | In [Set up an Azure Marketplace subscription for hosted test drives](test-drive-azure-subscription-setup.md), for **Set up for Dynamics 365 apps on Dataverse and Power Apps**, we added a new method to remove users from your Azure tenant. | 2021-10-01 |
Learn about important updates in the commercial marketplace program of Partner C
| Offers | While [private plans](private-plans.md) were previously only available on the Azure portal, they are now also available on Microsoft AppSource. | 2021-09-10 | | Analytics | Publishers of Azure application offers can view offer deployment health in the Quality of service (QoS) reports. QoS helps publishers understand the reasons for offer deployment failures and provides actionable insights for their remediation. For details, see [Quality of service (QoS) dashboard](quality-of-service-dashboard.md). | 2021-09-07 | | Policy | The SaaS customer [refund window](/marketplace/refund-policies) is now [72 hours](/azure/marketplace/marketplace-faq-publisher-guide) for all offers. | 2021-09-01 |
-| Offers | Additional properties at the plan level are now available for Azure Virtual Machine offers. See the [virtual machine technical configuration properties](azure-vm-plan-overview.md#properties) article for more information. | 2021-07-26 |
+| Offers | Additional properties at the plan level are now available for Azure Virtual Machine offers. See the [virtual machine technical configuration properties](azure-vm-plan-technical-configuration.md#properties) article for more information. | 2021-07-26 |
| Fees | Microsoft has reduced its standard store service fee to 3%. See [Commercial marketplace transact capabilities](marketplace-commercial-transaction-capabilities-and-considerations.md#examples-of-pricing-and-store-fees) and Common questions about payouts and taxes, "[How do I find the current Store Service Fee and the payout rate?](/partner-center/payout-faq)". | 2021-07-14 | |
sentinel Authentication Normalization Schema https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/authentication-normalization-schema.md
In the following tables, *Type* refers to a logical type. For more information,
| Field | Class | Type | Description | ||--||--|
-| <a name="dst"></a>**Dst** | Recommended | String | A unique identifier of the authetication target. <br><br>This field may alias the [SrcDvcId](#targetdvcid), [SrcHostname](#targethostname), [TargetIpAddr](#targetipaddr), [TargetAppId](#targetappid), or [TargetAppName](#targetappname) fields. <br><br>Example: `192.168.12.1` |
+| <a name="dst"></a>**Dst** | Recommended | String | A unique identifier of the authetication target. <br><br>This field may alias the [TargerDvcId](#targetdvcid), [TargetHostname](#targethostname), [TargetIpAddr](#targetipaddr), [TargetAppId](#targetappid), or [TargetAppName](#targetappname) fields. <br><br>Example: `192.168.12.1` |
| <a name="targetappid"></a>**TargetAppId** |Optional | String| The ID of the application to which the authorization is required, often assigned by the reporting device. <br><br>Example: `89162` | |<a name="targetappname"></a>**TargetAppName** |Optional |String |The name of the application to which the authorization is required, including a service, a URL, or a SaaS application. <br><br>Example: `Saleforce` | | **TargetAppType**|Optional |AppType |The type of the application authorizing on behalf of the Actor. For more information, and allowed list of values, see [AppType](normalization-about-schemas.md#apptype) in the [Schema Overview article](normalization-about-schemas.md).|
sentinel Normalization Manage Parsers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/normalization-manage-parsers.md
To modify an existing, built-in source-specific parser:
1. Add a record to the `ASim Disabled Parsers` watchlist.
-1. Define the `CallerContext` value with the names of any unifying parsers you want to exclude the parser from.
+1. Define the `CallerContext` value as `Exclude<parser name>`, where `<parser name>` is the name of the unifying parsers you want to exclude the parser from.
-1. Define the `SourceSpecificParser` value with the name of the parser you want to exclude, without a version specifier.
+1. Define the `SourceSpecificParser` value `Exclude<parser name>`, where `<parser name>`is the name of the parser you want to exclude, without a version specifier.
For example, to exclude the Azure Firewall DNS parser, add the following records to the watchlist: | CallerContext | SourceSpecificParser | | - | - |
-| `_Im_Dns` | `_Im_Dns_AzureFirewall` |
-| `_ASim_Dns` | `_ASim_Dns_AzureFirewall` |
+| `Exclude_Im_Dns` | `Exclude_Im_Dns_AzureFirewall` |
+| `Exclude_ASim_Dns` | `Exclude_ASim_Dns_AzureFirewall` |
| | | ### Prevent an automated update of a built-in parser
storage Data Lake Storage Access Control https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/storage/blobs/data-lake-storage-access-control.md
The mask may be specified on a per-call basis. This allows different consuming s
### The sticky bit
-The sticky bit is a more advanced feature of a POSIX container. In the context of Data Lake Storage Gen2, it is unlikely that the sticky bit will be needed. In summary, if the sticky bit is enabled on a directory, a child item can only be deleted or renamed by the child item's owning user.
+The sticky bit is a more advanced feature of a POSIX container. In the context of Data Lake Storage Gen2, it is unlikely that the sticky bit will be needed. In summary, if the sticky bit is enabled on a directory, a child item can only be deleted or renamed by the child item's owning user, the directory's owner, or the Superuser ($superuser).
The sticky bit isn't shown in the Azure portal.
synapse-analytics How To Monitor Sql Requests https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/synapse-analytics/monitoring/how-to-monitor-sql-requests.md
To view the details about one of your SQL requests, open the SQL request to navi
For more information on monitoring pipeline runs, see the [Monitor pipeline runs in Synapse Studio](how-to-monitor-pipeline-runs.md) article.
-For more information on monitoring Apache Spark applications, see the [Monitor Apache Spark applications in Synapse Studio](how-to-monitor-spark-applications.md) article.
+For more information on monitoring Apache Spark applications, see the [Monitor Apache Spark applications in Synapse Studio](how-to-monitor-spark-applications.md) article.
+
+To analyze historical queries, see [Historical query storage and analysis in Azure Synapse Analytics](../sql/query-history-storage-analysis.md).
synapse-analytics Data Integration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/synapse-analytics/partner/data-integration.md
To create your data warehouse solution using the dedicated SQL pool in Azure Syn
| ![Datometry](./media/data-integration/datometry-logo.png) |**Datometry**<br>Datometry Hyper-Q makes existing applications written for Teradata run natively on Azure Synapse. Datometry emulates commonly used Teradata SQL, including analytical SQL, and advanced operational concepts like stored procedures, macros, SET tables, and more. Because Hyper-Q returns results that are bit-identical to Teradata, existing applications can be replatformed to Azure Synapse without any significant modifications. With Datometry, enterprises can move to Azure rapidly and take full advantage of Synapse immediately.|[Product page](https://datometry.com/platform/hyper-q-for-azure-synapse/)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/datometry1601339937807.dtm-hyperq-azure-101?tab=Overview)<br> | ![Denodo](./media/data-integration/denodo_logo.png) |**Denodo**<br>Denodo provide real-time access to data across an organization's diverse data sources. It uses data virtualization to bridge data across many sources without replication. Denodo offers broad access to structured and unstructured data residing in enterprise, big data, and cloud sources, in both batch and real time.|[Product page](https://www.denodo.com/en)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/denodo.denodo-8_0-std-vm-payg?tab=Overview)<br> | | ![Dimodelo](./media/data-integration/dimodelo-logo.png) |**Dimodelo**<br>Dimodelo Data Warehouse Studio is a data warehouse automation tool for the Azure data platform. Dimodelo enhances developer productivity through a dedicated data warehouse modeling and ETL design tool, pattern-based best practice code generation, one-click deployment, and ETL orchestration. Dimodelo enhances maintainability with change propagation, allows developers to stay focused on business outcomes, and automates portability across data platforms.|[Product page](https://www.dimodelo.com/data-warehouse-studio-for-azure-synapse/)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/dimodelosolutions.dimodeloazurevs)<br> |
-| ![Fivetran](./media/data-integration/fivetran_logo.png) |**Fivetran**<br>Fivetran helps you centralize data from disparate sources. It features a zero maintenance, zero configuration data pipeline product with a growing list of built-in connectors to all the popular data sources. Setup takes five minutes after authenticating to data sources and target data warehouse.|[Product page](https://fivetran.com/)<br> |
+| ![Fivetran](./media/data-integration/fivetran_logo.png) |**Fivetran**<br>Fivetran helps you centralize data from disparate sources. It features a zero maintenance, zero configuration data pipeline product with a growing list of built-in connectors to all the popular data sources. Setup takes five minutes after authenticating to data sources and target data warehouse.|[Product page](https://www.fivetran.com/partners-microsoft-azure)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/fivetran.fivetran_data_pipelines?tab=Overview)<br> |
| ![HVR](./media/data-integration/hvr-logo.png) |**HVR**<br>HVR provides a real-time cloud data replication solution that supports enterprise modernization efforts. The HVR platform is a reliable, secure, and scalable way to quickly and efficiently integrate large data volumes in complex environments, enabling real-time data updates, access, and analysis. Global market leaders in various industries trust HVR to address their real-time data integration challenges and revolutionize their businesses. HVR is a privately held company based in San Francisco, with offices across North America, Europe, and Asia.|[Product page](https://www.hvr-software.com/solutions/azure-data-integration/)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/hvr.hvr-for-azure?tab=Overview)<br>| | ![Incorta](./media/data-integration/incorta-logo.png) |**Incorta**<br>Incorta enables organizations to go from raw data to quickly discovering actionable insights in Azure by automating the various data preparation steps typically required to analyze complex data. which. Using a proprietary technology called Direct Data Mapping and Incorta's Blueprints (pre-built content library and best practices captured from real customer implementations), customers experience unprecedented speed and simplicity in accessing, organizing, and presenting data and insights for critical business decision-making.|[Product page](https://www.incorta.com/solutions/microsoft-azure-synapse)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/incorta.incorta_direct_data_platform)<br>| | ![Informatica](./media/data-integration/informatica_logo.png) |**1.Informatica Cloud Services for Azure**<br> Informatica Cloud offers a best-in-class solution for self-service data migration, integration, and management capabilities. Customers can quickly and reliably import, and export petabytes of data to Azure from different kinds of sources. Informatica Cloud Services for Azure provides native, high volume, high-performance connectivity to Azure Synapse, SQL Database, Blob Storage, Data Lake Store, and Azure Cosmos DB. <br><br> **2.Informatica PowerCenter** PowerCenter is a metadata-driven data integration platform that jumpstarts and accelerates data integration projects to deliver data to the business more quickly than manual hand coding. It serves as the foundation for your data integration investments |**Informatica Cloud services for Azure**<br>[Product page](https://www.informatica.com/products/cloud-integration.html)<br>[Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/informatica.iics-secure-agent)<br><br> **Informatica PowerCenter**<br>[Product page](https://www.informatica.com/products/data-integration/powercenter.html)<br> [Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/informatica.powercenter-1041?tab=Overview)<br>|
synapse-analytics Release Notes 10 0 10106 0 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/synapse-analytics/sql-data-warehouse/release-notes-10-0-10106-0.md
For tooling improvements, make sure you have the correct version installed speci
| Service improvements | Details | | | | |**Virtual Network Service Endpoints Generally Available**|This release includes general availability of Virtual Network (VNet) Service Endpoints for SQL Analytics in Azure Synapse in all Azure regions. VNet Service Endpoints enable you to isolate connectivity to your server from a given subnet or set of subnets within your virtual network. The traffic to Azure Synapse from your VNet will always stay within the Azure backbone network. This direct route will be preferred over any specific routes that take Internet traffic through virtual appliances or on-premises. No additional billing is charged for virtual network access through service endpoints. Current pricing model for [Azure Synapse](https://azure.microsoft.com/pricing/details/sql-data-warehouse/gen2/) applies as is.<br/><br/>With this release, we also enabled PolyBase connectivity to [Azure Data Lake Storage Gen2](../../storage/blobs/data-lake-storage-introduction.md?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json) (ADLS) via [Azure Blob File System](../../storage/blobs/data-lake-storage-abfs-driver.md?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json) (ABFS) driver. Azure Data Lake Storage Gen2 brings all the qualities that are required for the complete lifecycle of analytics data to Azure Storage. Features of the two existing Azure storage services, Azure Blob Storage and Azure Data Lake Storage Gen1 are converged. Features from [Azure Data Lake Storage Gen1](../../data-lake-store/index.yml?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json), such as file system semantics, file-level security, and scale are combined with low-cost, tiered storage, and high availability/disaster recovery capabilities from [Azure Blob Storage](../../storage/blobs/storage-blobs-introduction.md?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json).<br/><br/>Using Polybase you can also import data into SQL Analytics in Azure Synapse from Azure Storage secured to VNet. Similarly, exporting data from Azure Synapse to Azure Storage secured to VNet is also supported via Polybase.<br/><br/>For more information on VNet Service Endpoints in Azure Synapse, refer to the [blog post](https://azure.microsoft.com/blog/general-availability-of-vnet-service-endpoints-for-azure-sql-data-warehouse/) or the [documentation](../../azure-sql/database/vnet-service-endpoint-rule-overview.md?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json).|
-|**Automatic Performance Monitoring (Preview)**|[Query Store](/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json&view=azure-sqldw-latest&preserve-view=true) is now available in Preview in SQL Analytics in Azure Synapse. Query Store is designed to help you with query performance troubleshooting by tracking queries, query plans, runtime statistics, and query history to help you monitor the activity and performance of your data warehouse. Query Store is a set of internal stores and Dynamic Management Views (DMVs) that allow you to:<br/><br/>&bull; &nbsp; Identify and tune top resource consuming queries<br/>&bull; &nbsp; Identify and improve unplanned workloads<br/>&bull; &nbsp; Evaluate query performance and impact to the plan by changes in statistics, indexes, or system size (DWU setting)<br/>&bull; &nbsp; See full query text for all queries executed<br/><br/>The Query Store contains three actual stores:<br/>&bull; &nbsp; A plan store for persisting the execution plan information<br/>&bull; &nbsp; A runtime stats store for persisting the execution statistics information<br/>&bull; &nbsp; A wait stats store for persisting wait stats information.<br/><br/>SQL Analytics in Azure Synapse manages these stores automatically and provides an unlimited number of queries storied over the last seven days at no additional charge. Enabling Query Store is as simple as running an ALTER DATABASE T-SQL statement: <br/>sql -ALTER DATABASE [DatabaseName] SET QUERY_STORE = ON;-For more information on Query Store, see the article, [Monitoring performance by using the Query Store](/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store), and the Query Store DMVs, such as [sys.query_store_query](/sql/relational-databases/system-catalog-views/sys-query-store-query-transact-sql?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json&view=azure-sqldw-latest&preserve-view=true). Here is the [blog post](https://azure.microsoft.com/blog/automatic-performance-monitoring-in-azure-sql-data-warehouse-with-query-store/) announcing the release.|
+|**Automatic Performance Monitoring (Preview)**|[Query Store](/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json&view=azure-sqldw-latest&preserve-view=true) is now available in Preview in SQL Analytics in Azure Synapse. Query Store is designed to help you with query performance troubleshooting by tracking queries, query plans, runtime statistics, and query history to help you monitor the activity and performance of your data warehouse. Query Store is a set of internal stores and Dynamic Management Views (DMVs) that allow you to:<br/><br/>&bull; &nbsp; Identify and tune top resource consuming queries<br/>&bull; &nbsp; Identify and improve unplanned workloads<br/>&bull; &nbsp; Evaluate query performance and impact to the plan by changes in statistics, indexes, or system size (DWU setting)<br/>&bull; &nbsp; See full query text for all queries executed<br/><br/>The Query Store contains three actual stores:<br/>&bull; &nbsp; A plan store for persisting the execution plan information<br/>&bull; &nbsp; A runtime stats store for persisting the execution statistics information<br/>&bull; &nbsp; A wait stats store for persisting wait stats information.<br/><br/>SQL Analytics in Azure Synapse manages these stores automatically and provides an unlimited number of queries storied over the last seven days at no additional charge. Enabling Query Store is as simple as running an ALTER DATABASE T-SQL statement: <br/>sql -ALTER DATABASE [DatabaseName] SET QUERY_STORE = ON;-For more information on Query Store, see the article, [Monitoring performance by using the Query Store](/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store), and the Query Store DMVs, such as [sys.query_store_query](/sql/relational-databases/system-catalog-views/sys-query-store-query-transact-sql?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json&view=azure-sqldw-latest&preserve-view=true). Here is the [blog post](https://azure.microsoft.com/blog/automatic-performance-monitoring-in-azure-sql-data-warehouse-with-query-store/) announcing the release. For more information on historical query analysis, see [Historical query storage and analysis in Azure Synapse Analytics](../sql/query-history-storage-analysis.md).|
|**Lower Compute Tiers for SQL Analytics**|SQL Analytics in Azure Synapse now supports lower compute tiers. Customers can experience Azure Synapse's leading performance, flexibility, and security features starting with 100 cDWU ([data warehouse units](what-is-a-data-warehouse-unit-dwu-cdwu.md)) and scale to 30,000 cDWU in minutes. Starting mid-December 2018, customers can benefit from Gen2 performance and flexibility with lower compute tiers in [regions](gen2-migration-schedule.md#automated-schedule-and-region-availability-table), with the rest of the regions available during 2019.<br/><br/>By dropping the entry point for next-generation data warehousing, Microsoft opens the doors to value-driven customers who want to evaluate all the benefits of a secure, high-performance data warehouse without guessing which trial environment is best for them. Customers may start as low as 100 cDWU, down from the current 500 cDWU entry point. SQL Analytics continues to support pause and resume operations and goes beyond just the flexibility in compute. Gen2 also supports unlimited column-store storage capacity along with 2.5 times more memory per query, up to 128 concurrent queries and [adaptive caching](https://azure.microsoft.com/blog/adaptive-caching-powers-azure-sql-data-warehouse-performance-gains/) features. These features on average bring five times more performance compared to the same data warehouse Unit on Gen1 at the same price. Geo-redundant backups are standard for Gen2 with built-in guaranteed data protection. SQL Analytics in Azure Synapse is ready to scale when you are.| |**Columnstore Background Merge**|By default, Azure SQL Data stores data in columnar format, with micro-partitions called [rowgroups](sql-data-warehouse-memory-optimizations-for-columnstore-compression.md). Sometimes, due to memory constrains at index build or data load time, the rowgroups may be compressed with less than the optimal size of one million rows. Rowgroups may also become fragmented due to deletes. Small or fragmented rowgroups result in higher memory consumption, as well as inefficient query execution. With this release, the columnstore background maintenance task merges small compressed rowgroups to create larger rowgroups to better utilize memory and speed up query execution. | | |
virtual-machines Cloudinit Update Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/linux/cloudinit-update-vm.md
Previously updated : 06/01/2021 Last updated : 02/18/2022
packages:
Before deploying, you need to create a resource group with the [az group create](/cli/azure/group) command. An Azure resource group is a logical container into which Azure resources are deployed and managed. The following example creates a resource group named *myResourceGroup* in the *eastus* location. ```azurecli-interactive
-az group create --name myResourceGroup --location eastus
+az group create --name myCentOSGroup --location eastus
``` Now, create a VM with [az vm create](/cli/azure/vm) and specify the cloud-init file with the `--custom-data` parameter as follows: ```azurecli-interactive az vm create \
- --resource-group myResourceGroup \
- --name centos74 \
- --image OpenLogic:CentOS:7.5:latest \
+ --resource-group myCentOSGroup \
+ --name centos83 \
+ --image OpenLogic:CentOS:8_3:latest \
--custom-data cloud_init_upgrade.txt \
+ --admin-username azureuser \
--generate-ssh-keys ``` SSH to the public IP address of your VM shown in the output from the preceding command. Enter your own **publicIpAddress** as follows: ```bash
-ssh <publicIpAddress>
+ssh azureuser@<publicIpAddress>
``` Run the package management tool and check for updates.
sudo yum update
As cloud-init checked for and installed updates on boot, there should be no additional updates to apply. You see the update process, number of altered packages as well as the installation of `httpd` by running `yum history` and review the output similar to the one below. ```bash
-Loaded plugins: fastestmirror, langpacks
-ID | Command line | Date and time | Action(s) | Altered
--
- 3 | -t -y install httpd | 2018-04-20 22:42 | Install | 5
- 2 | -t -y upgrade | 2018-04-20 22:38 | I, U | 65
- 1 | | 2017-12-12 20:32 | Install | 522
+ID | Command line | Date and time | Action(s) | Altered
+--
+ 3 | -y install httpd | 2022-02-18 18:30 | Install | 7
+ 2 | -y upgrade | 2022-02-18 18:23 | I, O, U | 321 EE
+ 1 | | 2021-02-04 19:20 | Install | 496 EE
``` ## Next steps
virtual-machines Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/workloads/sap/get-started.md
The uniqueness of Azure for SAP HANA is an offer that sets Azure apart. To enabl
Hosting SAP workload scenarios in Azure also can create requirements of identity integration and single sign-on. This situation can occur when you use Azure Active Directory (Azure AD) to connect different SAP components and SAP software-as-a-service (SaaS) or platform-as-a-service (PaaS) offers. A list of such integration and single sign-on scenarios with Azure AD and SAP entities is described and documented in the section "Azure AD SAP identity integration and single sign-on." ## Changes to the SAP workload section
-Changes to documents in the SAP on Azure workload section are listed at the end of this article. The entries in the change log are kept for around 180 days.
+Changes to documents in the SAP on Azure workload section are listed at the [end of this article](./get-started.md#change-log). The entries in the change log are kept for around 180 days.
## You want to know If you have specific questions, we are going to point you to specific documents or flows in this section of the start page. You want to know:
In this section, you find documents about Microsoft Power BI integration into SA
## Change Log
+- February 13, 2022: Corrected broken links to HANA hardware directory in the following documents: SAP Business One on Azure Virtual Machines, Available SKUs for HANA Large Instances, Certification of SAP HANA on Azure (Large Instances), Installation of SAP HANA on Azure virtual machines, SAP workload planning and deployment checklist, SAP HANA infrastructure configurations and operations on Azure, SAP HANA on Azure Large Instance migration to Azure Virtual Machines, Install and configure SAP HANA (Large Instances) ,on Azure, High availability of SAP HANA scale-out system on Red Hat Enterprise Linux, High availability for SAP HANA scale-out system with HSR on SUSE Linux Enterprise Server, High availability of SAP HANA on Azure VMs on SUSE Linux Enterprise Server, Deploy a SAP HANA scale-out system with standby node on Azure VMs by using Azure NetApp Files on SUSE Linux Enterprise Server, SAP workload on Azure virtual machine supported scenarios, What SAP software is supported for Azure deployments
- February 13, 2022: Change in [HA for SAP NetWeaver on Azure VMs on Windows with Azure NetApp Files(SMB)](./high-availability-guide-windows-netapp-files-smb.md) to add instructions about adding the SAP installation user as `Administrators Privilege user` to avoid SWPM permission errors - February 09, 2022: Add more information around 4K sectors usage of Db2 11.5 in [IBM Db2 Azure Virtual Machines DBMS deployment for SAP workload](./dbms_guide_ibm.md) - February 08, 2022: Style changes in [SQL Server Azure Virtual Machines DBMS deployment for SAP NetWeaver](./dbms_guide_sqlserver.md) - February 07, 2022: Adding new functionality [ANF application volume groups for HANA](../../../azure-netapp-files/application-volume-group-introduction.md) in documents [NFS v4.1 volumes on Azure NetApp Files for SAP HANA](./hana-vm-operations-netapp.md) and [Azure proximity placement groups for optimal network latency with SAP applications](./sap-proximity-placement-scenarios.md)-- January 30, 2022: Adding context about SQL Server proprotional fill and expectations that SQL server data files should be the same size and should have the same free space in [SQL Server Azure Virtual Machines DBMS deployment for SAP NetWeaver](./dbms_guide_sqlserver.md)
+- January 30, 2022: Adding context about SQL Server proprotional fill and expectations that SQL Server data files should be the same size and should have the same free space in [SQL Server Azure Virtual Machines DBMS deployment for SAP NetWeaver](./dbms_guide_sqlserver.md)
- January 24, 2022: Change in [HA for SAP NW on SLES with NFS on Azure Files](./high-availability-guide-suse-nfs-azure-files.md), [HA for SAP NW on Azure VMs on SLES with ANF](./high-availability-guide-suse-netapp-files.md), [HA for SAP NW on Azure VMs on SLES for SAP applications](./high-availability-guide-suse.md), [HA for NFS on Azure VMs on SLES](./high-availability-guide-suse-nfs.md), [HA for SAP NNW on Azure VMs on SLES multi-SID guide](./high-availability-guide-suse-multi-sid.md), [HA for SAP NW on RHEL with NFS on Azure Files](./high-availability-guide-rhel-nfs-azure-files.md), [HA for SAP NW on Azure VMs on RHEL for SAP applications](./high-availability-guide-rhel.md) and [HA for SAP NW on Azure VMs on RHEL with ANF](./high-availability-guide-rhel-netapp-files.md) and [HA for SAP NW on Azure VMs on RHEL multi-SID guide](./high-availability-guide-rhel-multi-sid.md) to remove cidr_netmask from Pacemaker configuration to allow the resource agent to determine the value automatically - January 12, 2022: Change in [HA for SAP NetWeaver on Azure VMs on Windows with Azure NetApp Files(SMB)](./high-availability-guide-windows-netapp-files-smb.md) to remove obsolete information for the SAP kernel that supports the scenario. - December 08, 2021: Change in [SQL Server Azure Virtual Machines DBMS deployment for SAP NetWeaver](./dbms_guide_sqlserver.md) to clarify Azure Load Balancer settings
virtual-wan Global Hub Profile https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-wan/global-hub-profile.md
To include or exclude a specific hub from the global VPN profile:
1. Click **Include/Exclude Gateway from Global Profile**
- :::image type="content" source="./media/global-hub-profile/include-exclude-1.png" alt-text="Screenshot showing how to include or exclude hub from profile" lightbox="/media/global-hub-profile/include-exclude-1.png":::
+ :::image type="content" source="./media/global-hub-profile/include-exclude-1.png" alt-text="Screenshot showing how to include or exclude hub from profile." lightbox="./media/global-hub-profile/include-exclude-1.png":::
1. Click **Exclude** if you wish to remove this hub's gateway from the WAN Global User VPN Profile. Users who are using the Hub-level User VPN profile will still be able to connect to this gateway. Users who are using the WAN-level profile will not be able to connect to this gateway.
virtual-wan Monitor Point To Site Connections https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-wan/monitor-point-to-site-connections.md
+
+ Title: 'How to monitor P2S connections'
+
+description: Learn how to set up an Azure workbook for P2S monitoring.
++++ Last updated : 01/18/2022+++
+# How to monitor point-to-site connections for Virtual WAN
+
+This section documents how to create an Azure Workbook that shows relevant data of User VPN clients connected to Azure Virtual WAN.
+
+## Before you begin
+
+To complete the steps in this article, you need to have a virtual WAN, a hub, and a User VPN Gateway. To create these resources, follow the steps in this article: [Create virtual WAN, a hub, and a gateway](virtual-wan-point-to-site-portal.md)
+
+## Workbook solution architecture
+
+When you work with Azure Virtual WAN and look at metrics, itΓÇÖs most often done from within the context of an Azure workbook. In this solution, we'll use what's already available in Azure workbook and enrich it with more details, especially about active connections.
+
+* **AzureDiagnostics:** These logs are received by enabling P2S Debugging through Azure Monitor debug settings and enabling the following logs: GatewayDiagnosticLog, IKEDiagnosticLog, P2SDiagnosticLog, AllMetrics. Some logs are noisy and costly regarding Log Analytics cost, specially IKEDiagnostics.
+
+* **Get-AzP2sVpnGatewayDetailedConnectionHealth:** This is a PowerShell command (running in a function app) to get active sessions details. This command only supports storing data in a storage account based on a SAS Key.
+
+The following figure shows the involved components in the suggested solution:
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/workbook-architecture.png" alt-text="Screenshot shows workbook architecture.":::
+
+The VPN service is running in the Azure vWAN P2S VPN gateway. It has associated metrics and debugs settings that can be read from within an Azure workbook. To get the extra information that the PowerShell command can provide, we choose to execute this command in an Azure function app. From the function app, we store the output in an Azure storage account.
+
+The output stored in the storage account is fetched from within the workbook by using a special function called "externaldata".
+
+## Create Azure storage account
+
+1. In the portal, in the **Search resources** bar, type **Storage accounts**.
+
+1. Select **Storage accounts** from the results. On the Storage accounts page, select **+ Create** to open the **Create a storage account** page.
+
+1. On the **Create WAN** page, on the **Basics** tab, fill in the fields. Modify the example values to apply to your environment.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/storage-account-basics.png" alt-text="Screenshot shows the basics section of creating a storage account.":::
+
+ * **Subscription**: Select the subscription that you want to use
+ * **Resource group**: Create new or use existing
+ * **Storage account name**: Type the name you want to call your storage account
+ * **Region**: Select a region for your storage account
+ * **Performance**: Standard or Premium. **Standard** is adequate for our monitoring purposes
+ * **Redundancy**: Choose between Locally redundant storage, Geo-redundant storage, Zone-redundant storage, and Geo-zone-redundant storage
+
+ After you finish filling out the fields, at the bottom of the page, select **Next: Advanced>**.
+
+1. On the **Advanced** page, fill out the following fields.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/storage-account-advanced.png" alt-text="Screenshot shows advanced section of creating a storage account.":::
+
+ * **Require secure transfer for REST API operations**: Choose **Enabled**.
+ * **Enable blob public access**: Choose **Disabled**.
+ * **Enable storage account key access**: Choose **Enabled**.
+ * **Default to Azure Active Directory authorization in the Azure portal**: Choose **Enabled**.
+ * **Minimum TLS version**: Choose **Version 1.2**.
+
+1. Select **Review + create** at the bottom to run validation.
+
+1. Once validation passes, select **Create** to create the storage account.
+
+## Create container
+
+1. Once the deployment is complete, go to the resource.
+1. On the left panel, select **Containers** under **Data storage**.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/container-create.png" alt-text="Screenshot shows the initial container page." lightbox="./media/monitor-point-to-site-connections/container-create.png":::
+1. Select **+ Container** to create a new container.
+1. Type a **Name** for your container and select **Create**.
+
+## Create and upload blob to container
+
+1. On your computer, open a text editor application such as **Notepad**.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/notepad.png" alt-text="Screenshot shows how to open notepad.":::
+1. Leave the text file empty and select **File -> Save As**.
+1. Save the empty text file with a name of your choice followed by the **.json** extension.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/empty-json.png" alt-text="Screenshot shows how to save json file." lightbox="./media/monitor-point-to-site-connections/empty-json.png" :::
+1. Go back to the **Containers** section in portal.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/container-after.png" alt-text="Screenshot shows the container section after creating new container." lightbox="./media/monitor-point-to-site-connections/container-after.png" :::
+1. Select on the second row, which corresponds to the container you created (not $logs).
+1. If you see this red warning message saying ""**You do not have permission...**"", then select **Switch to Access key** as your authentication method. This is located right below the red warning box.
+1. Select **Upload**.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/specific-container.png" alt-text="Screenshot shows the specific container that was created by user." lightbox="./media/monitor-point-to-site-connections/specific-container.png" :::
+1. Select the file corresponding to your empty JSON file on your machine and select **Upload**.
+1. After the file gets uploaded, select on the JSON file and navigate to the **Generate SAS** tab.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/generate-sas.png" alt-text="Screenshot shows the Generate SAS field for blob." lightbox="./media/monitor-point-to-site-connections/generate-sas.png":::
+1. Under **Signing method**, choose **Account key**.
+1. Under **Permissions**, give the key the following permissions: **Read, Add, Create, and Write**.
+1. Choose an **Expiry** date and time for the key.
+1. Select **Generate SAS token and URL**.
+1. Copy down the **Blob SAS token** and **Blob SAS URL** to a secure location.
+
+## Create Azure function app
+
+1. In the portal, in the **Search resources** bar, type **Function App**.
+
+1. Select **Function App** from the results. On the Function App page, select **+ Create** to open the **Create Function App** page.
+
+1. On the **Create WAN** page, on the **Basics** tab, fill in the fields. Modify the example values to apply to your environment.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/function-app-basics.png" alt-text="Screenshot shows the basics tab of function app.":::
+
+ * **Subscription**: Select the subscription that you want to use
+ * **Resource group**: Create new or use existing
+ * **Function App name**: Choose a name for Function App
+ * **Publish**: Select **Code**
+ * **Runtime stack**: Select **PowerShell Core**
+ * **Version**: Choose 7.0 (or your preferred version)
+ * **Region**: Choose your preferred region
+
+1. The remaining tabs are optional to change, so you can select **Review + create** and then select **Create** when validation passes.
+1. Go to the **Function App** resource.
+1. Select on **Identity** under **Settings** in the left panel. Toggle the **Status** button to **On** for **System assigned** and select **Save**.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/function-app-identity.png" alt-text="Screenshot shows the identity tab of function app.":::
+1. Select on **Configuration** under **Settings** in the left panel.
+1. Select on **+ New application setting**.
+
+1. Create the following 7 entries by inputting the **Name** and **Value**, then select **OK** after each value..
+
+ | Name | Value|
+ |||
+ |"resourcegroup" | your resource group |
+ | "sasuri"| your resource group|
+ | "storageaccountname"| `@Microsoft.KeyVault(SecretUri=https://\<keyvaultname>.vault.azure.net/secrets/sasuri/\<version>)`-->update accordingly after keyvault is created in next section. |
+ | "storagecontainer"| your storage container name|
+ |"subscription" |your subscription ID |
+ |"tenantname" | your tenant ID |
+ | "vpngw"|This name is something like \<guid>-eastus-ps2-gw. You can get this from the vWAN HUB User VPN settings. |
+
+1. Select **Save**.
+
+1. Select on **Functions** in the left panel and select **+ Create**.
+
+1. Fill in the fields.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/creating-function.png" alt-text="Screenshot shows the page when creating a function." lightbox="./media/monitor-point-to-site-connections/creating-function.png":::
+
+ * **Development Environment**: Develop in portal
+ * **Template**: Timer Trigger
+ * **New Function**: Choose a name for the Function
+ * **Schedule**: Enter a cron expression of the format '{second} {minute} {hour} {day} {month} {day of the week}' to specify the schedule
+
+1. Select **Code + Test** in the left panel, and type the following code in the **run.ps1** file. Select **Save**.
+
+ ```azurepowershell-interactive
+ # Input bindings are passed in via param block.
+ param($Timer)
+
+ # Get the current universal time in the default string format.
+ $currentUTCtime = (Get-Date).ToUniversalTime()
+
+ # The 'IsPastDue' property is "true" when the current function invocation is later than scheduled.
+ if($Timer.IsPastDue){
+ Write-Host "PowerShell timer is running late!"
+ }
+
+ ## Write an information log with current time.
+ Write-Host "PowerShell timer trigger function ran! TIME:$currentUTCtime"
+
+ $tenantname = $env:appsetting_tenantname
+ $subscription = $env:appsetting_subscription
+ $resourceGroup = $env:appsetting_resourcegroup
+ $storageAccountName = $env:appsetting_storageaccountname
+ $vpnstatsfile = $env:appsetting_vpnstatsfile
+ $vpngw = $env:appsetting_vpngw
+ $sasuri = $env:appsetting_sasuri
+
+ connect-azaccount -tenant $tenantname -identity -subscription $subscription
+
+ Get-AzP2sVpnGatewayDetailedConnectionHealth -name $vpngw -ResourceGroupName $resourceGroup -OutputBlobSasUrl
+ $sasuri
+ ```
+
+1. Navigate back to the **Function App** page and select on **App Service Editor** in the left panel under **Development Tools**. Then, select **Go -->**.
+
+1. Go to **requirements.psd1** and uncomment the line beginning with **'Az'...** as shown.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/requirements-file.png" alt-text="Screenshot showing the requirements file for function app." lightbox="./media/monitor-point-to-site-connections/requirements-file.png" :::
+
+1. For the **get-AzP2sVpnGatewayDetailedConnectionHealth** command to succeed, you need to have the right permissions to the information. Navigate to your resource group and choose "Access Control (IAM)" in the left panel. This corresponds to identity and access management. Assign the **FunctionApp** read access over the resource group.
+
+## Create Azure Key Vault
+
+1. In the portal, in the **Search resources** bar, type **Key vaults**.
+
+1. Select **+ Create** from the results to open the **Create a key vault** page.
+
+1. On the **Basics** tab, fill in the fields. Modify the example values to apply to your environment.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/key-vault-basics.png" alt-text="Screenshot shows the basics section of creating a key vault.":::
+
+ * **Subscription**: Select the subscription that you want to use.
+ * **Resource group**: Create new or use existing.
+ * **Storage account name**: Type the name you want to call your key vault.
+ * **Region**: Select a region for your storage account.
+ * **Pricing tier**: Standard or Premium. **Standard** is adequate for our monitoring purposes.
+1. Select **Next: Access policy >**.
+1. Under **Permission model**, choose **Vault access policy**.
+1. Leave the options under **Resource access** as disabled.
+1. Under **Access policies**, select **+ Create**.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/create-access-policy-screen-1.png" alt-text="Screenshot shows first screen in creating access policy." lightbox="./media/monitor-point-to-site-connections/create-access-policy-screen-1.png" :::
+1. Select **Next** to go to the **Principal** tab. Type the name of your function app and select it.
+1. Select **Next** twice to get to the fourth tab: **Review + create** and select **Create** at the bottom.
+1. You should now see the newly created access policy under the **Access policies** section. Modifying the default values under the **Networking** tab is optional, so select **Review + create** in the bottom left corner.
+1. Go to **Secrets** under **Objects** under the left panel of the key vault resource. Select **+ Generate/Import** and add secret as follows:
+
+ * **Name**: sasuri
+ * **value**: \<SASURI>
+ * **Enabled**: Yes
+1. Go back to the **Configuration** tab for the Function App and modify the following entry. The value comes from the **Secret Identifier** field that appears after clicking on the secret:
+
+ * **Name**: "sasuri"
+ * **Value**: `@Microsoft.KeyVault(SecretUri=https://\<keyvaultname>.vault.azure.net/secrets/sasuri/\<version>)`
+
+## Create Azure Workbook
+
+The Azure workbook is now ready to be created. We'll use a mix of built-in functionality and the added session details from our function app solution.
+
+1. Navigate to your Virtual WAN resource and select on **Insights** under **Monitor** in the left panel. Select on **Workbooks** and then select **+ New**.
+1. Add the following query into the workbook. Replace "SASURI" with your sas uri.
+
+ ```
+ let P2Svpnconnections = (externaldata (resource:string, UserNameVpnConnectionHealths: dynamic) [
+ @"SASURI"
+ ] with(format="multijson"));
+
+ P2Svpnconnections
+ | mv-expand UserNameVpnConnectionHealths
+ | extend Username = parse_json(UserNameVpnConnectionHealths).UserName
+ | extend VpnConnectionHealths = parse_json(parse_json(UserNameVpnConnectionHealths).VpnConnectionHealths)
+ | mv-expand VpnConnectionHealths
+ | extend VpnConnectionId = parse_json(VpnConnectionHealths).VpnConnectionId, VpnConnectionDuration = parse_json(VpnConnectionHealths).VpnConnectionDuration, VpnConnectionTime = parse_json(VpnConnectionHealths).VpnConnectionTime, PublicIpAddress = parse_json(VpnConnectionHealths).PublicIpAddress, PrivateIpAddress = parse_json(VpnConnectionHealths).PrivateIpAddress, MaxBandwidth = parse_json(VpnConnectionHealths).MaxBandwidth, EgressPacketsTransferred = parse_json(VpnConnectionHealths).EgressPacketsTransferred, EgressBytesTransferred = parse_json(VpnConnectionHealths).EgressBytesTransferred, IngressPacketsTransferred = parse_json(VpnConnectionHealths).IngressPacketsTransferred, IngressBytesTransferred = parse_json(VpnConnectionHealths).IngressBytesTransferred, MaxPacketsPerSecond = parse_json(VpnConnectionHealths).MaxPacketsPerSecond
+ | extend PubIp = tostring(split(PublicIpAddress, ":").[0])
+ | project Username, VpnConnectionId, VpnConnectionDuration, VpnConnectionTime, PubIp, PublicIpAddress, PrivateIpAddress, MaxBandwidth, EgressPacketsTransferred, EgressBytesTransferred, IngressPacketsTransferred, IngressBytesTransferred, MaxPacketsPerSecond;
+
+ ```
+
+1. To see the results, select the blue button **Run Query** to see the results.
+1. If yous see the following error, then navigate back to the file (vpnstatfile.json) in the storage container's blob, and regenerate the SAS URL. Then paste the updated SAS URL in the query.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/workbook-error.png" alt-text="Screenshot shows error when running query in workbook.":::
+1. Save the workbook to return to it later.
+1. For the following metrics, you must enable diagnostics logging by adding diagnostic settings in Azure portal. Fill in the required fields for subscription and resource group. For resource type, type in "microsoft.network/p2svpngateways". Add a diagnostic setting (or edit the current diagnostic setting) for the point-to-site gateway you wish to monitor.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/final-monitoring.png" alt-text="Screenshot shows first Diagnostic settings page in Azure Monitor." lightbox="./media/monitor-point-to-site-connections/final-monitoring.png" :::
+
+1. Enable allLogs and allMetrics, and choose to send to "Log Analytics workspace" as the destination. Some logs are noisy and might be costly (specifically IKEDiagnosticLog). As a result, feel free to enable only specific logs you want to view instead of enabling allLogs.
+
+ :::image type="content" source="./media/monitor-point-to-site-connections/diagnostic-setting.png" alt-text="Screenshot shows second Diagnostic settings page in Azure Monitor." lightbox="./media/monitor-point-to-site-connections/diagnostic-setting.png":::
+
+## Example queries
+
+The following section shows example queries.
+
+### P2S User successful connections with IP
++
+### EAP (Extensible Authentication Protocol) authentication succeeded
++
+### P2S VPN user info
++
+### P2S VPN successful connections per user
++
+### P2S VPN connections
++
+### Successful P2S VPN connections
++
+### Failed P2S VPN connections
++
+### VPN connection count by P2SDiagnosticLog
++
+### IKEDiagnosticLog
++
+### Additional IKE diagnostics details
++
+### P2S VPN statistics
++
+## Next steps
+
+To learn more about frequently asked questions, see the [Virtual WAN FAQ](virtual-wan-faq.md) page.