diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 614f6ff6282c..a57723fbc08b 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -943,6 +943,11 @@ "redirect_url": "/azure/frontdoor/front-door-overview", "redirect_document_id": false }, + { + "source_path_from_root": "/articles/frontdoor/standard-premium/how-to-configure-endpoint-manager.md", + "redirect_url": "/azure/frontdoor/how-to-configure-endpoints", + "redirect_document_id": false + }, { "source_path_from_root": "/articles/app-service-web/web-sites-dotnet-deploy-aspnet-mvc-app-membership-oauth-sql-database.md", "redirect_url": "/aspnet/core/security/authorization/secure-data", diff --git a/articles/active-directory-b2c/custom-policy-developer-notes.md b/articles/active-directory-b2c/custom-policy-developer-notes.md index f645bb7e0145..2b185caa4ed6 100644 --- a/articles/active-directory-b2c/custom-policy-developer-notes.md +++ b/articles/active-directory-b2c/custom-policy-developer-notes.md @@ -9,7 +9,7 @@ manager: CelesteDG ms.service: active-directory ms.workload: identity ms.topic: reference -ms.date: 04/30/2022 +ms.date: 12/09/2021 ms.custom: project-no-code ms.author: kengaderdus ms.subservice: B2C @@ -156,7 +156,7 @@ The following table summarizes the Security Assertion Markup Language (SAML) app | ------- | :--: | ----- | | [MFA using time-based one-time password (TOTP) with authenticator apps](multi-factor-authentication.md#verification-methods) | Preview | Users can use any authenticator app that supports TOTP verification, such as the [Microsoft Authenticator app](https://www.microsoft.com/security/mobile-authenticator-app).| | [Phone factor authentication](phone-factor-technical-profile.md) | GA | | -| [Azure AD MFA authentication](multi-factor-auth-technical-profile.md) | GA | | +| [Azure AD MFA authentication](multi-factor-auth-technical-profile.md) | Preview | | | [One-time password](one-time-password-technical-profile.md) | GA | | | [Azure Active Directory](active-directory-technical-profile.md) as local directory | GA | | | [Predicate validations](predicates.md) | GA | For example, password complexity. | @@ -168,8 +168,8 @@ The following table summarizes the Security Assertion Markup Language (SAML) app | Feature | Custom policy | Notes | | ------- | :--: | ----- | | Azure portal | GA | | -| [Application Insights user journey logs](troubleshoot-with-application-insights.md) | GA | Used for troubleshooting during development. | -| [Application Insights event logs](analytics-with-application-insights.md) | GA | Used to monitor user flows in production. | +| [Application Insights user journey logs](troubleshoot-with-application-insights.md) | Preview | Used for troubleshooting during development. | +| [Application Insights event logs](analytics-with-application-insights.md) | Preview | Used to monitor user flows in production. | ## Responsibilities of custom policy feature-set developers diff --git a/articles/active-directory-b2c/deploy-custom-policies-devops.md b/articles/active-directory-b2c/deploy-custom-policies-devops.md index 85c4d1fe0910..1400d6ebfeb3 100644 --- a/articles/active-directory-b2c/deploy-custom-policies-devops.md +++ b/articles/active-directory-b2c/deploy-custom-policies-devops.md @@ -9,7 +9,7 @@ manager: CelesteDG ms.service: active-directory ms.workload: identity ms.topic: how-to -ms.date: 04/30/2022 +ms.date: 03/25/2022 ms.author: kengaderdus ms.subservice: B2C --- diff --git a/articles/active-directory-b2c/multi-factor-auth-technical-profile.md b/articles/active-directory-b2c/multi-factor-auth-technical-profile.md index e4f8fc6be2cd..439b04fbbb26 100644 --- a/articles/active-directory-b2c/multi-factor-auth-technical-profile.md +++ b/articles/active-directory-b2c/multi-factor-auth-technical-profile.md @@ -9,7 +9,7 @@ manager: CelesteDG ms.service: active-directory ms.workload: identity ms.topic: reference -ms.date: 04/30/2022 +ms.date: 12/09/2021 ms.author: kengaderdus ms.subservice: B2C --- @@ -18,6 +18,8 @@ ms.subservice: B2C Azure Active Directory B2C (Azure AD B2C) provides support for verifying a phone number by using a verification code, or verifying a Time-based One-time Password (TOTP) code. +[!INCLUDE [b2c-public-preview-feature](../../includes/active-directory-b2c-public-preview.md)] + ## Protocol The **Name** attribute of the **Protocol** element needs to be set to `Proprietary`. The **handler** attribute must contain the fully qualified name of the protocol handler assembly that is used by Azure AD B2C: @@ -166,9 +168,9 @@ The following example shows an Azure AD MFA technical profile used to verify the In this mode, the user is required to install any authenticator app that supports time-based one-time password (TOTP) verification, such as the [Microsoft Authenticator app](https://www.microsoft.com/security/mobile-authenticator-app), on a device that they own. -During the first sign up or sign in, the user scans a QR code, opens a deep link, or enters the code manually using the authenticator app. To verify the TOTP code, use the [Begin verify OTP](#begin-verify-totp) followed by [Verify TOTP](#verify-totp) validation technical profiles. +During the first sign-up or sign-in, the user scans a QR code, opens a deep link, or enters the code manually using the authenticator app. To verify the TOTP code, use the [Begin verify OTP](#begin-verify-totp) followed by [Verify TOTP](#verify-totp) validation technical profiles. -For subsequent sign ins, use the [Get available devices](#get-available-devices) method to check if the user has already enrolled their device. If the number of available devices is greater than zero, this indicates the user has enrolled before. In this case, the user needs to type the TOTP code that appears in the authenticator app. +For subsequent sign-ins, use the [Get available devices](#get-available-devices) method to check if the user has already enrolled their device. If the number of available devices is greater than zero, this indicates the user has enrolled before. In this case, the user needs to type the TOTP code that appears in the authenticator app. The technical profile: diff --git a/articles/active-directory-b2c/self-asserted-technical-profile.md b/articles/active-directory-b2c/self-asserted-technical-profile.md index 26cbabf60511..17312c5da0da 100644 --- a/articles/active-directory-b2c/self-asserted-technical-profile.md +++ b/articles/active-directory-b2c/self-asserted-technical-profile.md @@ -9,7 +9,7 @@ manager: CelesteDG ms.service: active-directory ms.workload: identity ms.topic: reference -ms.date: 04/30/2022 +ms.date: 02/17/2022 ms.author: kengaderdus ms.subservice: B2C --- @@ -50,6 +50,8 @@ In a self-asserted technical profile, you can use the **InputClaims** and **Inpu ## Display claims +The display claims feature is currently in **preview**. + The **DisplayClaims** element contains a list of claims to be presented on the screen for collecting data from the user. To prepopulate the values of display claims, use the input claims that were previously described. The element may also contain a default value. The order of the claims in **DisplayClaims** specifies the order in which Azure AD B2C renders the claims on the screen. To force the user to provide a value for a specific claim, set the **Required** attribute of the **DisplayClaim** element to `true`. @@ -131,7 +133,7 @@ Use output claims when: - **Claims are output by output claims transformation**. - **Setting a default value in an output claim** without collecting data from the user or returning the data from the validation technical profile. The `LocalAccountSignUpWithLogonEmail` self-asserted technical profile sets the **executed-SelfAsserted-Input** claim to `true`. - **A validation technical profile returns the output claims** - Your technical profile may call a validation technical profile that returns some claims. You may want to bubble up the claims and return them to the next orchestration steps in the user journey. For example, when signing in with a local account, the self-asserted technical profile named `SelfAsserted-LocalAccountSignin-Email` calls the validation technical profile named `login-NonInteractive`. This technical profile validates the user credentials and also returns the user profile. Such as 'userPrincipalName', 'displayName', 'givenName' and 'surName'. -- **A display control returns the output claims** - Your technical profile may have a reference to a [display control](display-controls.md). The display control returns some claims, such as the verified email address. You may want to bubble up the claims and return them to the next orchestration steps in the user journey. +- **A display control returns the output claims** - Your technical profile may have a reference to a [display control](display-controls.md). The display control returns some claims, such as the verified email address. You may want to bubble up the claims and return them to the next orchestration steps in the user journey. The display control feature is currently in **preview**. The following example demonstrates the use of a self-asserted technical profile that uses both display claims and output claims. diff --git a/articles/active-directory-b2c/technicalprofiles.md b/articles/active-directory-b2c/technicalprofiles.md index 321af52156db..aa7b6e11cbe9 100644 --- a/articles/active-directory-b2c/technicalprofiles.md +++ b/articles/active-directory-b2c/technicalprofiles.md @@ -9,7 +9,7 @@ manager: CelesteDG ms.service: active-directory ms.workload: identity ms.topic: reference -ms.date: 04/30/2022 +ms.date: 11/30/2021 ms.author: kengaderdus ms.subservice: B2C --- @@ -99,7 +99,7 @@ The **TechnicalProfile** element contains the following elements: | InputClaimsTransformations | 0:1 | A list of previously defined references to claims transformations that should be executed before any claims are sent to the claims provider or the relying party. | | InputClaims | 0:1 | A list of previously defined references to claim types that are taken as input in the technical profile. | | PersistedClaims | 0:1 | A list of previously defined references to claim types that will be persisted by the technical profile. | -| DisplayClaims | 0:1 | A list of previously defined references to claim types that are presented by the [self-asserted technical profile](self-asserted-technical-profile.md). | +| DisplayClaims | 0:1 | A list of previously defined references to claim types that are presented by the [self-asserted technical profile](self-asserted-technical-profile.md). The DisplayClaims feature is currently in preview. | | OutputClaims | 0:1 | A list of previously defined references to claim types that are taken as output in the technical profile. | | OutputClaimsTransformations | 0:1 | A list of previously defined references to claims transformations that should be executed after the claims are received from the claims provider. | | ValidationTechnicalProfiles | 0:n | A list of references to other technical profiles that the technical profile uses for validation purposes. For more information, see [Validation technical profile](validation-technical-profile.md).| diff --git a/articles/active-directory-b2c/whats-new-docs.md b/articles/active-directory-b2c/whats-new-docs.md index e1064d15b367..09687a2a3396 100644 --- a/articles/active-directory-b2c/whats-new-docs.md +++ b/articles/active-directory-b2c/whats-new-docs.md @@ -1,7 +1,7 @@ --- title: "What's new in Azure Active Directory business-to-customer (B2C)" description: "New and updated documentation for the Azure Active Directory business-to-customer (B2C)." -ms.date: 05/04/2022 +ms.date: 04/04/2022 ms.service: active-directory ms.subservice: B2C ms.topic: reference @@ -15,29 +15,6 @@ manager: CelesteDG Welcome to what's new in Azure Active Directory B2C documentation. This article lists new docs that have been added and those that have had significant updates in the last three months. To learn what's new with the B2C service, see [What's new in Azure Active Directory](../active-directory/fundamentals/whats-new.md). -## April 2022 - -### New articles - -- [Configure Asignio with Azure Active Directory B2C for multifactor authentication](partner-asignio.md) -- [Set up sign up and sign in with Mobile ID using Azure Active Directory B2C](identity-provider-mobile-id.md) -- [Find help and open a support ticket for Azure Active Directory B2C](find-help-open-support-ticket.md) - -### Updated articles - -- [Configure authentication in a sample single-page application by using Azure AD B2C](configure-authentication-sample-spa-app.md) -- [Configure xID with Azure Active Directory B2C for passwordless authentication](partner-xid.md) -- [Azure Active Directory B2C service limits and restrictions](service-limits.md) -- [Localization string IDs](localization-string-ids.md) -- [Manage your Azure Active Directory B2C tenant](tenant-management.md) -- [Page layout versions](page-layout.md) -- [Secure your API used an API connector in Azure AD B2C](secure-rest-api.md) -- [Azure Active Directory B2C: What's new](whats-new-docs.md) -- [Application types that can be used in Active Directory B2C](application-types.md) -- [Publish your Azure Active Directory B2C app to the Azure Active Directory app gallery](publish-app-to-azure-ad-app-gallery.md) -- [Quickstart: Set up sign in for a desktop app using Azure Active Directory B2C](quickstart-native-app-desktop.md) -- [Register a single-page application (SPA) in Azure Active Directory B2C](tutorial-register-spa.md) - ## March 2022 ### New articles diff --git a/articles/active-directory/app-proxy/application-proxy-configure-complex-application.md b/articles/active-directory/app-proxy/application-proxy-configure-complex-application.md new file mode 100644 index 000000000000..0961abaed925 --- /dev/null +++ b/articles/active-directory/app-proxy/application-proxy-configure-complex-application.md @@ -0,0 +1,120 @@ +--- +title: Complex applications for Azure Active Directory Application Proxy +description: Provides an understanding of complex application in Azure Active Directory Application Proxy, and how to configure one. +services: active-directory +author: kenwith +manager: karenhoran +ms.service: active-directory +ms.subservice: app-proxy +ms.workload: identity +ms.topic: how-to +ms.date: 04/22/2022 +ms.author: dhruvinshah +ms.reviewer: dhruvinshah +--- + +# Understanding Azure Active Directory Application Proxy Complex application scenario (Preview) + +When applications are made up of multiple individual web application using different domain suffixes or different ports or paths in the URL, the individual web application instances must be published in separate Azure AD Application Proxy apps and the following problems might arise: +1. Pre-authentication- The client must separately acquire an access token or cookie for each Azure AD Application Proxy app. This might lead to additional redirects to login.microsoftonline.com and CORS issues. +2. CORS issues- Cross-origin resource sharing calls (OPTIONS request) might be triggered to validate if the caller web app is allowed to access the URL of the targeted web app. These will be blocked by the Azure AD Application Proxy Cloud service, since these requests cannot contain authentication information. +3. Poor app management- Multiple enterprise apps are created to enable access to a private app adding friction to the app management experience. + +The following figure shows an example for complex application domain structure. + +![Diagram of domain structure for a complex application showing resource sharing between primary and secondary application.](./media/application-proxy-configure-complex-application/complex-app-structure.png) + +With [Azure AD Application Proxy](application-proxy.md), you can address this issue by using complex application publishing that is made up of multiple URLs across various domains. + +![Diagram of a Complex application with multiple application segments definition.](./media/application-proxy-configure-complex-application/complex-app-flow.png) + +A complex app has multiple app segments, with each app segment being a pair of an internal & external URL. +There is one conditional access policy associated with the app and access to any of the external URLs work with pre-authentication with the same set of policies that are enforced for all. + +This solution that allows user to: + +- by successfully authenticating +- not being blocked by CORS errors +- including those that uses different domain suffixes or different ports or paths in the URL internally + +This article provides you with the information you need to configure wildcard application publishing in your environment. + +## Characteristics of application segment(s) for complex application. +1. Application segments can be configured only for a wildcard application. +2. External and alternate URL should match the wildcard external and alternate URL domain of the application respectively. +3. Application segment URL’s (internal and external) need to maintain uniqueness across complex applications. +4. CORS Rules (optional) can be configured per application segment. +5. Access will only be granted to defined application segments for a complex application. + - Note - If all application segments are deleted, a complex application will behave as a wildcard application opening access to all valid URL by specified domain. +6. You can have an internal URL defined both as an application segment and a regular application. + - Note - Regular application will always take precedence over a complex app (wildcard application). + +## Pre-requisites +Before you get started with single sign-on for header-based authentication apps, make sure your environment is ready with the following settings and configurations: +- You need to enable Application Proxy and install a connector that has line of site to your applications. See the tutorial [Add an on-premises application for remote access through Application Proxy](application-proxy-add-on-premises-application.md#add-an-on-premises-app-to-azure-ad) to learn how to prepare your on-premises environment, install and register a connector, and test the connector. + + +## Configure application segment(s) for complex application. + +To configure (and update) Application Segments for a complex app using the API, you first [create a wildcard application](application-proxy-wildcard.md#create-a-wildcard-application), and then update the application's onPremisesPublishing property to configure the application segments and respective CORS settings. + +> [!NOTE] +> One application segment is supported in preview. Support for multiple application segment to be announced soon. + +If successful, this method returns a `204 No Content` response code and does not return anything in the response body. +## Example + +##### Request +Here is an example of the request. + + +```http +PATCH https://graph.microsoft.com/beta/applications/{ **AD FS management**. -1. In the navigation pane, select **Trust Relationships** > **Relying Party Trusts**. -1. Under **Actions**, select **Add Relying Party Trust**. -1. In the add relying party trust wizard, for **Select Data Source**, use the option **Import data about the relying party published online or on a local network**. Specify this federation metadata URL: `https://nexus.microsoftonline-p.com/federationmetadata/2007-06/federationmetadata.xml`. Leave other default selections. Select **Close**. -1. The **Edit Claim Rules** wizard opens. -1. In the **Edit Claim Rules** wizard, select **Add Rule**. In **Choose Rule Type**, select **Send Claims Using a Custom Rule**. Select *Next*. +1. On the AD FS server, go to **Tools** > **AD FS management**. +1. In the navigation pane, select **Trust Relationships** > **Relying Party Trusts**. +1. Under **Actions**, select **Add Relying Party Trust**. +1. In the **Select Data Source** section, select **Enter data about the relying party manually**, and then select **Next**. +1. On the **Specify Display Name** page, type a name in **Display name**, under **Notes** type a description for this relying party trust, and then select **Next**. +1. On the **Configure Certificate** page, if you have an optional token encryption certificate, select **Browse** to locate a certificate file, and then select **Next**. +1. On the **Configure URL** page, select the **Enable support for the WS-Federation Passive protocol** check box. Under **Relying party WS-Federation Passive protocol URL**, type the URL for this relying party trust: `https://login.microsoftonline.com/login.srf` +1. Select **Next**. +1. On the **Configure Identifiers** page, specify the relying party trust identifier, including the tenant ID of the service partner’s Azure AD tenant: `https://login.microsoftonline.com//` +1. Select **Add** to add the identifier to the list, and then select **Next**. +1. On the **Choose Access Control Policy** page, select a policy, and then select **Next**. +1. On the **Ready to Add Trust** page, review the settings, and then select **Next** to save your relying party trust information. +1. On the **Finish** page, select **Close**. This action automatically displays the **Edit Claim Rules** dialog box. +1. In the **Edit Claim Rules** wizard, select **Add Rule**. In **Choose Rule Type**, select **Send Claims Using a Custom Rule**. Select *Next*. 1. In **Configure Claim Rule**, specify the following values: - **Claim rule name**: Issue Immutable ID - **Custom rule**: `c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"] => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID"), query = "samAccountName={0};objectGUID;{1}", param = regexreplace(c.Value, "(?[^\\]+)\\(?.+)", "${user}"), param = c.Value);` -1. Select **Finish**. +1. Select **Finish**. 1. The **Edit Claim Rules** window will show the new rule. Click **Apply**. -1. In the same **Edit Claim Rules** wizard, select **Add Rule**. In **Cohose Rule Type**, select **Send LDAP Attributes as Claims**. Select **Next**. -1. In **Configure Claim Rule**, specify the following values: +1. In the same **Edit Claim Rules** wizard, select **Add Rule**. In **Choose Rule Type**, select **Send LDAP Attributes as Claims**. Select **Next**. +1. In **Configure Claim Rule**, specify the following values: - **Claim rule name**: Email claim rule - **Attribute store**: Active Directory - **LDAP Attribute**: E-Mail-Addresses - - **Outgoing Claim Type**: E-Mail Address + - **Outgoing Claim Type**: E-Mail Address -1. Select **Finish**. +1. Select **Finish**. 1. The **Edit Claim Rules** window will show the new rule. Click **Apply**. 1. Click **OK**. The AD FS server is now configured for federation using WS-Fed. ## Next steps -Next, you'll [configure SAML/WS-Fed IdP federation in Azure AD](direct-federation.md#step-3-configure-samlws-fed-idp-federation-in-azure-ad) either in the Azure AD portal or by using PowerShell. +Next, you'll [configure SAML/WS-Fed IdP federation in Azure AD](direct-federation.md#step-3-configure-samlws-fed-idp-federation-in-azure-ad) either in the Azure AD portal or by using the Microsoft Graph API. diff --git a/articles/active-directory/external-identities/leave-the-organization.md b/articles/active-directory/external-identities/leave-the-organization.md index 51e60f10a457..6bde3a4c7476 100644 --- a/articles/active-directory/external-identities/leave-the-organization.md +++ b/articles/active-directory/external-identities/leave-the-organization.md @@ -7,7 +7,7 @@ services: active-directory ms.service: active-directory ms.subservice: B2B ms.topic: how-to -ms.date: 03/21/2022 +ms.date: 05/09/2022 ms.author: mimart author: msmimart @@ -30,21 +30,27 @@ An Azure Active Directory (Azure AD) B2B collaboration user can decide to leave ## Leave an organization +In your My Account portal, on the Organizations page, you can view and manage the organizations you have access to: + +- **Home organization**: Your home organization is listed first. This is the organization that owns your work or school account. Because your account is managed by your administrator, you're not allowed to leave your home organization. (If you don't have an assigned home organization, you'll just see a single heading that says Organizations with the list of your associated organizations.) + +- **Other organizations you belong to**: You'll also see the other organizations that you've signed in to previously using your work or school account. You can leave any of these organizations at any time. + To leave an organization, follow these steps. 1. Go to your **My Account** page by doing one of the following: -- If you're using a work or school account, go to https://myaccount.microsoft.com and sign in. -- If you're using a personal account, go to https://myapps.microsoft.com and sign in, and then select your account icon in the upper right and select **View account**. Or, use a My Account URL that includes your tenant information to go directly to your My Account page (examples are shown in the following note). + + - If you're using a work or school account, go to https://myaccount.microsoft.com and sign in. + - If you're using a personal account, go to https://myapps.microsoft.com and sign in, and then select your account icon in the upper right and select **View account**. Or, use a My Account URL that includes your tenant information to go directly to your My Account page (examples are shown in the following note). > [!NOTE] > If you use the email one-time passcode feature when signing in, you'll need to use a My Account URL that includes your tenant name or tenant ID, for example: `https://myaccount.microsoft.com?tenantId=wingtiptoys.onmicrosoft.com` or `https://myaccount.microsoft.com?tenantId=ab123456-cd12-ef12-gh12-ijk123456789`. -2. Under **Organizations**, find the organization that you want to leave, and select **Leave organization**. +1. Select **Organizations** from the left navigation pane or select the **Manage organizations** link from the **Organizations** block. - ![Screenshot showing Leave organization option in the user interface](media/leave-the-organization/leave-org.png) -3. When asked to confirm, select **Leave**. +1. Under **Other organizations you belong to**, find the organization that you want to leave, and select **Leave organization**. -> [!NOTE] - > You cannot leave your home organization. + ![Screenshot showing Leave organization option in the user interface.](media/leave-the-organization/leave-org.png) +1. When asked to confirm, select **Leave**. ## Account removal diff --git a/articles/active-directory/external-identities/media/what-is-b2b/consentscreen.png b/articles/active-directory/external-identities/media/what-is-b2b/consentscreen.png index 67804d512340..ce8672c8c0f9 100644 Binary files a/articles/active-directory/external-identities/media/what-is-b2b/consentscreen.png and b/articles/active-directory/external-identities/media/what-is-b2b/consentscreen.png differ diff --git a/articles/active-directory/external-identities/what-is-b2b.md b/articles/active-directory/external-identities/what-is-b2b.md index 025541f92b25..31bd6bb24f2b 100644 --- a/articles/active-directory/external-identities/what-is-b2b.md +++ b/articles/active-directory/external-identities/what-is-b2b.md @@ -6,7 +6,7 @@ services: active-directory ms.service: active-directory ms.subservice: B2B ms.topic: overview -ms.date: 03/31/2022 +ms.date: 05/09/2022 ms.author: mimart author: msmimart @@ -17,7 +17,7 @@ ms.collection: M365-identity-device-management # B2B collaboration overview -Azure Active Directory (Azure AD) B2B collaboration is a feature within External Identities that lets you invite guest users to collaborate with your organization. With B2B collaboration, you can securely share your company's applications and services with guest users from any other organization, while maintaining control over your own corporate data. Work safely and securely with external partners, large or small, even if they don't have Azure AD or an IT department. +Azure Active Directory (Azure AD) B2B collaboration is a feature within External Identities that lets you invite guest users to collaborate with your organization. With B2B collaboration, you can securely share your company's applications and services with external users, while maintaining control over your own corporate data. Work safely and securely with external partners, large or small, even if they don't have Azure AD or an IT department. ![Diagram illustrating B2B collaboration](media/what-is-b2b/b2b-collaboration-overview.png) diff --git a/articles/active-directory/hybrid/how-to-connect-sync-configure-filtering.md b/articles/active-directory/hybrid/how-to-connect-sync-configure-filtering.md index 50d03c39cd89..1ce88697340d 100644 --- a/articles/active-directory/hybrid/how-to-connect-sync-configure-filtering.md +++ b/articles/active-directory/hybrid/how-to-connect-sync-configure-filtering.md @@ -20,7 +20,7 @@ ms.collection: M365-identity-device-management # Azure AD Connect sync: Configure filtering By using filtering, you can control which objects appear in Azure Active Directory (Azure AD) from your on-premises directory. The default configuration takes all objects in all domains in the configured forests. In general, this is the recommended configuration. Users using Microsoft 365 workloads, such as Exchange Online and Skype for Business, benefit from a complete Global Address List so they can send email and call everyone. With the default configuration, they would have the same experience that they would have with an on-premises implementation of Exchange or Lync. -In some cases however, you're required make some changes to the default configuration. Here are some examples: +In some cases however, you're required to make some changes to the default configuration. Here are some examples: * You run a pilot for Azure or Microsoft 365 and you only want a subset of users in Azure AD. In the small pilot, it's not important to have a complete Global Address List to demonstrate the functionality. * You have many service accounts and other nonpersonal accounts that you don't want in Azure AD. @@ -81,118 +81,13 @@ You can use multiple filtering options at the same time. For example, you can us ## Domain-based filtering This section provides you with the steps to configure your domain filter. If you added or removed domains in your forest after you installed Azure AD Connect, you also have to update the filtering configuration. -The preferred way to change domain-based filtering is by running the installation wizard and changing [domain and OU filtering](how-to-connect-install-custom.md#domain-and-ou-filtering). The installation wizard automates all the tasks that are documented in this topic. +To change domain-based filtering, run the installation wizard: [domain and OU filtering](how-to-connect-install-custom.md#domain-and-ou-filtering). The installation wizard automates all the tasks that are documented in this topic. -You should only follow these steps if you're unable to run the installation wizard for some reason. -Domain-based filtering configuration consists of these steps: - -1. Select the domains that you want to include in the synchronization. -2. For each added and removed domain, adjust the run profiles. -3. [Apply and verify changes](#apply-and-verify-changes). - -### Select the domains to be synchronized -There are two ways to select the domains to be synchronized: - - Using the Synchronization Service - - Using the Azure AD Connect wizard. - - -#### Select the domains to be synchronized using the Synchronization Service -To set the domain filter, do the following steps: - -1. Sign in to the server that is running Azure AD Connect sync by using an account that is a member of the **ADSyncAdmins** security group. -2. Start **Synchronization Service** from the **Start** menu. -3. Select **Connectors**, and in the **Connectors** list, select the Connector with the type **Active Directory Domain Services**. In **Actions**, select **Properties**. - ![Connector properties](./media/how-to-connect-sync-configure-filtering/connectorproperties.png) -4. Click **Configure Directory Partitions**. -5. In the **Select directory partitions** list, select and unselect domains as needed. Verify that only the partitions that you want to synchronize are selected. - ![Screenshot that shows the directory partitions in the "Properties" window.](./media/how-to-connect-sync-configure-filtering/connectorpartitions.png) - If you've changed your on-premises Active Directory infrastructure and added or removed domains from the forest, then click the **Refresh** button to get an updated list. When you refresh, you're asked for credentials. Provide any credentials with read access to Windows Server Active Directory. It doesn't have to be the user that is prepopulated in the dialog box. - ![Refresh needed](./media/how-to-connect-sync-configure-filtering/refreshneeded.png) -6. When you're done, close the **Properties** dialog by clicking **OK**. If you removed domains from the forest, a message pop-up says that a domain was removed and that configuration will be cleaned up. -7. Continue to adjust the run profiles. - -#### Select the domains to be synchronized using the Azure AD Connect wizard -To set the domain filter, do the following steps: - -1. Start the Azure AD Connect wizard -2. Click **Configure**. -3. Select **Customize Synchronization Options** and click **Next**. -4. Enter your Azure AD credentials -5. On the **Connected Directories** screen click **Next**. -6. On the **Domain and OU filtering page** click **Refresh**. New domains will now appear and deleted domains will disappear. - ![Partitions](./media/how-to-connect-sync-configure-filtering/update2.png) - -### Update the run profiles -If you've updated your domain filter, you also need to update the run profiles. - -1. In the **Connectors** list, make sure that the Connector that you changed in the previous step is selected. In **Actions**, select **Configure Run Profiles**. - ![Connector run profiles 1](./media/how-to-connect-sync-configure-filtering/connectorrunprofiles1.png) -2. Find and identify the following profiles: - * Full Import - * Full Synchronization - * Delta Import - * Delta Synchronization - * Export -3. For each profile, adjust the **added** and **removed** domains. - 1. For each of the five profiles, do the following steps for each **added** domain: - 1. Select the run profile and click **New Step**. - 2. On the **Configure Step** page, in the **Type** drop-down menu, select the step type with the same name as the profile that you're configuring. Then click **Next**. - ![Connector run profiles 2](./media/how-to-connect-sync-configure-filtering/runprofilesnewstep1.png) - 3. On the **Connector Configuration** page, in the **Partition** drop-down menu, select the name of the domain that you've added to your domain filter. - ![Connector run profiles 3](./media/how-to-connect-sync-configure-filtering/runprofilesnewstep2.png) - 4. To close the **Configure Run Profile** dialog, click **Finish**. - 2. For each of the five profiles, do the following steps for each **removed** domain: - 1. Select the run profile. - 2. If the **Value** of the **Partition** attribute is a GUID, select the run step and click **Delete Step**. - ![Connector run profiles 4](./media/how-to-connect-sync-configure-filtering/runprofilesdeletestep.png) - 3. Verify your change. Each domain that you want to synchronize should be listed as a step in each run profile. -4. To close the **Configure Run Profiles** dialog, click **OK**. -5. To complete the configuration, you need to run a **Full import** and a **Delta sync**. Continue reading the section [Apply and verify changes](#apply-and-verify-changes). ## Organizational unit–based filtering -The preferred way to change OU-based filtering is by running the installation wizard and changing [domain and OU filtering](how-to-connect-install-custom.md#domain-and-ou-filtering). The installation wizard automates all the tasks that are documented in this topic. - -You should only follow these steps if you're unable to run the installation wizard for some reason. - -To configure organizational unit–based filtering, do the following steps: - -1. Sign in to the server that is running Azure AD Connect sync by using an account that is a member of the **ADSyncAdmins** security group. -2. Start **Synchronization Service** from the **Start** menu. -3. Select **Connectors**, and in the **Connectors** list, select the Connector with the type **Active Directory Domain Services**. In **Actions**, select **Properties**. - ![Connector properties](./media/how-to-connect-sync-configure-filtering/connectorproperties.png) -4. Click **Configure Directory Partitions**, select the domain that you want to configure, and then click **Containers**. -5. When you're prompted, provide any credentials with read access to your on-premises Active Directory. It doesn't have to be the user that is prepopulated in the dialog box. -6. In the **Select Containers** dialog box, clear the OUs that you don’t want to synchronize with the cloud directory, and then click **OK**. - ![OUs in the Select Containers dialog box](./media/how-to-connect-sync-configure-filtering/ou.png) - * The **Computers** container should be selected for your Windows 10 computers to be successfully synchronized to Azure AD. If your domain-joined computers are located in other OUs, make sure those are selected. - * The **ForeignSecurityPrincipals** container should be selected if you have multiple forests with trusts. This container allows cross-forest security group membership to be resolved. - * The **RegisteredDevices** OU should be selected if you enabled the device writeback feature. If you use another writeback feature, such as group writeback, make sure these locations are selected. - * Select any other OU where Users, iNetOrgPersons, Groups, Contacts, and Computers are located. In the picture, all these OUs are located in the ManagedObjects OU. - * If you use group-based filtering, then the OU where the group is located must be included. - * Note that you can configure whether new OUs that are added after the filtering configuration finishes are synchronized or not synchronized. See the next section for details. -7. When you're done, close the **Properties** dialog by clicking **OK**. -8. To complete the configuration, you need to run a **Full import** and a **Delta sync**. Continue reading the section [Apply and verify changes](#apply-and-verify-changes). - -### Synchronize new OUs -New OUs that are created after filtering has been configured are synchronized by default. This state is indicated by a selected check box. You can also unselect some sub-OUs. To get this behavior, click the box until it becomes white with a blue check mark (its default state). Then unselect any sub-OUs that you don't want to synchronize. - -If all sub-OUs are synchronized, then the box is white with a blue check mark. -![OU with all boxes selected](./media/how-to-connect-sync-configure-filtering/ousyncnewall.png) - -If some sub-OUs have been unselected, then the box is gray with a white check mark. -![OU with some sub-OUs unselected](./media/how-to-connect-sync-configure-filtering/ousyncnew.png) - -With this configuration, a new OU that was created under ManagedObjects is synchronized. - -The Azure AD Connect installation wizard always creates this configuration. - -### Don't synchronize new OUs -You can configure the sync engine to not synchronize new OUs after the filtering configuration has finished. This state is indicated in the UI by the box appearing solid gray with no check mark. To get this behavior, click the box until it becomes white with no check mark. Then select the sub-OUs that you want to synchronize. - -![OU with the root unselected](./media/how-to-connect-sync-configure-filtering/oudonotsyncnew.png) +To change OU-based filtering, run the installation wizard: [domain and OU filtering](how-to-connect-install-custom.md#domain-and-ou-filtering). The installation wizard automates all the tasks that are documented in this topic. -With this configuration, a new OU that was created under ManagedObjects isn't synchronized. ## Attribute-based filtering Make sure that you're using the November 2015 ([1.0.9125](reference-connect-version-history.md)) or later build for these steps to work. diff --git a/articles/active-directory/managed-identities-azure-resources/qs-configure-cli-windows-vmss.md b/articles/active-directory/managed-identities-azure-resources/qs-configure-cli-windows-vmss.md index a607734058f5..874b47ecc2d5 100644 --- a/articles/active-directory/managed-identities-azure-resources/qs-configure-cli-windows-vmss.md +++ b/articles/active-directory/managed-identities-azure-resources/qs-configure-cli-windows-vmss.md @@ -63,8 +63,8 @@ To create a virtual machine scale set with the system-assigned managed identity 1. [Create](/cli/azure/vmss/#az-vmss-create) a virtual machine scale set. The following example creates a virtual machine scale set named *myVMSS* with a system-assigned managed identity, as requested by the `--assign-identity` parameter. The `--admin-username` and `--admin-password` parameters specify the administrative user name and password account for virtual machine sign-in. Update these values as appropriate for your environment: - ```azurecli-interactive - az vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys + ```azurecli-interactive + az vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor ``` ### Enable system-assigned managed identity on an existing Azure virtual machine scale set @@ -130,10 +130,10 @@ This section walks you through creation of a virtual machine scale set and assig } ``` -3. [Create](/cli/azure/vmss/#az-vmss-create) a virtual machine scale set. The following example creates a virtual machine scale set associated with the new user-assigned managed identity, as specified by the `--assign-identity` parameter. Be sure to replace the ``, ``, ``, ``, and `` parameter values with your own values. +3. [Create](/cli/azure/vmss/#az-vmss-create) a virtual machine scale set. The following example creates a virtual machine scale set associated with the new user-assigned managed identity, as specified by the `--assign-identity` parameter. Be sure to replace the ``, ``, ``, ``, ``, and `` parameter values with your own values. - ```azurecli-interactive - az vmss create --resource-group --name --image UbuntuLTS --admin-username --admin-password --assign-identity + ```azurecli-interactive + az vmss create --resource-group --name --image UbuntuLTS --admin-username --admin-password --assign-identity --role ``` ### Assign a user-assigned managed identity to an existing virtual machine scale set diff --git a/articles/active-directory/roles/admin-units-assign-roles.md b/articles/active-directory/roles/admin-units-assign-roles.md index 8a0508928eb7..7a2847ac8a32 100644 --- a/articles/active-directory/roles/admin-units-assign-roles.md +++ b/articles/active-directory/roles/admin-units-assign-roles.md @@ -9,7 +9,7 @@ ms.service: active-directory ms.topic: how-to ms.subservice: roles ms.workload: identity -ms.date: 03/22/2022 +ms.date: 05/09/2022 ms.author: rolyon ms.reviewer: anandy ms.custom: oldportal;it-pro; @@ -90,17 +90,16 @@ You can assign an Azure AD role with an administrative unit scope by using the A ### PowerShell +Use the [New-AzureADMSRoleAssignment](/powershell/module/azuread/new-azureadmsroleassignment) command and the `DirectoryScopeId` parameter to assign a role with administrative unit scope. + ```powershell -$adminUser = Get-AzureADUser -ObjectId "Use the user's UPN, who would be an admin on this unit" -$role = Get-AzureADDirectoryRole | Where-Object -Property DisplayName -EQ -Value "User Administrator" -$adminUnitObj = Get-AzureADMSAdministrativeUnit -Filter "displayname eq 'The display name of the unit'" -$roleMember = New-Object -TypeName Microsoft.Open.MSGraph.Model.MsRoleMemberInfo -$roleMember.Id = $adminUser.ObjectId -Add-AzureADMSScopedRoleMembership -Id $adminUnitObj.Id -RoleId $role.ObjectId -RoleMemberInfo $roleMember +$user = Get-AzureADUser -Filter "userPrincipalName eq 'Example_UPN'" +$roleDefinition = Get-AzureADMSRoleDefinition -Filter "displayName eq 'Example_role_name'" +$adminUnit = Get-AzureADMSAdministrativeUnit -Filter "displayName eq 'Example_admin_unit_name'" +$directoryScope = '/administrativeUnits/' + $adminUnit.Id +$roleAssignment = New-AzureADMSRoleAssignment -DirectoryScopeId $directoryScope -RoleDefinitionId $roleDefinition.Id -PrincipalId $user.objectId ``` -You can change the highlighted section as required for the specific environment. - ### Microsoft Graph API Request @@ -136,13 +135,13 @@ You can view all the role assignments created with an administrative unit scope ### PowerShell +Use the [Get-AzureADMSScopedRoleMembership](/powershell/module/azuread/get-azureadmsscopedrolemembership) command to list role assignments with administrative unit scope. + ```powershell -$adminUnitObj = Get-AzureADMSAdministrativeUnit -Filter "displayname eq 'The display name of the unit'" -Get-AzureADMSScopedRoleMembership -Id $adminUnitObj.Id | fl * +$adminUnit = Get-AzureADMSAdministrativeUnit -Filter "displayname eq 'Example_admin_unit_name'" +Get-AzureADMSScopedRoleMembership -Id $adminUnit.Id | fl * ``` -You can change the highlighted section as required for your specific environment. - ### Microsoft Graph API Request diff --git a/articles/active-directory/roles/custom-assign-powershell.md b/articles/active-directory/roles/custom-assign-powershell.md index b80d065e7f4d..892a09df7dfb 100644 --- a/articles/active-directory/roles/custom-assign-powershell.md +++ b/articles/active-directory/roles/custom-assign-powershell.md @@ -132,10 +132,10 @@ Get-AzureADMSRoleAssignment -Filter "principalId eq '27c8ca78-ab1c-40ae-bd1b-eae Get-AzureADMSRoleAssignment -Filter "roleDefinitionId eq '355aed8a-864b-4e2b-b225-ea95482e7570'" ``` -### Delete a role assignment +### Remove a role assignment ``` PowerShell -# Delete role assignment +# Remove role assignment Remove-AzureADMSRoleAssignment -Id 'qiho4WOb9UKKgng_LbPV7tvKaKRCD61PkJeKMh7Y458-1' ``` diff --git a/articles/active-directory/saas-apps/hubble-tutorial.md b/articles/active-directory/saas-apps/hubble-tutorial.md index 4f9ddddf8692..1b5d6e48e26d 100644 --- a/articles/active-directory/saas-apps/hubble-tutorial.md +++ b/articles/active-directory/saas-apps/hubble-tutorial.md @@ -20,7 +20,6 @@ In this tutorial, you'll learn how to integrate Hubble with Azure Active Directo * Control in Azure AD who has access to Hubble. * Enable your users to be automatically signed-in to Hubble with their Azure AD accounts. -* Manage your accounts in one central location - the Azure portal. ## Prerequisites @@ -87,10 +86,6 @@ Follow these steps to enable Azure AD SSO in the Azure portal. ![The Certificate download link](common/metadataxml.png) -1. On the **Set up Hubble** section, copy the appropriate URL(s) based on your requirement. - - ![Copy configuration URLs](common/copy-configuration-urls.png) - ### Create an Azure AD test user In this section, you'll create a test user in the Azure portal called B.Simon. @@ -117,7 +112,7 @@ In this section, you'll enable B.Simon to use Azure single sign-on by granting a ## Configure Hubble SSO -To configure single sign-on on **Hubble** side, you need to send the downloaded **Federation Metadata XML** and appropriate copied URLs from Azure portal to [Hubble support team](mailto:cs@hubble-inc.jp). They set this setting to have the SAML SSO connection set properly on both sides. +To configure single sign-on on **Hubble** side, you need to upload the downloaded **Federation Metadata XML** to the configuration page on Hubble. ### Create Hubble test user diff --git a/articles/active-directory/verifiable-credentials/whats-new.md b/articles/active-directory/verifiable-credentials/whats-new.md index bb84bd6268c4..8d6811470be9 100644 --- a/articles/active-directory/verifiable-credentials/whats-new.md +++ b/articles/active-directory/verifiable-credentials/whats-new.md @@ -6,7 +6,7 @@ manager: karenhoran ms.service: active-directory ms.subservice: verifiable-credentials ms.topic: reference -ms.date: 05/04/2022 +ms.date: 04/27/2022 ms.custom: references_regions ms.author: barclayn @@ -18,10 +18,6 @@ ms.author: barclayn This article lists the latest features, improvements, and changes in the Azure Active Directory (Azure AD) Verifiable Credentials service. -## May - -We are expanding our service to all Azure AD customers! Verifiable credentials are now available to everyone with an Azure AD subscription (Free and Premium). Existing tenants that configured the Verifiable Credentials service prior to May 4, 2022 must make a [small change](verifiable-credentials-faq.md#updating-the-vc-service-configuration) to avoid service disruptions. - ## April Starting next month, we are rolling out exciting changes to the subscription requirements for the Verifiable Credentials service. Administrators must perform a small configuration change before **May 4, 2022** to avoid service disruptions. Follow [these steps](verifiable-credentials-faq.md?#updating-the-vc-service-configuration) to apply the required configuration changes. diff --git a/articles/aks/cluster-autoscaler.md b/articles/aks/cluster-autoscaler.md index 01bbe4579de6..7b4106e6bb8d 100644 --- a/articles/aks/cluster-autoscaler.md +++ b/articles/aks/cluster-autoscaler.md @@ -153,7 +153,7 @@ az aks update \ --cluster-autoscaler-profile scan-interval=30s ``` -When you enable the cluster autoscaler on node pools in the cluster, those clusters will also use the cluster autoscaler profile. For example: +When you enable the cluster autoscaler on node pools in the cluster, these node pools with CA enabled will also use the cluster autoscaler profile. For example: ```azurecli-interactive az aks nodepool update \ @@ -309,4 +309,4 @@ This article showed you how to automatically scale the number of AKS nodes. You [kubernetes-faq]: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#ca-doesnt-work-but-it-used-to-work-yesterday-why [kubernetes-hpa]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ [kubernetes-hpa-walkthrough]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ -[metrics-server]: https://kubernetes.io/docs/tasks/debug-application-cluster/resource-metrics-pipeline/#metrics-server \ No newline at end of file +[metrics-server]: https://kubernetes.io/docs/tasks/debug-application-cluster/resource-metrics-pipeline/#metrics-server diff --git a/articles/aks/use-kms-etcd-encryption.md b/articles/aks/use-kms-etcd-encryption.md index c1e6864c0db2..c29557cf0b0b 100644 --- a/articles/aks/use-kms-etcd-encryption.md +++ b/articles/aks/use-kms-etcd-encryption.md @@ -15,7 +15,7 @@ This article shows you how to enable encryption at rest for your Kubernetes data * Bring your own keys * Provide encryption at rest for secrets stored in etcd -For more details on using the KMS plugin, see [Encrypting Secret Data at Rest](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/). +For more information on using the KMS plugin, see [Encrypting Secret Data at Rest](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/). [!INCLUDE [preview features callout](./includes/preview/preview-callout.md)] @@ -62,11 +62,12 @@ az provider register --namespace Microsoft.ContainerService The following limitations apply when you integrate KMS etcd encryption with AKS: * Disabling of the KMS etcd encryption feature. -* Changing of key Id, including key name and key version. +* Changing of key ID, including key name and key version. * Deletion of the key, Key Vault, or the associated identity. -* KMS etcd encryption does not work with System-Assigned Managed Identity. The keyvault access-policy is required to be set before the feature is enabled. In addition, System-Assigned Managed Identity is not available until cluster creation, thus there is a cycle dependency. +* KMS etcd encryption doesn't work with System-Assigned Managed Identity. The keyvault access-policy is required to be set before the feature is enabled. In addition, System-Assigned Managed Identity isn't available until cluster creation, thus there's a cycle dependency. * Using Azure Key Vault with PrivateLink enabled. * Using more than 2000 secrets in a cluster. +* Managed HSM Support * Bring your own (BYO) Azure Key Vault from another tenant. @@ -106,23 +107,23 @@ Use `az identity create` to create a User-assigned managed identity. az identity create --name MyIdentity --resource-group MyResourceGroup ``` -Use `az identity show` to get Identity Object Id. +Use `az identity show` to get Identity Object ID. ```azurecli IDENTITY_OBJECT_ID=$(az identity show --name MyIdentity --resource-group MyResourceGroup --query 'principalId' -o tsv) echo $IDENTITY_OBJECT_ID ``` -The above example stores the value of the Identity Object Id in *IDENTITY_OBJECT_ID*. +The above example stores the value of the Identity Object ID in *IDENTITY_OBJECT_ID*. -Use `az identity show` to get Identity Resource Id. +Use `az identity show` to get Identity Resource ID. ```azurecli IDENTITY_RESOURCE_ID=$(az identity show --name MyIdentity --resource-group MyResourceGroup --query 'id' -o tsv) echo $IDENTITY_RESOURCE_ID ``` -The above example stores the value of the Identity Resource Id in *IDENTITY_RESOURCE_ID*. +The above example stores the value of the Identity Resource ID in *IDENTITY_RESOURCE_ID*. ## Assign permissions (decrypt and encrypt) to access key vault @@ -148,7 +149,7 @@ Use [az aks update][az-aks-update] with the `--enable-azure-keyvault-kms` and `- az aks update --name myAKSCluster --resource-group MyResourceGroup --enable-azure-keyvault-kms --azure-keyvault-kms-key-id $KEY_ID ``` -Use below command to update all secrets. Otherwise, the old secrets are not encrypted. +Use below command to update all secrets. Otherwise, the old secrets aren't encrypted. ```azurecli-interactive kubectl get secrets --all-namespaces -o json | kubectl replace -f - diff --git a/articles/app-service/environment/migrate.md b/articles/app-service/environment/migrate.md index fe92571a22b8..38daca104e33 100644 --- a/articles/app-service/environment/migrate.md +++ b/articles/app-service/environment/migrate.md @@ -24,6 +24,7 @@ At this time, App Service Environment migrations to v3 using the migration featu - Australia Southeast - Brazil South - Canada Central +- Canada East - Central India - Central US - East Asia diff --git a/articles/app-service/environment/overview.md b/articles/app-service/environment/overview.md index e65f499bcf49..751a68eec780 100644 --- a/articles/app-service/environment/overview.md +++ b/articles/app-service/environment/overview.md @@ -105,23 +105,24 @@ App Service Environment v3 is available in the following regions: | Australia Southeast | Brazil South | | Brazil South | Canada Central | | Canada Central | Central India | -| Central India | Central US | -| Central US | East Asia | -| East Asia | East US | -| East US | East US 2 | -| East US 2 | France Central | -| France Central | Germany West Central | -| Germany West Central | Japan East | -| Japan East | Korea Central | -| Korea Central | North Europe | -| North Central US | Norway East | -| North Europe | South Africa North | -| Norway East | South Central US | -| South Africa North | Southeast Asia | -| South Central US | UK South | -| Southeast Asia | West Europe | -| Switzerland North | West US 2 | -| UAE North | West US 3 | +| Canada East | Central US | +| Central India | East Asia | +| Central US | East US | +| East Asia | East US 2 | +| East US | France Central | +| East US 2 | Germany West Central | +| France Central | Japan East | +| Germany West Central | Korea Central | +| Japan East | North Europe | +| Korea Central | Norway East | +| North Central US | South Africa North | +| North Europe | South Central US | +| Norway East | Southeast Asia | +| South Africa North | UK South | +| South Central US | West Europe | +| Southeast Asia | West US 2 | +| Switzerland North | West US 3 | +| UAE North | | | UK South | | | UK West | | | West Central US | | diff --git a/articles/app-service/overview-arc-integration.md b/articles/app-service/overview-arc-integration.md index efd258d55f31..d6b49c79f4cc 100644 --- a/articles/app-service/overview-arc-integration.md +++ b/articles/app-service/overview-arc-integration.md @@ -202,7 +202,6 @@ If your extension was in the stable version and auto-upgrade-minor-version is se ### Application services extension v 0.13.0 (April 2022) -- Added support for Azure Functions v4 and introduces support for PowerShell functions - Added support for Application Insights codeless integration for Node JS applications - Added support for [Access Restrictions](app-service-ip-restrictions.md) via CLI - More details provided when extension fails to install, to assist with troubleshooting issues diff --git a/articles/application-gateway/media/private-link/private-link.png b/articles/application-gateway/media/private-link/private-link.png new file mode 100644 index 000000000000..ab343cc7a238 Binary files /dev/null and b/articles/application-gateway/media/private-link/private-link.png differ diff --git a/articles/application-gateway/overview-v2.md b/articles/application-gateway/overview-v2.md index 122b083a8268..5b2fe58b9f6c 100644 --- a/articles/application-gateway/overview-v2.md +++ b/articles/application-gateway/overview-v2.md @@ -25,6 +25,7 @@ The new v2 SKU includes the following enhancements: - **Key Vault Integration**: Application Gateway v2 supports integration with Key Vault for server certificates that are attached to HTTPS enabled listeners. For more information, see [TLS termination with Key Vault certificates](key-vault-certs.md). - **Mutual Authentication (mTLS)**: Application Gateway v2 supports authentication of client requests. For more information, see [Overview of mutual authentication with Application Gateway](mutual-authentication-overview.md). - **Azure Kubernetes Service Ingress Controller**: The Application Gateway v2 Ingress Controller allows the Azure Application Gateway to be used as the ingress for an Azure Kubernetes Service (AKS) known as AKS Cluster. For more information, see [What is Application Gateway Ingress Controller?](ingress-controller-overview.md). +- **Private link**: The v2 SKU offers private connectivity from other virtual networks in other regions and subscriptions through the use of private endpoints. - **Performance enhancements**: The v2 SKU offers up to 5X better TLS offload performance as compared to the Standard/WAF SKU. - **Faster deployment and update time** The v2 SKU provides faster deployment and update time as compared to Standard/WAF SKU. This also includes WAF configuration changes. @@ -72,6 +73,7 @@ The following table compares the features available with each SKU. | URL-based routing | ✓ | ✓ | | Multiple-site hosting | ✓ | ✓ | | Mutual Authentication (mTLS) | | ✓ | +| Private Link support | | ✓ | | Traffic redirection | ✓ | ✓ | | Web Application Firewall (WAF) | ✓ | ✓ | | WAF custom rules | | ✓ | diff --git a/articles/application-gateway/private-link-configure.md b/articles/application-gateway/private-link-configure.md new file mode 100644 index 000000000000..6ef645c8f3bc --- /dev/null +++ b/articles/application-gateway/private-link-configure.md @@ -0,0 +1,194 @@ +--- +title: Configure Azure Application Gateway Private Link +description: This article shows you how to configure Application Gateway Private Link. +services: application-gateway +author: greglin +ms.service: application-gateway +ms.topic: how-to +ms.date: 05/09/2022 +ms.author: greglin + +--- + +# Configure Azure Application Gateway Private Link + +Application Gateway Private Link allows you to connect your workloads over a private connection spanning across VNets and subscriptions. For more information, see [Application Gateway Private Link](private-link.md). + +:::image type="content" source="media/private-link/private-link.png" alt-text="Diagram showing Application Gateway Private Link"::: + + +## Configuration options + +Application Gateway Private Link can be configured via multiple options, such as, but not limited to, the Azure portal, Azure PowerShell, and Azure CLI. + +# [Azure portal](#tab/portal) + +**Define a subnet for Private Link Configuration** + +To enable Private Link Configuration, a subnet, different from the Application Gateway subnet, is required for the private link IP configuration. Private Link must use a subnet that doesn't contain any Application Gateways. Subnet sizing can be determined by the number of connections required for your deployment. Each IP address allocated to this subnet ensures 64-K concurrent TCP connections that can be established via Private Link at single point in time. Allocate more IP addresses to allow more connections via Private Link. For example: `n * 64K`; where `n` is the number of IP addresses being provisioned. + +> [!Note] +> The maximum number of IP addresses per private link configuration is eight. Only dynamic allocation is supported. + +The following steps can be completed to create a new subnet: + +[Add, change, or delete a virtual network subnet](../virtual-network/virtual-network-manage-subnet.md#add-a-subnet) + +**Configure Private Link** + +The Private link configuration defines the infrastructure used by Application Gateway to enable connections from Private Endpoints. To create the Private link configuration, complete the following steps: + +1. Go to the [Azure portal](https://portal.azure.com) +1. Search for and select **Application Gateways**. +1. Select the name of the application gateway you want to enable private link. +1. Select **Private link** +1. Configure the following items: + + - **Name**: The name of the private link configuration. + - **Private link subnet**: The subnet IP addresses should be consumed from. + - **Frontend IP Configuration**: The frontend IP address that private link should forward traffic to on Application Gateway. + - **Private IP address settings**: specify at least one IP address +1. Select **Add**. + +**Configure Private Endpoint** + +A private endpoint is a network interface that uses a private IP address from the virtual network containing clients wishing to connect to your gateway. Each of the clients will use the private IP address of the Private Endpoint to tunnel traffic to the Application Gateway. To create a private endpoint, complete the following steps: + +1. Select the **Private endpoint connections** tab. +1. Select **Create**. +1. On the **Basics** tab, configure a resource group, name, and region for the Private Endpoint. Select **Next**. +1. On the **Resource** tab, select **Next**. +1. On the **Virtual Network** tab, configure a virtual network and subnet where the private endpoint network interface should be provisioned to. Configure whether the private endpoint should have a dynamic or static IP address. Last, configure if you want a new private link zone to be created to automatically manage IP addressing. Select **Next**. +1. On the **Tags** tab, optionally configure resource tags. Select **Next**. +1. Select **Create**. + +> [!Note] +> If the public or private IP configuration resource is missing when trying to select a _Target sub-resource_ on the _Resource_ tab of private endpoint creation, please ensure a listener is actively utilizing the respected frontend IP configuration. Frontend IP configurations without an associated listener will not be shown as a _Target sub-resource_. + +# [Azure PowerShell](#tab/powershell) + +To configure Private link on an existing Application Gateway via Azure PowerShell, the following commands can be referenced: + +```azurepowershell +# Disable Private Link Service Network Policies +# https://docs.microsoft.com/azure/private-link/disable-private-endpoint-network-policy +$net =@{ + Name = 'AppGW-PL-PSH' + ResourceGroupName = 'AppGW-PL-PSH-RG' +} +$vnet = Get-AzVirtualNetwork @net + +($vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'AppGW-PL-Subnet'}).PrivateLinkServiceNetworkPolicies = "Disabled" + +$vnet | Set-AzVirtualNetwork + +# Get Application Gateway Frontend IP Name +$agw = Get-AzApplicationGateway -Name AppGW-PL-PSH -ResourceGroupName AppGW-PL-PSH-RG +# List the names +$agw.FrontendIPConfigurations | Select Name + +# Add a new Private Link configuration and associate it with an existing Frontend IP +$PrivateLinkIpConfiguration = New-AzApplicationGatewayPrivateLinkIpConfiguration ` + -Name "ipConfig01" ` + -Subnet ($vnet | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'AppGW-PL-Subnet'}) ` + -Primary + +# Add the Private Link configuration to the gateway configuration +Add-AzApplicationGatewayPrivateLinkConfiguration ` + -ApplicationGateway $agw ` + -Name "privateLinkConfig01" ` + -IpConfiguration $PrivateLinkIpConfiguration + +# Associate private link configuration to Frontend IP +$agwPip = ($agw | Select -ExpandProperty FrontendIpConfigurations| Where-Object {$_.Name -eq 'appGwPublicFrontendIp'}).PublicIPAddress.Id +$privateLinkConfiguration = ($agw | Select -ExpandProperty PrivateLinkConfigurations | Where-Object {$_.Name -eq 'privateLinkConfig01'}).Id +Set-AzApplicationGatewayFrontendIPConfig -ApplicationGateway $agw -Name "appGwPublicFrontendIp" -PublicIPAddressId $agwPip -PrivateLinkConfigurationId $privateLinkConfiguration + +# Apply the change to the gateway +Set-AzApplicationGateway -ApplicationGateway $agw + +# Disable Private Endpoint Network Policies +# https://docs.microsoft.com/azure/private-link/disable-private-endpoint-network-policy +$net =@{ + Name = 'AppGW-PL-Endpoint-PSH-VNET' + ResourceGroupName = 'AppGW-PL-Endpoint-PSH-RG' +} +$vnet_plendpoint = Get-AzVirtualNetwork @net + +($vnet_plendpoint | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'MySubnet'}).PrivateEndpointNetworkPolicies = "Disabled" + +$vnet_plendpoint | Set-AzVirtualNetwork + +# Create Private Link Endpoint - Group ID is the same as the frontend IP configuration +$privateEndpointConnection = New-AzPrivateLinkServiceConnection -Name "AppGW-PL-Connection" -PrivateLinkServiceId $agw.Id -GroupID "appGwPublicFrontendIp" + +## Create private endpoint +New-AzPrivateEndpoint -Name "AppGWPrivateEndpoint" -ResourceGroupName $vnet_plendpoint.ResourceGroupName -Location $vnet_plendpoint.Location -Subnet ($vnet_plendpoint | Select -ExpandProperty subnets | Where-Object {$_.Name -eq 'MySubnet'}) -PrivateLinkServiceConnection $privateEndpointConnection +``` +A list of all Azure PowerShell references for Private Link Configuration on Application Gateway can be found here: +- [Get-AzApplicationGatewayPrivateLinkConfiguration](/powershell/module/az.network/get-azapplicationgatewayprivatelinkconfiguration) +- [New-AzApplicationGatewayPrivateLinkConfiguration](/powershell/module/az.network/new-azapplicationgatewayprivatelinkconfiguration) +- [New-AzApplicationGatewayPrivateLinkIpConfiguration](/powershell/module/az.network/new-azapplicationgatewayprivatelinkipconfiguration) +- [Add-AzApplicationGatewayPrivateLinkConfiguration](/powershell/module/az.network/add-azapplicationgatewayprivatelinkconfiguration) +- [Remove-AzApplicationGatewayPrivateLinkConfiguration](/powershell/module/az.network/remove-azapplicationgatewayprivatelinkconfiguration) +- [Set-AzApplicationGatewayPrivateLinkConfiguration](/powershell/module/az.network/set-azapplicationgatewayprivatelinkconfiguration) + +# [Azure CLI](#tab/cli) + +To configure Private link on an existing Application Gateway via Azure CLI, the following commands can be referenced: + +```azurecli +# Disable Private Link Service Network Policies +# https://docs.microsoft.com/en-us/azure/private-link/disable-private-endpoint-network-policy +az network vnet subnet update \ + --name AppGW-PL-Subnet \ + --vnet-name AppGW-PL-CLI-VNET \ + --resource-group AppGW-PL-CLI-RG \ + --disable-private-link-service-network-policies true + +# Get Application Gateway Frontend IP Name +az network application-gateway frontend-ip list \ + --gateway-name AppGW-PL-CLI \ + --resource-group AppGW-PL-CLI-RG + +# Add a new Private Link configuration and associate it with an existing Frontend IP +az network application-gateway private-link add \ + --frontend-ip appGwPublicFrontendIp \ + --name privateLinkConfig01 \ + --subnet /subscriptions/XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX/resourceGroups/AppGW-PL-CLI-RG/providers/Microsoft.Network/virtualNetworks/AppGW-PL-CLI-VNET/subnets/AppGW-PL-Subnet \ + --gateway-name AppGW-PL-CLI \ + --resource-group AppGW-PL-CLI-RG + +# Get Private Link resource ID +az network application-gateway private-link list \ + --gateway-name AppGW-PL-CLI \ + --resource-group AppGW-PL-CLI-RG + + + +# Disable Private Endpoint Network Policies +# https://docs.microsoft.com/en-us/azure/private-link/disable-private-endpoint-network-policy +az network vnet subnet update \ + --name MySubnet \ + --vnet-name AppGW-PL-Endpoint-CLI-VNET \ + --resource-group AppGW-PL-Endpoint-CLI-RG \ + --disable-private-endpoint-network-policies true + +# Create Private Link Endpoint - Group ID is the same as the frontend IP configuration +az network private-endpoint create \ + --name AppGWPrivateEndpoint \ + --resource-group AppGW-PL-Endpoint-CLI-RG \ + --vnet-name AppGW-PL-Endpoint-CLI-VNET \ + --subnet MySubnet \ + --group-id appGwPublicFrontendIp \ + --private-connection-resource-id /subscriptions/XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX/resourceGroups/AppGW-PL-CLI-RG/providers/Microsoft.Network/applicationGateways/AppGW-PL-CLI \ + --connection-name AppGW-PL-Connection +``` + +A list of all Azure CLI references for Private Link Configuration on Application Gateway can be found here: [Azure CLI CLI - Private Link](/cli/azure/network/application-gateway/private-link) + +--- + +## Next steps + +- Learn about Azure Private Link: [What is Azure Private Link?](../private-link/private-link-overview.md) diff --git a/articles/application-gateway/private-link.md b/articles/application-gateway/private-link.md new file mode 100644 index 000000000000..c99c5acd0e91 --- /dev/null +++ b/articles/application-gateway/private-link.md @@ -0,0 +1,68 @@ +--- +title: Azure Application Gateway Private Link +description: This article is an overview of Application Gateway Private Link. +services: application-gateway +author: greglin +ms.service: application-gateway +ms.topic: conceptual +ms.date: 05/09/2022 +ms.author: greglin + +--- + +# Application Gateway Private Link + +Today, you can deploy your critical workloads securely behind Application Gateway, gaining the flexibility of Layer 7 load balancing features. Access to the backend workloads is possible in two ways: + +- Public IP address - your workloads are accessible over the Internet. +- Private IP address- your workloads are accessible via a private IP address, but within the same VNet as the Application Gateway. + +Private Link for Application Gateway allows you to connect workloads over a private connection spanning across VNets and subscriptions. When configured, a private endpoint will be placed into a defined virtual network's subnet, providing a private IP address for clients looking to communicate to the gateway. For a list of other PaaS services that support Private Link functionality, see [What is Azure Private Link?](../private-link/private-link-overview.md). + +:::image type="content" source="media/private-link/private-link.png" alt-text="Diagram showing Application Gateway Private Link"::: + + +## Features and capabilities + +Private Link allows you to extend private connectivity to Application Gateway via a Private Endpoint in the following scenarios: +- VNet in the same or different region from Application Gateway +- VNet in the same or different subscription from Application Gateway +- VNet in the same or different subscription and the same or different Azure AD tenant from Application Gateway + +You may also choose to block inbound public (Internet) access to Application Gateway and allow access only via private endpoints. Inbound management traffic still needs to be allowed to application gateway. For more information, see [Application Gateway infrastructure configuration](configuration-infrastructure.md#network-security-groups) + +All features supported by Application Gateway are supported when accessed through a private endpoint, including support for AGIC. + +## Private Link components + +Four components are required to implement Private Link with Application Gateway: + +- Application Gateway Private Link Configuration + + A Private link configuration can be associated with an Application Gateway Frontend IP address, which can then be used to establish a connection using a Private Endpoint. If there's no association to an Application Gateway frontend IP address, then the Private Link feature won't be enabled. + +- Application Gateway Frontend IP address + + The public or private IP address where the Application Gateway Private Link Configuration needs to be associated to enable the Private Link Capabilities. + +- Private Endpoint + + An Azure network resource that allocates a private IP address in your VNet address space. It's used to connect to the Application Gateway via the private IP address similar to many other Azure Services like Storage, KeyVault, etc., that provide private link access. + +- Private Endpoint Connection + + A connection on Application Gateway originated by Private Endpoints. You can auto-approve, manually approve, or reject connections to grant or deny access. + +## Limitations +- API version 2020-03-01 or later should be used to configure Private Link configurations. +- Static IP allocation method in the Private Link Configuration object isn't supported. +- The subnet used for PrivateLinkConfiguration cannot be same as the Application Gateway subnet. +- Private link configuration for Application Gateway does not expose the "Alias" property and must be referenced via resource URI. +- Private Endpoint creation does not create a \*.privatelink DNS record/zone. All DNS records should be entered in existing zones used for your Application Gateway. +- Azure Front Door and Application Gateway do not support chaining via Private Link. +- Source IP address and x-forwarded-for headers will contain the Private link IP addresses + +## Next steps + +- [Configure Azure Application Gateway Private Link](private-link-configure.md) +- [What is Azure Private Link?](../private-link/private-link-overview.md) diff --git a/articles/application-gateway/toc.yml b/articles/application-gateway/toc.yml index c62e61f40b70..7d1ae9bebbee 100644 --- a/articles/application-gateway/toc.yml +++ b/articles/application-gateway/toc.yml @@ -93,6 +93,8 @@ items: - name: Security baseline href: /security/benchmark/azure/baselines/application-gateway-security-baseline?toc=/azure/application-gateway/toc.json + - name: Private Link + href: private-link.md - name: SSL items: - name: SSL termination and end to end SSL @@ -298,7 +300,9 @@ - name: Configure alerts href: configure-alerts-with-templates.md - name: Classic to Resource Manager - href: classic-to-resource-manager.md + href: classic-to-resource-manager.md + - name: Configure Private Link + href: private-link-configure.md - name: Reference items: - name: Monitoring data diff --git a/articles/applied-ai-services/form-recognizer/service-limits.md b/articles/applied-ai-services/form-recognizer/service-limits.md index 139d0e9c4b6c..764fe3ae30b4 100644 --- a/articles/applied-ai-services/form-recognizer/service-limits.md +++ b/articles/applied-ai-services/form-recognizer/service-limits.md @@ -3,12 +3,12 @@ title: Form Recognizer quotas and limits titleSuffix: Azure Applied AI Services description: Quick reference, detailed description, and best practices on Azure Form Recognizer service Quotas and Limits services: cognitive-services -author: vkurpad +author: laujan manager: nitinme ms.service: applied-ai-services ms.subservice: forms-recognizer ms.topic: conceptual -ms.date: 02/15/2022 +ms.date: 05/09/2022 ms.author: lajanuar --- diff --git a/articles/azure-arc/data/release-notes.md b/articles/azure-arc/data/release-notes.md index 6f1e2ce737f1..4feb9c3b8825 100644 --- a/articles/azure-arc/data/release-notes.md +++ b/articles/azure-arc/data/release-notes.md @@ -157,7 +157,7 @@ For complete release version information, see [Version log](version-log.md). - Set `--readable-secondaries` to any value between 0 and the number of replicas minus 1. - `--readable-secondaries` only applies to Business Critical tier. - Automatic backups are taken on the primary instance in a Business Critical service tier when there are multiple replicas. When a failover happens, backups move to the new primary. -- RWX capable storage class is required for backups, for both General Purpose and Business Critical service tiers. +- [ReadWriteMany (RWX) capable storage class](/azure/aks/concepts-storage#azure-disks) is required for backups, for both General Purpose and Business Critical service tiers. Specifying a non-ReadWriteMany storage class will cause the SQL Managed Instance to be stuck in "Pending" status during deployment. - Billing support when using multiple read replicas. For additional information about service tiers, see [High Availability with Azure Arc-enabled SQL Managed Instance (preview)](managed-instance-high-availability.md). diff --git a/articles/azure-arc/servers/ssh-arc-overview.md b/articles/azure-arc/servers/ssh-arc-overview.md index 931bf9b9a339..f306d71fe6de 100644 --- a/articles/azure-arc/servers/ssh-arc-overview.md +++ b/articles/azure-arc/servers/ssh-arc-overview.md @@ -36,10 +36,10 @@ SSH access to Arc-enabled servers is currently supported in the following region ### Supported operating systems - Windows: Windows 7+ and Windows Server 2012+ - Linux: - - CentOS: CentOS 7, CentOS 8 - - RedHat Enterprise Linux (RHEL): RHEL 7.4 to RHEL 7.10, RHEL 8.3+ - - SUSE Linux Enterprise Server (SLES): SLES 12, SLES 15.1+ - - Ubuntu Server: Ubuntu Server 16.04 to Ubuntu Server 20.04 + - CentOS: CentOS 7, CentOS 8 + - RedHat Enterprise Linux (RHEL): RHEL 7.4 to RHEL 7.10, RHEL 8.3+ + - SUSE Linux Enterprise Server (SLES): SLES 12, SLES 15.1+ + - Ubuntu Server: Ubuntu Server 16.04 to Ubuntu Server 20.04 ## Getting started ### Register the HybridConnectivity resource provider @@ -106,4 +106,4 @@ To add access to SSH connections, run the following: > If you are using a non-default port for your SSH connection, replace port 22 with your desired port in the previous command. ## Examples -To view examples of using the ```az ssh vm``` command, view the az CLI documentation page for [az ssh](/cli/azure/ssh). \ No newline at end of file +To view examples of using the ```az ssh vm``` command, view the az CLI documentation page for [az ssh](/cli/azure/ssh). diff --git a/articles/azure-cache-for-redis/TOC.yml b/articles/azure-cache-for-redis/TOC.yml index e76ecb3f6792..928c25ee830d 100644 --- a/articles/azure-cache-for-redis/TOC.yml +++ b/articles/azure-cache-for-redis/TOC.yml @@ -182,7 +182,7 @@ - name: Monitor in Azure portal href: cache-how-to-monitor.md - name: Set alerts for exceptions - href: cache-how-to-monitor.md#operations-and-alerts + href: cache-how-to-monitor.md#alerts - name: Monitor with diagnostic logs href: cache-monitor-diagnostic-settings.md - name: Scale diff --git a/articles/azure-cache-for-redis/cache-aspnet-session-state-provider.md b/articles/azure-cache-for-redis/cache-aspnet-session-state-provider.md index bd1df8e7167b..92fcd50ccf23 100644 --- a/articles/azure-cache-for-redis/cache-aspnet-session-state-provider.md +++ b/articles/azure-cache-for-redis/cache-aspnet-session-state-provider.md @@ -7,13 +7,13 @@ ms.service: cache ms.topic: conceptual ms.devlang: csharp ms.custom: devx-track-csharp -ms.date: 05/01/2017 +ms.date: 05/06/2022 --- # ASP.NET Session State Provider for Azure Cache for Redis Azure Cache for Redis provides a session state provider that you can use to store your session state in-memory with Azure Cache for Redis instead of a SQL Server database. To use the caching session state provider, first configure your cache, and then configure your ASP.NET application for cache using the Azure Cache for Redis Session State NuGet package. For ASP.NET Core applications, read [Session and state management in ASP.NET Core](/aspnet/core/fundamentals/app-state). -It's often not practical in a real-world cloud app to avoid storing some form of state for a user session, but some approaches impact performance and scalability more than others. If you have to store state, the best solution is to keep the amount of state small and store it in cookies. If that isn't feasible, the next best solution is to use ASP.NET session state with a provider for distributed, in-memory cache. The worst solution from a performance and scalability standpoint is to use a database backed session state provider. This topic provides guidance on using the ASP.NET Session State Provider for Azure Cache for Redis. For information on other session state options, see [ASP.NET Session State options](#aspnet-session-state-options). +It's often not practical in a cloud app to avoid storing some form of state for a user session, but some approaches affect performance and scalability more than others. If you have to store state, the best solution is to keep the amount of state small and store it in cookies. If that isn't feasible, the next best solution is to use ASP.NET session state with a provider for distributed, in-memory cache. The worst solution from a performance and scalability standpoint is to use a database-backed session state provider. This article provides guidance on using the ASP.NET Session State Provider for Azure Cache for Redis. For information on other session state options, see [ASP.NET Session State options](#aspnet-session-state-options). ## Store ASP.NET session state in the cache @@ -26,11 +26,11 @@ Install-Package Microsoft.Web.RedisSessionStateProvider ``` > [!IMPORTANT] -> If you are using the clustering feature from the premium tier, you must use [RedisSessionStateProvider](https://www.nuget.org/packages/Microsoft.Web.RedisSessionStateProvider) 2.0.1 or higher or an exception is thrown. Moving to 2.0.1 or higher is a breaking change; for more information, see [v2.0.0 Breaking Change Details](https://github.com/Azure/aspnet-redis-providers/wiki/v2.0.0-Breaking-Change-Details). At the time of this article update, the current version of this package is 2.2.3. +> If you are using the clustering feature from the premium tier, you must use [RedisSessionStateProvider](https://www.nuget.org/packages/Microsoft.Web.RedisSessionStateProvider) 2.0.1 or higher or an exception is thrown. Moving to 2.0.1 or higher is a breaking change. > > -The Redis Session State Provider NuGet package has a dependency on the StackExchange.Redis package. If the StackExchange.Redis package is not present in your project, it is installed. +The Redis Session State Provider NuGet package has a dependency on the StackExchange.Redis package. If the StackExchange.Redis package isn't present in your project, it's installed. The NuGet package downloads and adds the required assembly references and adds the following section into your web.config file. This section contains the required configuration for your ASP.NET application to use the Azure Cache for Redis Session State Provider. @@ -75,18 +75,18 @@ Configure the attributes with the values on the left from your cache in the Micr * **port** – use either your non-TLS/SSL port or your TLS/SSL port, depending on the TLS settings. * **accessKey** – use either the primary or secondary key for your cache. * **ssl** – true if you want to secure cache/client communications with TLS; otherwise false. Be sure to specify the correct port. - * The non-TLS port is disabled by default for new caches. Specify true for this setting to use the TLS port. For more information about enabling the non-TLS port, see the [Access Ports](cache-configure.md#access-ports) section in the [Configure a cache](cache-configure.md) topic. -* **throwOnError** – true if you want an exception to be thrown if there is a failure, or false if you want the operation to fail silently. You can check for a failure by checking the static Microsoft.Web.Redis.RedisSessionStateProvider.LastException property. The default is true. -* **retryTimeoutInMilliseconds** – Operations that fail are retried during this interval, specified in milliseconds. The first retry occurs after 20 milliseconds, and then retries occur every second until the retryTimeoutInMilliseconds interval expires. Immediately after this interval, the operation is retried one final time. If the operation still fails, the exception is thrown back to the caller, depending on the throwOnError setting. The default value is 0, which means no retries. + * The non-TLS port is disabled by default for new caches. Specify true for this setting to use the TLS port. For more information about enabling the non-TLS port, see the [Access Ports](cache-configure.md#access-ports) section in the [Configure a cache](cache-configure.md) article. +* **throwOnError** – true if you want an exception to be thrown when there's a failure, or false if you want the operation to fail silently. You can check for a failure by checking the static `Microsoft.Web.Redis.RedisSessionStateProvider.LastException` property. The default is true. +* **retryTimeoutInMilliseconds** – Operations that fail are retried during this interval, specified in milliseconds. The first retry occurs after 20 milliseconds, and then retries occur every second until the `retryTimeoutInMillisecond`s interval expires. Immediately after this interval, the operation is retried one final time. If the operation still fails, the exception is thrown back to the caller, depending on the `throwOnError` setting. The default value is 0, which means no retries. * **databaseId** – Specifies which database to use for cache output data. If not specified, the default value of 0 is used. -* **applicationName** – Keys are stored in redis as `{_}_Data`. This naming scheme enables multiple applications to share the same Redis instance. This parameter is optional and if you do not provide it a default value is used. -* **connectionTimeoutInMilliseconds** – This setting allows you to override the connectTimeout setting in the StackExchange.Redis client. If not specified, the default connectTimeout setting of 5000 is used. For more information, see [StackExchange.Redis configuration model](https://go.microsoft.com/fwlink/?LinkId=398705). -* **operationTimeoutInMilliseconds** – This setting allows you to override the syncTimeout setting in the StackExchange.Redis client. If not specified, the default syncTimeout setting of 1000 is used. For more information, see [StackExchange.Redis configuration model](https://go.microsoft.com/fwlink/?LinkId=398705). +* **applicationName** – Keys are stored in redis as `{_}_Data`. This naming scheme enables multiple applications to share the same Redis instance. This parameter is optional and if you don't provide it a default value is used. +* **connectionTimeoutInMilliseconds** – This setting allows you to override the `connectTimeout` setting in the StackExchange.Redis client. If not specified, the default connectTimeout setting of 5000 is used. For more information, see [StackExchange.Redis configuration model](https://go.microsoft.com/fwlink/?LinkId=398705). +* **operationTimeoutInMilliseconds** – This setting allows you to override the syncTimeout setting in the StackExchange.Redis client. If not specified, the default `syncTimeout` setting of 1000 is used. For more information, see [StackExchange.Redis configuration model](https://go.microsoft.com/fwlink/?LinkId=398705). * **redisSerializerType** - This setting allows you to specify custom serialization of session content that is sent to Redis. The type specified must implement `Microsoft.Web.Redis.ISerializer` and must declare public parameterless constructor. By default `System.Runtime.Serialization.Formatters.Binary.BinaryFormatter` is used. For more information about these properties, see the original blog post announcement at [Announcing ASP.NET Session State Provider for Redis](https://devblogs.microsoft.com/aspnet/announcing-asp-net-session-state-provider-for-redis-preview-release/). -Don’t forget to comment out the standard InProc session state provider section in your web.config. +Don’t forget to comment out the standard `InProc` session state provider section in your web.config. ```xml ``` -Once these steps are performed, your application is configured to use the Azure Cache for Redis Session State Provider. When you use session state in your application, it is stored in an Azure Cache for Redis instance. +Once these steps are performed, your application is configured to use the Azure Cache for Redis Session State Provider. When you use session state in your application, it's stored in an Azure Cache for Redis instance. > [!IMPORTANT] > Data stored in the cache must be serializable, unlike the data that can be stored in the default in-memory ASP.NET Session State Provider. When the Session State Provider for Redis is used, be sure that the data types that are being stored in session state are serializable. @@ -110,8 +110,8 @@ Once these steps are performed, your application is configured to use the Azure ## ASP.NET Session State options -* In Memory Session State Provider - This provider stores the Session State in memory. The benefit of using this provider is it is simple and fast. However you cannot scale your Web Apps if you are using in memory provider since it is not distributed. -* Sql Server Session State Provider - This provider stores the Session State in Sql Server. Use this provider if you want to store the Session state in persistent storage. You can scale your Web App but using Sql Server for Session has a performance impact on your Web App. You can also use this provider with an [In-Memory OLTP configuration](/archive/blogs/sqlserverstorageengine/asp-net-session-state-with-sql-server-in-memory-oltp) to help improve performance. +* In Memory Session State Provider - This provider stores the Session State in memory. The benefit of using this provider is simplicity and speed. However, you can't scale your Web Apps if you're using in memory provider since it isn't distributed. +* Sql Server Session State Provider - This provider stores the Session State in Sql Server. Use this provider if you want to store the Session state in persistent storage. You can scale your Web App but using Sql Server for Session has a performance effect on your Web App. You can also use this provider with an [In-Memory OLTP configuration](/archive/blogs/sqlserverstorageengine/asp-net-session-state-with-sql-server-in-memory-oltp) to help improve performance. * Distributed In Memory Session State Provider such as Azure Cache for Redis Session State Provider - This provider gives you the best of both worlds. Your Web App can have a simple, fast, and scalable Session State Provider. Because this provider stores the Session state in a Cache, your app has to take in consideration all the characteristics associated when talking to a Distributed In Memory Cache, such as transient network failures. For best practices on using Cache, see [Caching guidance](/azure/architecture/best-practices/caching) from Microsoft Patterns & Practices [Azure Cloud Application Design and Implementation Guidance](https://github.com/mspnp/azure-guidance). For more information about session state and other best practices, see [Web Development Best Practices (Building Real-World Cloud Apps with Azure)](https://www.asp.net/aspnet/overview/developing-apps-with-windows-azure/building-real-world-cloud-apps-with-windows-azure/web-development-best-practices). diff --git a/articles/azure-cache-for-redis/cache-configure.md b/articles/azure-cache-for-redis/cache-configure.md index 27ad03cf3340..f412adbb1b3c 100644 --- a/articles/azure-cache-for-redis/cache-configure.md +++ b/articles/azure-cache-for-redis/cache-configure.md @@ -66,7 +66,7 @@ You can view and configure the following settings using the **Resource Menu**. T ### Activity log -Select **Activity log** to view actions done to your cache. You can also use filtering to expand this view to include other resources. For more information on working with audit logs, see [Audit operations with Resource Manager](../azure-monitor/essentials/activity-log.md). For more information on monitoring Azure Cache for Redis events, see [Operations and alerts](cache-how-to-monitor.md#operations-and-alerts). +Select **Activity log** to view actions done to your cache. You can also use filtering to expand this view to include other resources. For more information on working with audit logs, see [Audit operations with Resource Manager](../azure-monitor/essentials/activity-log.md). For more information on monitoring Azure Cache for Redis events, see [alerts](cache-how-to-monitor.md#alerts). ### Access control (IAM) diff --git a/articles/azure-cache-for-redis/cache-how-to-geo-replication.md b/articles/azure-cache-for-redis/cache-how-to-geo-replication.md index b2d5d784f6b7..8015b9fda609 100644 --- a/articles/azure-cache-for-redis/cache-how-to-geo-replication.md +++ b/articles/azure-cache-for-redis/cache-how-to-geo-replication.md @@ -2,17 +2,17 @@ title: Configure geo-replication for Premium Azure Cache for Redis instances description: Learn how to replicate your Azure Cache for Redis Premium instances across Azure regions author: flang-msft - ms.service: cache ms.topic: conceptual ms.date: 02/08/2021 ms.author: franlanglois --- + # Configure geo-replication for Premium Azure Cache for Redis instances In this article, you'll learn how to configure a geo-replicated Azure Cache using the Azure portal. -Geo-replication links together two Premium Azure Cache for Redis instances and creates a data replication relationship. These cache instances are usually located in different Azure regions, though they aren't required to. One instance acts as the primary, and the other as the secondary. The primary handles read and write requests and propagates changes to the secondary. This process continues until the link between the two instances is removed. +Geo-replication links together two Premium Azure Cache for Redis instances and creates a data replication relationship. These cache instances are typically located in different Azure regions, though that isn't required. One instance acts as the primary, and the other as the secondary. The primary handles read and write requests and propagate changes to the secondary. This process continues until the link between the two instances is removed. > [!NOTE] > Geo-replication is designed as a disaster-recovery solution. @@ -42,7 +42,7 @@ Some features aren't supported with geo-replication: After geo-replication is configured, the following restrictions apply to your linked cache pair: -- The secondary linked cache is read-only; you can read from it, but you can't write any data to it. If you choose to read from the Geo-Secondary instance, it is important to note that whenever a full data sync is happening between the Geo-Primary and the Geo-Secondary (happens when either Geo-Primary or Geo-Secondary is updated and on some reboot scenarios as well), the Geo-Secondary instance will throw errors (stating that a full data sync is in progress) on any Redis operation against it until the full data sync between Geo-Primary and Geo-Secondary is complete. Applications reading from Geo-Secondary should be built to fall back to the Geo-Primary whenever the Geo-Secondary is throwing such errors. +- The secondary linked cache is read-only; you can read from it, but you can't write any data to it. If you choose to read from the Geo-Secondary instance when a full data sync is happening between the Geo-Primary and the Geo-Secondary, the Geo-Secondary instance throws errors on any Redis operation against it until the full data sync is complete. The errors state that a full data sync is in progress. Also, the errors are thrown when either Geo-Primary or Geo-Secondary is updated and on some reboot scenarios. Applications reading from Geo-Secondary should be built to fall back to the Geo-Primary whenever the Geo-Secondary is throwing such errors. - Any data that was in the secondary linked cache before the link was added is removed. If the geo-replication is later removed however, the replicated data remains in the secondary linked cache. - You can't [scale](cache-how-to-scale.md) either cache while the caches are linked. - You can't [change the number of shards](cache-how-to-premium-clustering.md) if the cache has clustering enabled. @@ -55,7 +55,7 @@ After geo-replication is configured, the following restrictions apply to your li ## Add a geo-replication link -1. To link two caches together for geo-replication, fist click **Geo-replication** from the Resource menu of the cache that you intend to be the primary linked cache. Next, click **Add cache replication link** from **Geo-replication** on the left. +1. To link two caches together for geo-replication, fist select **Geo-replication** from the Resource menu of the cache that you intend to be the primary linked cache. Next, select **Add cache replication link** from **Geo-replication** on the left. :::image type="content" source="media/cache-how-to-geo-replication/cache-geo-location-menu.png" alt-text="Cache geo-replication menu"::: @@ -90,7 +90,7 @@ After geo-replication is configured, the following restrictions apply to your li ## Remove a geo-replication link -1. To remove the link between two caches and stop geo-replication, click **Unlink caches** from the **Geo-replication** on the left . +1. To remove the link between two caches and stop geo-replication, select **Unlink caches** from the **Geo-replication** on the left. :::image type="content" source="media/cache-how-to-geo-replication/cache-geo-location-unlink.png" alt-text="Unlink caches"::: @@ -126,9 +126,9 @@ No, geo-replication is only available for Premium tier caches. ### Is my cache available for use during the linking or unlinking process? -- When linking, the primary linked cache remains available while the linking process completes. -- When linking, the secondary linked cache isn't available until the linking process completes. -- When unlinking, both caches remain available while the unlinking process completes. +- The primary linked cache remains available until the linking process completes. +- The secondary linked cache isn't available until the linking process completes. +- Both caches remain available until the unlinking process completes. ### Can I link more than two caches together? @@ -153,7 +153,7 @@ Yes, geo-replication of caches in VNets is supported with caveats: - Geo-replication between caches in the same VNet is supported. - Geo-replication between caches in different VNets is also supported. - If the VNets are in the same region, you can connect them using [VNet peering](../virtual-network/virtual-network-peering-overview.md) or a [VPN Gateway VNet-to-VNet connection](../vpn-gateway/vpn-gateway-howto-vnet-vnet-resource-manager-portal.md). - - If the VNets are in different regions, geo-replication using VNet peering is supported, but a client VM in VNet 1 (region 1) is not able to access the cache in VNet 2 (region 2) using it's DNS name because of a constraint with Basic internal load balancers. For more information about VNet peering constraints, see [Virtual Network - Peering - Requirements and constraints](../virtual-network/virtual-network-manage-peering.md#requirements-and-constraints). We recommend to use a VPN Gateway VNet-to-VNet connection. + - If the VNets are in different regions, geo-replication using VNet peering is supported. A client VM in VNet 1 (region 1) isn't able to access the cache in VNet 2 (region 2) using its DNS name because of a constraint with Basic internal load balancers. For more information about VNet peering constraints, see [Virtual Network - Peering - Requirements and constraints](../virtual-network/virtual-network-manage-peering.md#requirements-and-constraints). We recommend using a VPN Gateway VNet-to-VNet connection. Using [this Azure template](https://azure.microsoft.com/resources/templates/redis-vnet-geo-replication/), you can quickly deploy two geo-replicated caches into a VNet connected with a VPN Gateway VNet-to-VNet connection. @@ -163,7 +163,7 @@ Replication is continuous and asynchronous. It doesn't happen on a specific sche ### How long does geo-replication replication take? -Replication is incremental, asynchronous, and continuous and the time taken isn't much different from the latency across regions. Under certain circumstances, the secondary cache can be required to do a full sync of the data from the primary. The replication time in this case is depends on a number of factors like: load on the primary cache, available network bandwidth, and inter-region latency. We have found replication time for a full 53-GB geo-replicated pair can be anywhere between 5 to 10 minutes. +Replication is incremental, asynchronous, and continuous and the time taken isn't much different from the latency across regions. Under certain circumstances, the secondary cache can be required to do a full sync of the data from the primary. The replication time in this case depends on many factors like: load on the primary cache, available network bandwidth, and inter-region latency. We have found replication time for a full 53-GB geo-replicated pair can be anywhere between 5 to 10 minutes. ### Is the replication recovery point guaranteed? @@ -177,7 +177,7 @@ Yes, geo-replication can be managed using the Azure portal, PowerShell, or Azure ### How much does it cost to replicate my data across Azure regions? -When using geo-replication, data from the primary linked cache is replicated to the secondary linked cache. There's no charge for the data transfer if the two linked caches are in the same region. If the two linked caches are in different regions, the data transfer charge is the network egress cost of data moving across either region. For more information, see [Bandwidth Pricing Details](https://azure.microsoft.com/pricing/details/bandwidth/). +When you use geo-replication, data from the primary linked cache is replicated to the secondary linked cache. There's no charge for the data transfer if the two linked caches are in the same region. If the two linked caches are in different regions, the data transfer charge is the network egress cost of data moving across either region. For more information, see [Bandwidth Pricing Details](https://azure.microsoft.com/pricing/details/bandwidth/). ### Why did the operation fail when I tried to delete my linked cache? @@ -189,9 +189,9 @@ In general, it's recommended for your cache to exist in the same Azure region as ### How does failing over to the secondary linked cache work? -Automatic failover across Azure regions isn't supported for geo-replicated caches. In a disaster-recovery scenario, customers should bring up the entire application stack in a coordinated manner in their backup region. Letting individual application components decide when to switch to their backups on their own can negatively impact performance. +Automatic failover across Azure regions isn't supported for geo-replicated caches. In a disaster-recovery scenario, customers should bring up the entire application stack in a coordinated manner in their backup region. Letting individual application components decide when to switch to their backups on their own can negatively affect performance. -One of the key benefits of Redis is that it's a very low-latency store. If the customer's main application is in a different region than its cache, the added round-trip time would have a noticeable impact on performance. For this reason, we avoid failing over automatically because of transient availability issues. +One of the key benefits of Redis is that it's a very low-latency store. If the customer's main application is in a different region than its cache, the added round-trip time would have a noticeable effect on performance. For this reason, we avoid failing over automatically because of transient availability issues. To start a customer-initiated failover, first unlink the caches. Then, change your Redis client to use the connection endpoint of the (formerly linked) secondary cache. When the two caches are unlinked, the secondary cache becomes a regular read-write cache again and accepts requests directly from Redis clients. diff --git a/articles/azure-cache-for-redis/cache-how-to-monitor.md b/articles/azure-cache-for-redis/cache-how-to-monitor.md index 49dc7084ea1e..366937b37d68 100644 --- a/articles/azure-cache-for-redis/cache-how-to-monitor.md +++ b/articles/azure-cache-for-redis/cache-how-to-monitor.md @@ -5,7 +5,8 @@ author: flang-msft ms.author: franlanglois ms.service: cache ms.topic: conceptual -ms.date: 02/08/2021 +ms.date: 05/06/2022 + --- # Monitor Azure Cache for Redis @@ -19,17 +20,17 @@ Use Azure Monitor to: - add and remove metrics from the charts - and set alerts when certain conditions are met -Metrics for Azure Cache for Redis instances are collected using the Redis [INFO](https://redis.io/commands/info) command. Metrics are collected approximately twice per minute and automatically stored for 30 days so they can be displayed in the metrics charts and evaluated by alert rules. +Metrics for Azure Cache for Redis instances are collected using the Redis [INFO](https://redis.io/commands/info) command. Metrics are collected approximately two times per minute and automatically stored for 30 days so they can be displayed in the metrics charts and evaluated by alert rules. To configure a different retention policy, see [Export cache metrics](#export-cache-metrics). For more information about the different INFO values used for each cache metric, see [Available metrics and reporting intervals](#available-metrics-and-reporting-intervals). - +## View cache metrics To view cache metrics, [browse](cache-configure.md#configure-azure-cache-for-redis-settings) to your cache instance in the [Azure portal](https://portal.azure.com). Azure Cache for Redis provides some built-in charts on the left using **Overview** and **Redis metrics**. Each chart can be customized by adding or removing metrics and changing the reporting interval. -![Six graphs are shown. One of them is Cache Hits and Cache Misses past hour.](./media/cache-how-to-monitor/redis-cache-redis-metrics-blade.png) +:::image type="content" source="./media/cache-how-to-monitor/redis-cache-redis-metrics-blade.png" alt-text="Six graphs are shown. One of them is Cache Hits and Cache Misses past hour."::: ## View pre-configured metrics charts @@ -42,13 +43,13 @@ On the left, **Overview** has the following pre-configured monitoring charts. The **Monitoring** section---in **Overview** on the left---has **Hits and Misses**, **Gets and Sets**, **Connections**, and **Total Commands** charts. -![Monitoring charts](./media/cache-how-to-monitor/redis-cache-monitoring-part.png) +:::image type="content" source="./media/cache-how-to-monitor/redis-cache-monitoring-part.png" alt-text="Monitoring charts"::: ### Usage charts The **Usage** section---in **Overview** on the left---has **Redis Server Load**, **Memory Usage**, **Network Bandwidth**, and **CPU Usage** charts, and also displays the **Pricing tier** for the cache instance. -![Usage charts](./media/cache-how-to-monitor/redis-cache-usage-part.png) +:::image type="content" source="./media/cache-how-to-monitor/redis-cache-usage-part.png" alt-text="Usage charts"::: The **Pricing tier** displays the cache pricing tier, and can be used to [scale](cache-how-to-scale.md) the cache to a different pricing tier. @@ -60,11 +61,11 @@ Use [Azure Monitor for Azure Cache for Redis](../azure-monitor/insights/redis-ca For scenarios where you don't need the full flexibility of Azure Monitor for Azure Cache for Redis, you can instead view metrics and create custom charts using the Azure Monitor metrics explorer. Select **Metrics** from the **Resource menu**, and customize your chart using your preferred metrics, reporting interval, chart type, and more. -![In the left navigation pane of contoso55, Metrics is an option under Monitoring and is highlighted. On Metrics there is a list of metrics. Cache hits and Cache misses are selected.](./media/cache-how-to-monitor/redis-cache-monitor.png) +In the left navigation pane of contoso55, Metrics is an option under Monitoring and is highlighted. On Metrics, is a list of metrics. Cache hits and Cache misses are selected. -For more information on working with metrics using Azure Monitor, see [Overview of metrics in Microsoft Azure](../azure-monitor/data-platform.md). +:::image type="content" source="./media/cache-how-to-monitor/redis-cache-monitor.png" alt-text="Screenshot with metrics showing in the resource manager"::: - +For more information on working with metrics using Azure Monitor, see [Overview of metrics in Microsoft Azure](../azure-monitor/data-platform.md). ## Export cache metrics @@ -80,7 +81,7 @@ To configure a storage account for your cache metrics: 1. Under the table heading **metric**, check box beside the line items you want to store, such as **AllMetrics**. Specify a **Retention (days)** policy. The maximum days retention you can specify is **365 days**. However, if you want to keep the metrics data forever, set **Retention (days)** to **0**. 1. Select **Save**. -![Redis diagnostics](./media/cache-how-to-monitor/redis-cache-diagnostics.png) +:::image type="content" source="./media/cache-how-to-monitor/redis-cache-diagnostics.png" alt-text="Redis diagnostics"::: >[!NOTE] >In addition to archiving your cache metrics to storage, you can also [stream them to an Event hub or send them to Azure Monitor logs](../azure-monitor/essentials/rest-api-walkthrough.md#retrieve-metric-values). @@ -143,8 +144,6 @@ Each metric includes two versions. One metric measures performance for the entir | Used Memory Percentage | The % of total memory that is being used during the specified reporting interval. This value references the `used_memory` value from the Redis INFO command to calculate the percentage. | | Used Memory RSS |The amount of cache memory used in MB during the specified reporting interval, including fragmentation and metadata. This value maps to `used_memory_rss` from the Redis INFO command. | - - ## Alerts You can configure to receive alerts based on metrics and activity logs. Azure Monitor allows you to configure an alert to do the following when it triggers: @@ -155,20 +154,6 @@ You can configure to receive alerts based on metrics and activity logs. Azure Mo To configure Alert rules for your cache, select **Alert rules** from the **Resource menu**. -![Monitoring](./media/cache-how-to-monitor/redis-cache-monitoring.png) +:::image type="content" source="./media/cache-how-to-monitor/redis-cache-monitoring.png" alt-text="Monitoring"::: For more information about configuring and using Alerts, see [Overview of Alerts](../azure-monitor/alerts/alerts-classic-portal.md). - - diff --git a/articles/azure-cache-for-redis/cache-how-to-premium-clustering.md b/articles/azure-cache-for-redis/cache-how-to-premium-clustering.md index 325c02f6c0b3..1a40325df23d 100644 --- a/articles/azure-cache-for-redis/cache-how-to-premium-clustering.md +++ b/articles/azure-cache-for-redis/cache-how-to-premium-clustering.md @@ -59,7 +59,7 @@ Clustering is enabled **New Azure Cache for Redis** on the left during cache cr :::image type="content" source="media/cache-how-to-premium-clustering/redis-cache-clustering-selected.png" alt-text="Clustering toggle selected."::: - Once the cache is created, you connect to it and use it just like a non-clustered cache. Redis distributes the data throughout the Cache shards. If diagnostics is [enabled](cache-how-to-monitor.md#enable-cache-diagnostics), metrics are captured separately for each shard and can be [viewed](cache-how-to-monitor.md) in Azure Cache for Redis on the left. + Once the cache is created, you connect to it and use it just like a non-clustered cache. Redis distributes the data throughout the Cache shards. If diagnostics is [enabled](cache-how-to-monitor.md#export-cache-metrics), metrics are captured separately for each shard and can be [viewed](cache-how-to-monitor.md) in Azure Cache for Redis on the left. 1. Select the **Next: Tags** tab or select the **Next: Tags** button at the bottom of the page. diff --git a/articles/azure-cache-for-redis/cache-how-to-premium-vnet.md b/articles/azure-cache-for-redis/cache-how-to-premium-vnet.md index 84d95f8a74e9..b04343ad0438 100644 --- a/articles/azure-cache-for-redis/cache-how-to-premium-vnet.md +++ b/articles/azure-cache-for-redis/cache-how-to-premium-vnet.md @@ -2,11 +2,11 @@ title: Configure a virtual network - Premium-tier Azure Cache for Redis instance description: Learn how to create and manage virtual network support for your Premium-tier Azure Cache for Redis instance author: flang-msft - ms.author: franlanglois ms.service: cache ms.topic: conceptual -ms.date: 02/08/2021 +ms.date: 05/06/2022 + --- # Configure virtual network support for a Premium Azure Cache for Redis instance @@ -246,7 +246,7 @@ When your cache is part of a virtual network, only clients in the virtual networ Customers can connect an [Azure ExpressRoute](https://azure.microsoft.com/services/expressroute/) circuit to their virtual network infrastructure. In this way, they extend their on-premises network to Azure. -By default, a newly created ExpressRoute circuit doesn't do forced tunneling (advertisement of a default route, 0.0.0.0/0) on a virtual network. As a result, outbound internet connectivity is allowed directly from the virtual network. Client applications can connect to other Azure endpoints, which include an Azure Cache for Redis instance. +By default, a newly created ExpressRoute circuit doesn't use forced tunneling (advertisement of a default route, 0.0.0.0/0) on a virtual network. As a result, outbound internet connectivity is allowed directly from the virtual network. Client applications can connect to other Azure endpoints, which include an Azure Cache for Redis instance. A common customer configuration is to use forced tunneling (advertise a default route), which forces outbound internet traffic to instead flow on-premises. This traffic flow breaks connectivity with Azure Cache for Redis if the outbound traffic is then blocked on-premises such that the Azure Cache for Redis instance isn't able to communicate with its dependencies. diff --git a/articles/azure-cache-for-redis/cache-management-faq.yml b/articles/azure-cache-for-redis/cache-management-faq.yml index a7c2aac93ed7..1ea32904d562 100644 --- a/articles/azure-cache-for-redis/cache-management-faq.yml +++ b/articles/azure-cache-for-redis/cache-management-faq.yml @@ -70,7 +70,7 @@ sections: - question: | How can I benchmark and test the performance of my cache? answer: | - * [Enable cache diagnostics](cache-how-to-monitor.md#enable-cache-diagnostics) so you can [monitor](cache-how-to-monitor.md) the health of your cache. You can view the metrics in the Azure portal and you can also [download and review](https://github.com/rustd/RedisSamples/tree/master/CustomMonitoring) them using the tools of your choice. + * [Enable cache diagnostics](cache-how-to-monitor.md#export-cache-metrics) so you can [monitor](cache-how-to-monitor.md) the health of your cache. You can view the metrics in the Azure portal and you can also [download and review](https://github.com/rustd/RedisSamples/tree/master/CustomMonitoring) them using the tools of your choice. * You can use redis-benchmark.exe to load test your Redis server. * Ensure that the load testing client and the Azure Cache for Redis are in the same region. * Use redis-cli.exe and monitor the cache using the INFO command. diff --git a/articles/azure-cache-for-redis/quickstart-create-redis.md b/articles/azure-cache-for-redis/quickstart-create-redis.md index 6554f44f781b..6fdf3412c1d7 100644 --- a/articles/azure-cache-for-redis/quickstart-create-redis.md +++ b/articles/azure-cache-for-redis/quickstart-create-redis.md @@ -6,8 +6,8 @@ ms.author: franlanglois ms.service: cache ms.custom: mvc, mode-other ms.topic: quickstart -ms.date: 02/08/2021 -#Customer intent: As a developer new to Azure Cache for Redis, I want to create an instance of Azure Cache for Redis Enterprise tier. +ms.date: 05/06/2022 + --- # Quickstart: Create an open-source Redis cache @@ -25,5 +25,4 @@ You'll need an Azure subscription before you begin. If you don't have one, creat In this quickstart, you learned how to create an instance of Azure Cache for Redis. -> [!div class="nextstepaction"] > [Create an ASP.NET web app that uses an Azure Cache for Redis.](./cache-web-app-howto.md) diff --git a/articles/azure-maps/azure-maps-qps-rate-limits.md b/articles/azure-maps/azure-maps-qps-rate-limits.md index 1818a4f6bc72..5c1bc96b5f10 100644 --- a/articles/azure-maps/azure-maps-qps-rate-limits.md +++ b/articles/azure-maps/azure-maps-qps-rate-limits.md @@ -21,19 +21,20 @@ Below are the QPS usage limits for each Azure Maps service by Pricing Tier. | Copyright Service | 10 | 10 | 10 | | Creator - Alias, TilesetDetails | 10 | Not Available | Not Available | | Creator - Conversion, Dataset, Feature State, WFS | 50 | Not Available | Not Available | -| Data Service | 50 | 50 | 50 | -| Elevation Service | 50 | 50 | 50 | +| Data Service | 50 | 50 | Not Available | +| Elevation Service | 50 | 50 | Not Available | | Geolocation Service | 50 | 50 | 50 | -| Render Service - Contour tiles, DEM tiles, Elevation tiles, Customer tiles, Traffic tiles and Static maps | 50 | 50 | 50 | +| Render Service - Contour tiles, Digital Elevation Model (DEM) tiles and Customer tiles | 50 | 50 | Not Available | +| Render Service - Traffic tiles and Static maps | 50 | 50 | 50 | | Render Service - Road tiles | 500 | 500 | 50 | -| Render Service - Satellite tiles | 250 | 250 | 50 | +| Render Service - Satellite tiles | 250 | 250 | Not Available | | Render Service - Weather tiles | 100 | 100 | 50 | -| Route Service - Batch | 10 | 10 | 10 | +| Route Service - Batch | 10 | 10 | Not Available | | Route Service - Non-Batch | 50 | 50 | 50 | -| Search Service - Batch | 10 | 10 | 10 | +| Search Service - Batch | 10 | 10 | Not Available | | Search Service - Non-Batch | 500 | 500 | 50 | | Search Service - Non-Batch Reverse | 250 | 250 | 50 | -| Spatial Service | 50 | 50 | 50 | +| Spatial Service | 50 | 50 | Not Available | | Timezone Service | 50 | 50 | 50 | | Traffic Service | 50 | 50 | 50 | | Weather Service | 50 | 50 | 50 | diff --git a/articles/azure-monitor/app/api-custom-events-metrics.md b/articles/azure-monitor/app/api-custom-events-metrics.md index 0ba5a880037a..569326b55384 100644 --- a/articles/azure-monitor/app/api-custom-events-metrics.md +++ b/articles/azure-monitor/app/api-custom-events-metrics.md @@ -55,7 +55,7 @@ If you don't have a reference on Application Insights SDK yet: Get an instance of `TelemetryClient` (except in JavaScript in webpages): -For [ASP.NET Core](asp-net-core.md#how-can-i-track-telemetry-thats-not-automatically-collected) apps and [Non HTTP/Worker for .NET/.NET Core](worker-service.md#how-can-i-track-telemetry-thats-not-automatically-collected) apps, it is recommended to get an instance of `TelemetryClient` from the dependency injection container as explained in their respective documentation. +For [ASP.NET Core](asp-net-core.md) apps and [Non HTTP/Worker for .NET/.NET Core](worker-service.md#how-can-i-track-telemetry-thats-not-automatically-collected) apps, it is recommended to get an instance of `TelemetryClient` from the dependency injection container as explained in their respective documentation. If you use AzureFunctions v2+ or Azure WebJobs v3+ - follow [this document](../../azure-functions/functions-monitoring.md). diff --git a/articles/azure-monitor/app/asp-net-core.md b/articles/azure-monitor/app/asp-net-core.md index a371096bb7d3..1b715f01c0b3 100644 --- a/articles/azure-monitor/app/asp-net-core.md +++ b/articles/azure-monitor/app/asp-net-core.md @@ -141,7 +141,7 @@ Run your application and make requests to it. Telemetry should now flow to Appli ### ILogger logs -The default configuration collects `ILogger` `Warning` logs and more severe logs. You can [customize this configuration](#how-do-i-customize-ilogger-logs-collection). +The default configuration collects `ILogger` `Warning` logs and more severe logs. Review the FAQ to [customize this configuration](../faq.yml). ### Dependencies @@ -409,128 +409,6 @@ If you want to disable telemetry conditionally and dynamically, you can resolve The preceding code sample prevents the sending of telemetry to Application Insights. It doesn't prevent any automatic collection modules from collecting telemetry. If you want to remove a particular auto collection module, see [remove the telemetry module](#configuring-or-removing-default-telemetrymodules). -## Frequently asked questions - -### Does Application Insights support ASP.NET Core 3.X? - -Yes. Update to [Application Insights SDK for ASP.NET Core](https://nuget.org/packages/Microsoft.ApplicationInsights.AspNetCore) version 2.8.0 or later. Earlier versions of the SDK don't support ASP.NET Core 3.X. - -Also, if you're [enabling server-side telemetry based on Visual Studio](#enable-application-insights-server-side-telemetry-visual-studio), update to the latest version of Visual Studio 2019 (16.3.0) to onboard. Earlier versions of Visual Studio don't support automatic onboarding for ASP.NET Core 3.X apps. - -### How can I track telemetry that's not automatically collected? - -Get an instance of `TelemetryClient` by using constructor injection, and call the required `TrackXXX()` method on it. We don't recommend creating new `TelemetryClient` or `TelemetryConfiguration` instances in an ASP.NET Core application. A singleton instance of `TelemetryClient` is already registered in the `DependencyInjection` container, which shares `TelemetryConfiguration` with rest of the telemetry. Creating a new `TelemetryClient` instance is recommended only if it needs a configuration that's separate from the rest of the telemetry. - -The following example shows how to track more telemetry from a controller. - -```csharp -using Microsoft.ApplicationInsights; - -public class HomeController : Controller -{ - private TelemetryClient telemetry; - - // Use constructor injection to get a TelemetryClient instance. - public HomeController(TelemetryClient telemetry) - { - this.telemetry = telemetry; - } - - public IActionResult Index() - { - // Call the required TrackXXX method. - this.telemetry.TrackEvent("HomePageRequested"); - return View(); - } -``` - -For more information about custom data reporting in Application Insights, see [Application Insights custom metrics API reference](./api-custom-events-metrics.md). A similar approach can be used for sending custom metrics to Application Insights using the [GetMetric API](./get-metric.md). - -### How do I customize ILogger logs collection? - -By default, only `Warning` logs and more severe logs are automatically captured. To change this behavior, explicitly override the logging configuration for the provider `ApplicationInsights` as shown below. -The following configuration allows ApplicationInsights to capture all `Information` logs and more severe logs. - -```json -{ - "Logging": { - "LogLevel": { - "Default": "Warning" - }, - "ApplicationInsights": { - "LogLevel": { - "Default": "Information" - } - } - } -} -``` - -It's important to note that the following example doesn't cause the ApplicationInsights provider to capture `Information` logs. It doesn't capture it because the SDK adds a default logging filter that instructs `ApplicationInsights` to capture only `Warning` logs and more severe logs. ApplicationInsights requires an explicit override. - -```json -{ - "Logging": { - "LogLevel": { - "Default": "Information" - } - } -} -``` - -For more information, see [ILogger configuration](ilogger.md#logging-level). - -### Some Visual Studio templates used the UseApplicationInsights() extension method on IWebHostBuilder to enable Application Insights. Is this usage still valid? - -The extension method `UseApplicationInsights()` is still supported, but it's marked as obsolete in Application Insights SDK version 2.8.0 and later. It will be removed in the next major version of the SDK. To enable Application Insights telemetry, we recommend using `AddApplicationInsightsTelemetry()` because it provides overloads to control some configuration. Also, in ASP.NET Core 3.X apps, `services.AddApplicationInsightsTelemetry()` is the only way to enable Application Insights. - -### I'm deploying my ASP.NET Core application to Web Apps. Should I still enable the Application Insights extension from Web Apps? - -If the SDK is installed at build time as shown in this article, you don't need to enable the [Application Insights extension](./azure-web-apps.md) from the App Service portal. If the extension is installed, it will back off when it detects the SDK is already added. If you enable Application Insights from the extension, you don't have to install and update the SDK. But if you enable Application Insights by following instructions in this article, you have more flexibility because: - - * Application Insights telemetry will continue to work in: - * All operating systems, including Windows, Linux, and Mac. - * All publish modes, including self-contained or framework dependent. - * All target frameworks, including the full .NET Framework. - * All hosting options, including Web Apps, VMs, Linux, containers, Azure Kubernetes Service, and non-Azure hosting. - * All .NET Core versions including preview versions. - * You can see telemetry locally when you're debugging from Visual Studio. - * You can track more custom telemetry by using the `TrackXXX()` API. - * You have full control over the configuration. - -### Can I enable Application Insights monitoring by using tools like Azure Monitor Application Insights Agent (formerly Status Monitor v2)? - - Yes. In [Application Insights Agent 2.0.0-beta1](https://www.powershellgallery.com/packages/Az.ApplicationMonitor/2.0.0-beta1) and later, ASP.NET Core applications hosted in IIS are supported. - -### Are all features supported if I run my application in Linux? - -Yes. Feature support for the SDK is the same in all platforms, with the following exceptions: - -* The SDK collects [Event Counters](./eventcounters.md) on Linux because [Performance Counters](./performance-counters.md) are only supported in Windows. Most metrics are the same. -* Although `ServerTelemetryChannel` is enabled by default, if the application is running in Linux or macOS, the channel doesn't automatically create a local storage folder to keep telemetry temporarily if there are network issues. Because of this limitation, telemetry is lost when there are temporary network or server issues. To work around this issue, configure a local folder for the channel: - -```csharp -using Microsoft.ApplicationInsights.Channel; -using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel; - - public void ConfigureServices(IServiceCollection services) - { - // The following will configure the channel to use the given folder to temporarily - // store telemetry items during network or Application Insights server issues. - // User should ensure that the given folder already exists - // and that the application has read/write permissions. - services.AddSingleton(typeof(ITelemetryChannel), - new ServerTelemetryChannel () {StorageFolder = "/tmp/myfolder"}); - services.AddApplicationInsightsTelemetry(); - } -``` - -This limitation isn't applicable from version [2.15.0](https://www.nuget.org/packages/Microsoft.ApplicationInsights.AspNetCore/2.15.0) and later. - -### Is this SDK supported for the new .NET Core 3.X Worker Service template applications? - -This SDK requires `HttpContext`; therefore, it doesn't work in any non-HTTP applications, including the .NET Core 3.X Worker Service applications. To enable Application Insights in such applications using the newly released Microsoft.ApplicationInsights.WorkerService SDK, see [Application Insights for Worker Service applications (non-HTTP applications)](worker-service.md). - ## Open-source SDK * [Read and contribute to the code](https://github.com/microsoft/ApplicationInsights-dotnet). diff --git a/articles/azure-monitor/app/convert-classic-resource.md b/articles/azure-monitor/app/convert-classic-resource.md index e2ee8926148b..7576cdd3318e 100644 --- a/articles/azure-monitor/app/convert-classic-resource.md +++ b/articles/azure-monitor/app/convert-classic-resource.md @@ -63,7 +63,6 @@ Once the migration is complete, you can use [diagnostic settings](../essentials/ > - If the retention setting for your Application Insights instance under **Configure** > **Usage and estimated costs** > **Data Retention** is enabled, then use that setting to control the retention days for the telemetry data still saved in your classic resource's storage. - Understand [Workspace-based Application Insights](../logs/cost-logs.md#application-insights-billing) usage and costs. -- Understand [Workspace-based resource changes](#workspace-based-resource-changes). ## Migrate your resource diff --git a/articles/azure-monitor/app/ilogger.md b/articles/azure-monitor/app/ilogger.md index 0787890f196a..f512c7f1ac43 100644 --- a/articles/azure-monitor/app/ilogger.md +++ b/articles/azure-monitor/app/ilogger.md @@ -496,7 +496,7 @@ public class MyController : ApiController ``` > [!NOTE] -> If you use the `Microsoft.ApplicationInsights.AspNetCore` package to enable Application Insights, modify this code to get `TelemetryClient` directly in the constructor. For an example, see [this FAQ](./asp-net-core.md#frequently-asked-questions). +> If you use the `Microsoft.ApplicationInsights.AspNetCore` package to enable Application Insights, modify this code to get `TelemetryClient` directly in the constructor. For an example, see [this FAQ](../faq.yml). ### What Application Insights telemetry type is produced from ILogger logs? Where can I see ILogger logs in Application Insights? diff --git a/articles/azure-monitor/faq.yml b/articles/azure-monitor/faq.yml index 9470b56aa31d..8929fc0c2a82 100644 --- a/articles/azure-monitor/faq.yml +++ b/articles/azure-monitor/faq.yml @@ -674,6 +674,118 @@ sections: > [!NOTE] > If the resource you are creating in a new region is replacing a classic resource we recommend exploring the benefits of [creating a new workspace-based resource](app/create-workspace-resource.md) or alternatively [migrating your existing resource to workspace-based](app/convert-classic-resource.md). + - question: | + What versions of ASP.NET and ASP.NET Core are supported by Application Insights? + answer: | + .NET and .NET Core [LTS](https://dotnet.microsoft.com/download/visual-studio-sdks) + + - question: | + How can I track telemetry that's not automatically collected? + answer: | + Get an instance of `TelemetryClient` by using constructor injection, and call the required `TrackXXX()` method on it. We don't recommend creating new `TelemetryClient` or `TelemetryConfiguration` instances in an ASP.NET Core application. A singleton instance of `TelemetryClient` is already registered in the `DependencyInjection` container, which shares `TelemetryConfiguration` with rest of the telemetry. Creating a new `TelemetryClient` instance is recommended only if it needs a configuration that's separate from the rest of the telemetry. + + The following example shows how to track more telemetry from a controller. + + ```csharp + using Microsoft.ApplicationInsights; + public class HomeController : Controller + { + private TelemetryClient telemetry; + // Use constructor injection to get a TelemetryClient instance. + public HomeController(TelemetryClient telemetry) + { + this.telemetry = telemetry; + } + public IActionResult Index() + { + // Call the required TrackXXX method. + this.telemetry.TrackEvent("HomePageRequested"); + return View(); + } + ``` + For more information about custom data reporting in Application Insights, see [Application Insights custom metrics API reference](app/api-custom-events-metrics.md). A similar approach can be used for sending custom metrics to Application Insights using the [GetMetric API](app/get-metric.md). + + - question: | + How do I customize ILogger logs collection? + answer: | + By default, only `Warning` logs and more severe logs are automatically captured. To change this behavior, explicitly override the logging configuration for the provider `ApplicationInsights` as shown below. + + The following configuration allows ApplicationInsights to capture all `Information` logs and more severe logs. + + ```json + { + "Logging": { + "LogLevel": { + "Default": "Warning" + }, + "ApplicationInsights": { + "LogLevel": { + "Default": "Information" + } + } + } + } + ``` + It's important to note that the following example doesn't cause the ApplicationInsights provider to capture `Information` logs. It doesn't capture it because the SDK adds a default logging filter that instructs `ApplicationInsights` to capture only `Warning` logs and more severe logs. ApplicationInsights requires an explicit override. + ```json + { + "Logging": { + "LogLevel": { + "Default": "Information" + } + } + } + ``` + For more information, see [ILogger configuration](app/ilogger.md#logging-level). + + - question: | + Some Visual Studio templates used the UseApplicationInsights() extension method on IWebHostBuilder to enable Application Insights. Is this usage still valid? + answer: | + The extension method `UseApplicationInsights()` is still supported, but it's marked as obsolete in Application Insights SDK version 2.8.0 and later. It will be removed in the next major version of the SDK. To enable Application Insights telemetry, we recommend using `AddApplicationInsightsTelemetry()` because it provides overloads to control some configuration. Also, in ASP.NET Core 3.X apps, `services.AddApplicationInsightsTelemetry()` is the only way to enable Application Insights. + + - question: | + I'm deploying my ASP.NET Core application to Web Apps. Should I still enable the Application Insights extension from Web Apps? + answer: | + If the SDK is installed at build time as shown in this article, you don't need to enable the [Application Insights extension](app/azure-web-apps.md) from the App Service portal. If the extension is installed, it will back off when it detects the SDK is already added. If you enable Application Insights from the extension, you don't have to install and update the SDK. But if you enable Application Insights by following instructions in this article, you have more flexibility because: + + * Application Insights telemetry will continue to work in: + * All operating systems, including Windows, Linux, and Mac. + * All publish modes, including self-contained or framework dependent. + * All target frameworks, including the full .NET Framework. + * All hosting options, including Web Apps, VMs, Linux, containers, Azure Kubernetes Service, and non-Azure hosting. + * All .NET Core versions including preview versions. + * You can see telemetry locally when you're debugging from Visual Studio. + * You can track more custom telemetry by using the `TrackXXX()` API. + * You have full control over the configuration. + + - question: | + Can I enable Application Insights monitoring by using tools like Azure Monitor Application Insights Agent (formerly Status Monitor v2)? + answer: | + Yes. In [Application Insights Agent 2.0.0-beta1](https://www.powershellgallery.com/packages/Az.ApplicationMonitor/2.0.0-beta1) and later, ASP.NET Core applications hosted in IIS are supported. + + - question: | + Are all features supported if I run my application in Linux? + answer: | + Yes. Feature support for the SDK is the same in all platforms, with the following exceptions: + + * The SDK collects [Event Counters](app/eventcounters.md) on Linux because [Performance Counters](app/performance-counters.md) are only supported in Windows. Most metrics are the same. + * Although `ServerTelemetryChannel` is enabled by default, if the application is running in Linux or macOS, the channel doesn't automatically create a local storage folder to keep telemetry temporarily if there are network issues. Because of this limitation, telemetry is lost when there are temporary network or server issues. To work around this issue, configure a local folder for the channel: + ```csharp + using Microsoft.ApplicationInsights.Channel; + using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel; + public void ConfigureServices(IServiceCollection services) + { + // The following will configure the channel to use the given folder to temporarily + // store telemetry items during network or Application Insights server issues. + // User should ensure that the given folder already exists + // and that the application has read/write permissions. + services.AddSingleton(typeof(ITelemetryChannel), + new ServerTelemetryChannel () {StorageFolder = "/tmp/myfolder"}); + services.AddApplicationInsightsTelemetry(); + } + ``` + This limitation isn't applicable from version [2.15.0](https://www.nuget.org/packages/Microsoft.ApplicationInsights.AspNetCore/2.15.0) and later. + - question: | Automation answer: | @@ -801,7 +913,7 @@ sections: However, there are still cases where even when server-side monitoring is enabled on an application's web server that a 502 or 503 error will not be captured by Application Insights. Many modern web servers do not allow a client to communicate directly, but instead employ solutions like reverse proxies to pass information back and forth between the client and the front-end web servers. In this scenario, a 502 or 503 response could be returned to a client due to an issue at the reverse proxy layer and would not be captured out-of-box by Application Insights. To help detect issues at this layer you may need to forward logs from your reverse proxy to Log Analytics and create a custom rule to check for 502/503 responses. To learn more about common causes of 502 and 503 errors consult the Azure App Service [troubleshooting article for "502 bad gateway" and "503 service unavailable"](../app-service/troubleshoot-http-502-http-503.md). - + - name: OpenTelemetry questions: - question: | @@ -868,7 +980,7 @@ sections: What's the difference between OpenCensus and OpenTelemetry? answer: | [OpenCensus](https://opencensus.io/) is the precursor to [OpenTelemetry](https://opentelemetry.io/). Microsoft helped bring together [OpenTracing](https://opentracing.io/) and OpenCensus to create OpenTelemetry, a single observability standard for the world. Azure Monitor's current [production-recommended Python SDK](app/opencensus-python.md) is based on OpenCensus, but eventually all Azure Monitor's SDKs will be based on OpenTelemetry. - + - name: Container insights questions: - question: | diff --git a/articles/azure-monitor/whats-new.md b/articles/azure-monitor/whats-new.md index fa3693de9984..50ce16a09bd6 100644 --- a/articles/azure-monitor/whats-new.md +++ b/articles/azure-monitor/whats-new.md @@ -2,113 +2,13 @@ title: "What's new in Azure Monitor documentation" description: "What's new in Azure Monitor documentation" ms.topic: conceptual -ms.date: 05/03/2022 +ms.date: 04/04/2022 --- # What's new in Azure Monitor documentation This article lists significant changes to Azure Monitor documentation. -## April, 2022 - -### General - -**New articles** - -- [Monitoring Azure Monitor data reference](azure-monitor-monitoring-reference.md) - -**Updated articles** - -- [Azure Monitor best practices - Analyze and visualize data](best-practices-analysis.md) - -### Agents - -**New articles** - -- [Azure Monitor agent extension versions](agents/azure-monitor-agent-extension-versions.md) -- [Azure Monitor agent on Windows client devices (Preview)](agents/azure-monitor-agent-windows-client.md) -- [Collect text and IIS logs with Azure Monitor agent (preview)](agents/data-collection-text-log.md) - - -**Updated articles** - -- [Azure Monitor agent overview](agents/azure-monitor-agent-overview.md) -- [Collect text and IIS logs with Azure Monitor agent (preview)](agents/data-collection-text-log.md) -- [Overview of Azure Monitor agents](agents/agents-overview.md) - -### Alerts - -**Updated articles** - -- [Alerts on activity log](alerts/activity-log-alerts.md) -- [Configure Azure to connect ITSM tools using Secure Webhook](alerts/itsm-connector-secure-webhook-connections-azure-configuration.md) -- [Connect Azure to ITSM tools by using IT Service Management Solution](alerts/itsmc-definition.md) -- [Connect Azure to ITSM tools by using Secure Webhook](alerts/it-service-management-connector-secure-webhook-connections.md) -- [Create a metric alert with a Resource Manager template](alerts/alerts-metric-create-templates.md) -- [Create, view, and manage log alerts using Azure Monitor](alerts/alerts-log.md) -- [IT Service Management (ITSM) Integration](alerts/itsmc-overview.md) -- [Log alerts in Azure Monitor](alerts/alerts-unified-log.md) -- [Manage alert instances with unified alerts](alerts/alerts-managing-alert-instances.md) -- [Troubleshoot problems in IT Service Management Connector](alerts/itsmc-troubleshoot-overview.md) - -### Application Insights - -**New articles** - -- [PageView telemetry: Application Insights data model](app/data-model-pageview-telemetry.md) -- [Profile live Azure containers with Application Insights](app/profiler-containers.md) - -**Updated articles** - -- [Angular plugin for Application Insights JavaScript SDK](app/javascript-angular-plugin.md) -- [Application Insights for web pages](app/javascript.md) -- [Configure Application Insights Profiler](app/profiler-settings.md) -- [Connection strings](app/sdk-connection-string.md) -- [Live Metrics Stream: Monitor & Diagnose with 1-second latency](app/live-stream.md) -- [Monitor your Node.js services and apps with Application Insights](app/nodejs.md) -- [Profile production applications in Azure with Application Insights](app/profiler-overview.md) -- [React Native plugin for Application Insights JavaScript SDK](app/javascript-react-native-plugin.md) -- [React plugin for Application Insights JavaScript SDK](app/javascript-react-plugin.md) -- [Tips for updating your JVM args - Azure Monitor Application Insights for Java](app/java-standalone-arguments.md) -- [Troubleshooting no data - Application Insights for .NET/.NET Core](app/asp-net-troubleshoot-no-data.md) - -### Autoscale - -**Updated articles** - -- [Get started with Autoscale in Azure](autoscale/autoscale-get-started.md) - -### Essentials - -**Updated articles** - -- [Supported categories for Azure Monitor resource logs](essentials/resource-logs-categories.md) -- [Supported metrics with Azure Monitor](essentials/metrics-supported.md) - -### Insights - -**Updated articles** - -- [Monitor Surface Hubs with Azure Monitor to track their health](insights/surface-hubs.md) - -### Logs - -**New articles** - -- [Collect and ingest data from a file using Data Collection Rules (DCR) (Preview)](logs/data-ingestion-from-file.md) - -**Updated articles** - -- [Azure Monitor Logs pricing details](logs/cost-logs.md) -- [Log Analytics workspace data export in Azure Monitor](logs/logs-data-export.md) -- [Tutorial: Send custom logs to Azure Monitor Logs using Resource Manager templates (preview)](logs/tutorial-custom-logs-api.md) - -### Visualizations - -**Updated articles** - -- [Monitor your Azure services in Grafana](visualize/grafana-plugin.md) - ## March, 2022 ### Agents @@ -547,7 +447,7 @@ This article lists significant changes to Azure Monitor documentation. - [Enable VM insights by using Azure Policy](vm/vminsights-enable-policy.md) -### Visualizations +## Visualizations **Updated articles** diff --git a/articles/azure-netapp-files/create-active-directory-connections.md b/articles/azure-netapp-files/create-active-directory-connections.md index c30450c7c947..e6d9635963b7 100644 --- a/articles/azure-netapp-files/create-active-directory-connections.md +++ b/articles/azure-netapp-files/create-active-directory-connections.md @@ -12,7 +12,7 @@ ms.service: azure-netapp-files ms.workload: storage ms.tgt_pltfrm: na ms.topic: how-to -ms.date: 04/18/2022 +ms.date: 04/29/2022 ms.author: anfdocs --- # Create and manage Active Directory connections for Azure NetApp Files @@ -170,6 +170,10 @@ This setting is configured in the **Active Directory Connections** under **NetAp This is the domain name of your Active Directory Domain Services that you want to join. * **AD Site Name** This is the site name that the domain controller discovery will be limited to. This should match the site name in Active Directory Sites and Services. + + > [!IMPORTANT] + > Without an AD Site Name specified, service disruption may occur. Without an AD Site Name specified, the Azure NetApp Files service may attempt to authenticate with a domain controller beyond what your network topology allows and result in a service disruption. See [Understanding Active Directory Site Topology | Microsoft Docs](/windows-server/identity/ad-ds/plan/understanding-active-directory-site-topology) for more information. + * **SMB server (computer account) prefix** This is the naming prefix for the machine account in Active Directory that Azure NetApp Files will use for creation of new accounts. diff --git a/articles/azure-percept/azureeyemodule-overview.md b/articles/azure-percept/azureeyemodule-overview.md index a794bad8132f..a0290973b8f4 100644 --- a/articles/azure-percept/azureeyemodule-overview.md +++ b/articles/azure-percept/azureeyemodule-overview.md @@ -31,7 +31,7 @@ The Azure Percept Workload enables several features that end users can take adva - A retraining loop for grabbing images from the device periodically, retraining the model in the cloud, and then pushing the newly trained model back down to the device. Using the device's ability to update and swap models on the fly. ## AI workload details -The Workload application is open-sourced in the Azure Percept Advanced Development [github repository](https://github.com/microsoft/azure-percept-advanced-development/tree/main/azureeyemodule/app) and is made up of many small C++ modules, with some of the more important being: +The Workload application is open-sourced in the Azure Percept Advanced Development [GitHub repository](https://github.com/microsoft/azure-percept-advanced-development/tree/main/azureeyemodule/app) and is made up of many small C++ modules, with some of the more important being: - [main.cpp](https://github.com/microsoft/azure-percept-advanced-development/blob/main/azureeyemodule/app/main.cpp): Sets up everything and then runs the main loop. - [iot](https://github.com/microsoft/azure-percept-advanced-development/tree/main/azureeyemodule/app/iot): This folder contains modules that handle incoming and outgoing messages from the Azure IoT Edge Hub, and the twin update method. - [model](https://github.com/microsoft/azure-percept-advanced-development/tree/main/azureeyemodule/app/model): This folder contains modules for a class hierarchy of computer vision models. diff --git a/articles/azure-resource-manager/bicep/toc.yml b/articles/azure-resource-manager/bicep/toc.yml index af3b21cb8b6f..8338533747ba 100644 --- a/articles/azure-resource-manager/bicep/toc.yml +++ b/articles/azure-resource-manager/bicep/toc.yml @@ -87,6 +87,8 @@ href: ../../cosmos-db/sql/quick-create-bicep.md?toc=/azure/azure-resource-manager/bicep/toc.json - name: Database for MariaDB href: ../../mariadb/quickstart-create-mariadb-server-database-bicep.md?toc=/azure/azure-resource-manager/bicep/toc.json + - name: Database for MySQL + href: ../../mysql/quickstart-create-mysql-server-database-using-bicep.md?toc=/azure/azure-resource-manager/bicep/toc.json - name: Database for PostgreSQL href: ../../postgresql/quickstart-create-postgresql-server-database-using-bicep.md?toc=/azure/azure-resource-manager/bicep/toc.json - name: Database Migration Service diff --git a/articles/azure-resource-manager/templates/template-functions-object.md b/articles/azure-resource-manager/templates/template-functions-object.md index 0cc04e08a21c..3c4608cf3031 100644 --- a/articles/azure-resource-manager/templates/template-functions-object.md +++ b/articles/azure-resource-manager/templates/template-functions-object.md @@ -2,7 +2,7 @@ title: Template functions - objects description: Describes the functions to use in an Azure Resource Manager template (ARM template) for working with objects. ms.topic: conceptual -ms.date: 03/10/2022 +ms.date: 05/09/2022 --- # Object functions for ARM templates @@ -163,6 +163,146 @@ The output from the preceding example with the default values is: | objectOutput | Object | {"one": "a", "three": "c"} | | arrayOutput | Array | ["two", "three"] | +## items + +`items(object)` + +Converts a dictionary object to an array. + +In Bicep, use the [items](../bicep/bicep-functions-object.md#items). + +### Parameters + +| Parameter | Required | Type | Description | +|:--- |:--- |:--- |:--- | +| object |Yes |object |The dictionary object to convert to an array. | + +### Return value + +An array of objects for the converted dictionary. Each object in the array has a `key` property that contains the key value for the dictionary. Each object also has a `value` property that contains the properties for the object. + +### Example + +The following example converts a dictionary object to an array. For each object in the array, it creates a new object with modified values. + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "copy": [ + { + "name": "modifiedListOfEntities", + "count": "[length(items(variables('entities')))]", + "input": { + "key": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].key]", + "fullName": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.displayName]", + "itemEnabled": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.enabled]" + } + } + ], + "entities": { + "item002": { + "enabled": false, + "displayName": "Example item 2", + "number": 200 + }, + "item001": { + "enabled": true, + "displayName": "Example item 1", + "number": 300 + } + } + }, + "resources": [], + "outputs": { + "modifiedResult": { + "type": "array", + "value": "[variables('modifiedListOfEntities')]" + } + } +} +``` + +The preceding example returns: + +```json +"modifiedResult": { + "type": "Array", + "value": [ + { + "fullName": "Example item 1", + "itemEnabled": true, + "key": "item001" + }, + { + "fullName": "Example item 2", + "itemEnabled": false, + "key": "item002" + } + ] +} +``` + +The following example shows the array that is returned from the items function. + +```json +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "entities": { + "item002": { + "enabled": false, + "displayName": "Example item 2", + "number": 200 + }, + "item001": { + "enabled": true, + "displayName": "Example item 1", + "number": 300 + } + }, + "entitiesArray": "[items(variables('entities'))]" + }, + "resources": [], + "outputs": { + "itemsResult": { + "type": "array", + "value": "[variables('entitiesArray')]" + } + } +} +``` + +The example returns: + +```json +"itemsResult": { + "type": "Array", + "value": [ + { + "key": "item001", + "value": { + "displayName": "Example item 1", + "enabled": true, + "number": 300 + } + }, + { + "key": "item002", + "value": { + "displayName": "Example item 2", + "enabled": false, + "number": 200 + } + } + ] +} +``` + +The items() function sorts the objects in the alphabetical order. For example, **item001** appears before **item002** in the outputs of the two preceding samples. + ## json diff --git a/articles/azure-resource-manager/templates/template-functions.md b/articles/azure-resource-manager/templates/template-functions.md index 5777b57b4e6f..cb9063b65574 100644 --- a/articles/azure-resource-manager/templates/template-functions.md +++ b/articles/azure-resource-manager/templates/template-functions.md @@ -164,6 +164,7 @@ Resource Manager provides several functions for working with objects. * [createObject](template-functions-object.md#createobject) * [empty](template-functions-object.md#empty) * [intersection](template-functions-object.md#intersection) +* [items](template-functions-object.md#items) * [json](template-functions-object.md#json) * [length](template-functions-object.md#length) * [null](template-functions-object.md#null) diff --git a/articles/azure-video-indexer/create-account-portal.md b/articles/azure-video-indexer/create-account-portal.md index bddf841dc561..73fce75e401a 100644 --- a/articles/azure-video-indexer/create-account-portal.md +++ b/articles/azure-video-indexer/create-account-portal.md @@ -42,9 +42,12 @@ Search for **Microsoft.Media** and **Microsoft.EventGrid**. If not in the "Regis ![Image of search bar](media/create-account-portal/search-bar.png) 1. Click **Create**. -1. In the **Create an Azure Video Indexer resource** section enter required values. Here are the definitions: +1. In the **Create an Azure Video Indexer resource** section enter required values. - + ![Image of create account](media/create-account-portal/create-account-blade.png) + + Here are the definitions: + | Name | Description| |---|---| |**Subscription**|Choose the subscription that you are using to create the Azure Video Indexer account.| diff --git a/articles/azure-vmware/azure-vmware-solution-platform-updates.md b/articles/azure-vmware/azure-vmware-solution-platform-updates.md index 03769bb5aed0..4b8c56de0f13 100644 --- a/articles/azure-vmware/azure-vmware-solution-platform-updates.md +++ b/articles/azure-vmware/azure-vmware-solution-platform-updates.md @@ -2,6 +2,7 @@ title: Platform updates for Azure VMware Solution description: Learn about the platform updates to Azure VMware Solution. ms.topic: reference +ms.custom: references_regions ms.date: 12/22/2021 --- @@ -9,6 +10,14 @@ ms.date: 12/22/2021 Azure VMware Solution will apply important updates starting in March 2021. You'll receive a notification through Azure Service Health that includes the timeline of the maintenance. For more information, see [Host maintenance and lifecycle management](concepts-private-clouds-clusters.md#host-maintenance-and-lifecycle-management). +## May 9, 2022 + +All new Azure VMware Solution private clouds in regions (France Central, Brazil South, Japan West, Australia Southeast, Canada East, East Asia, and Southeast Asia), are now deployed with VMware vCenter Server version 7.0 Update 3c and ESXi version 7.0 Update 3c. + +Any existing private clouds in the previously mentioned regions will be upgraded to those versions. For more information, please see [VMware ESXi 7.0 Update 3c Release Notes](https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-esxi-70u3c-release-notes.html) and [VMware vCenter Server 7.0 Update 3c Release Notes](https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-vcenter-server-70u3c-release-notes.html). + +You'll receive a notification through Azure Service Health that includes the timeline of the upgrade. You can reschedule an upgrade as needed. This notification also provides details on the upgraded component, its effect on workloads, private cloud access, and other Azure services. + ## February 18, 2022 Per VMware security advisory [VMSA-2022-0004](https://www.vmware.com/security/advisories/VMSA-2022-0004.html), multiple vulnerabilities in VMware ESXi have been reported to VMware. diff --git a/articles/cognitive-services/Computer-vision/Vision-API-How-to-Topics/HowtoAnalyzeVideo_Vision.md b/articles/cognitive-services/Computer-vision/Vision-API-How-to-Topics/HowtoAnalyzeVideo_Vision.md index ce4541296b4a..6331eb9f5ea4 100644 --- a/articles/cognitive-services/Computer-vision/Vision-API-How-to-Topics/HowtoAnalyzeVideo_Vision.md +++ b/articles/cognitive-services/Computer-vision/Vision-API-How-to-Topics/HowtoAnalyzeVideo_Vision.md @@ -10,7 +10,7 @@ ms.subservice: computer-vision ms.topic: how-to ms.date: 09/09/2019 ms.devlang: csharp -ms.custom: "seodec18, devx-track-csharp" +ms.custom: [seodec18, devx-track-csharp, non-critical] --- # Analyze videos in near real time diff --git a/articles/cognitive-services/Computer-vision/deploy-computer-vision-on-premises.md b/articles/cognitive-services/Computer-vision/deploy-computer-vision-on-premises.md index dafa6258fc86..1707c4312591 100644 --- a/articles/cognitive-services/Computer-vision/deploy-computer-vision-on-premises.md +++ b/articles/cognitive-services/Computer-vision/deploy-computer-vision-on-premises.md @@ -3,13 +3,14 @@ title: Use Computer Vision container with Kubernetes and Helm titleSuffix: Azure Cognitive Services description: Learn how to deploy the Computer Vision container using Kubernetes and Helm. services: cognitive-services -author: aahill +author: PatrickFarley manager: nitinme ms.service: cognitive-services ms.subservice: computer-vision ms.topic: how-to -ms.date: 01/27/2020 -ms.author: aahi +ms.date: 05/09/2022 +ms.author: pafarley +ms.custom: non-critical --- # Use Computer Vision container with Kubernetes and Helm @@ -24,7 +25,7 @@ The following prerequisites before using Computer Vision containers on-premises: |----------|---------| | Azure Account | If you don't have an Azure subscription, create a [free account][free-azure-account] before you begin. | | Kubernetes CLI | The [Kubernetes CLI][kubernetes-cli] is required for managing the shared credentials from the container registry. Kubernetes is also needed before Helm, which is the Kubernetes package manager. | -| Helm CLI | Install the [Helm CLI][helm-install], which is used to to install a helm chart (container package definition). | +| Helm CLI | Install the [Helm CLI][helm-install], which is used to install a helm chart (container package definition). | | Computer Vision resource |In order to use the container, you must have:

An Azure **Computer Vision** resource and the associated API key the endpoint URI. Both values are available on the Overview and Keys pages for the resource and are required to start the container.

**{API_KEY}**: One of the two available resource keys on the **Keys** page

**{ENDPOINT_URI}**: The endpoint as provided on the **Overview** page| [!INCLUDE [Gathering required parameters](../containers/includes/container-gathering-required-parameters.md)] diff --git a/articles/cognitive-services/Computer-vision/faq.yml b/articles/cognitive-services/Computer-vision/faq.yml index 9c755a39425e..accadc98bfe7 100644 --- a/articles/cognitive-services/Computer-vision/faq.yml +++ b/articles/cognitive-services/Computer-vision/faq.yml @@ -4,19 +4,19 @@ metadata: titleSuffix: Azure Cognitive Services description: Get answers to frequently asked questions about the Computer Vision API in Azure Cognitive Services. services: cognitive-services - author: KellyDF + author: PatrickFarley manager: nitinme ms.service: cognitive-services ms.subservice: computer-vision ms.topic: faq - ms.date: 04/17/2019 - ms.author: kefre - ms.custom: seodec18 + ms.date: 05/09/2022 + ms.author: pafarley + ms.custom: [seodec18, non-critical] title: Computer Vision API Frequently Asked Questions summary: | > [!TIP] - > If you can't find answers to your questions in this FAQ, try asking the Computer Vision API community on [StackOverflow](https://stackoverflow.com/questions/tagged/project-oxford+or+microsoft-cognitive) or contact Help and Support on [UserVoice](https://feedback.azure.com/d365community/forum/09041fae-0b25-ec11-b6e6-000d3a4f0858) + > If you can't find answers to your questions in this FAQ, ask the Computer Vision API community on [StackOverflow](https://stackoverflow.com/questions/tagged/project-oxford+or+microsoft-cognitive) or contact Help and Support on [UserVoice](https://feedback.azure.com/d365community/forum/09041fae-0b25-ec11-b6e6-000d3a4f0858) @@ -31,21 +31,21 @@ sections: - question: | The service is throwing an error because my image file is too large. How can I work around this? answer: | - The file size limit for most Computer Vision features is 4MB, but the client library SDKs can handle files up to 6MB. For Optical Character Recognition (OCR) that handles multi-page documents, the maximum file size is 50 MB. For more information, see the Image [Analysis inputs limits](overview-image-analysis.md#image-requirements) and [OCR input limits](overview-ocr.md#input-requirements). + The file size limit for most Computer Vision features is 4 MB, but the client library SDKs can handle files up to 6 MB. For Optical Character Recognition (OCR) that handles multi-page documents, the maximum file size is 50 MB. For more information, see the Image [Analysis inputs limits](overview-image-analysis.md#image-requirements) and [OCR input limits](overview-ocr.md#input-requirements). - question: | How can I process multi-page documents with OCR in a single call? answer: | - Optical Character Recognition, specifically the Read operation, supports multi-page documents as the API input. If you call the API with a 10-page document, you'll be billed for 10 pages, with each page counted as a billable transaction. Note that if you have the free (S0) tier, it can only process two pages at a time. + Optical Character Recognition, specifically the Read operation, supports multi-page documents as the API input. If you call the API with a 10-page document, you'll be billed for 10 pages, with each page counted as a billable transaction. If you have the free (S0) tier, it can only process two pages at a time. - question: | Can I send multiple images in a single API call to the Computer Vision service? answer: | - This function is not currently available. + This function isn't currently available. - question: | How many languages are supported for Image Analysis and OCR? answer: | - Please see the [Language support](language-support.md) page for the list of languages covered by Image Analysis and OCR. + See the [Language support](language-support.md) page for the list of languages covered by Image Analysis and OCR. - question: | Can I train Computer Vision API to use custom tags? For example, I would like to feed in pictures of cat breeds to 'train' the AI, then receive the breed value on an AI request. diff --git a/articles/cognitive-services/Computer-vision/read-container-migration-guide.md b/articles/cognitive-services/Computer-vision/read-container-migration-guide.md index 0262de0dbe18..bb37b73476af 100644 --- a/articles/cognitive-services/Computer-vision/read-container-migration-guide.md +++ b/articles/cognitive-services/Computer-vision/read-container-migration-guide.md @@ -10,6 +10,7 @@ ms.subservice: computer-vision ms.topic: conceptual ms.date: 09/28/2021 ms.author: aahi +ms.custom: non-critical --- # Migrate to the Read v3.x OCR containers diff --git a/articles/cognitive-services/Computer-vision/spatial-analysis-logging.md b/articles/cognitive-services/Computer-vision/spatial-analysis-logging.md index 3aac8fc13712..6709e2af1fc8 100644 --- a/articles/cognitive-services/Computer-vision/spatial-analysis-logging.md +++ b/articles/cognitive-services/Computer-vision/spatial-analysis-logging.md @@ -10,6 +10,7 @@ ms.subservice: computer-vision ms.topic: how-to ms.date: 06/08/2021 ms.author: pafarley +ms.custom: non-critical --- # Telemetry and troubleshooting diff --git a/articles/cognitive-services/Computer-vision/upgrade-api-versions.md b/articles/cognitive-services/Computer-vision/upgrade-api-versions.md index e473532a4ec5..10f4447b759e 100644 --- a/articles/cognitive-services/Computer-vision/upgrade-api-versions.md +++ b/articles/cognitive-services/Computer-vision/upgrade-api-versions.md @@ -12,6 +12,7 @@ ms.topic: conceptual ms.date: 08/11/2020 ms.author: pafarley ROBOTS: NOINDEX +ms.custom: non-critical --- # Upgrade from Read v2.x to Read v3.x @@ -19,7 +20,7 @@ ROBOTS: NOINDEX This guide shows how to upgrade your existing container or cloud API code from Read v2.x to Read v3.x. ## Determine your API path -Use the following table to determine the **version string** in the API path based on the Read 3.x version you are migrating to. +Use the following table to determine the **version string** in the API path based on the Read 3.x version you're migrating to. |Product type| Version | Version string in 3.x API path | |:-----|:----|:----| @@ -38,7 +39,7 @@ Next, use the following sections to narrow your operations and replace the **ver |----------|-----------| |https://{endpoint}/vision/**v2.0/read/core/asyncBatchAnalyze** |https://{endpoint}/vision/<**version string**>/read/analyze[?language]| -A new optional _language_ parameter is available. If you do not know the language of your document, or it may be multilingual, don't include it. +A new optional _language_ parameter is available. If you don't know the language of your document, or it may be multilingual, don't include it. ### `Get Read Results` @@ -62,10 +63,10 @@ When the call to `Get Read Operation Result` is successful, it returns a status Note the following changes to the json: * In v2.x, `Get Read Operation Result` will return the OCR recognition json when the status is `Succeeded"`. In v3.0, this field is `succeeded`. * To get the root for page array, change the json hierarchy from `recognitionResults` to `analyzeResult`/`readResults`. The per-page line and words json hierarchy remains unchanged, so no code changes are required. -* The page angle `clockwiseOrientation` has been renamed to `angle` and the range has been changed from 0 - 360 degrees to -180 to 180 degrees. Depending on your code, you may or may not have to makes changes as most math functions can handle either range. +* The page angle `clockwiseOrientation` has been renamed to `angle` and the range has been changed from 0 - 360 degrees to -180 to 180 degrees. Depending on your code, you may or may not have to make changes as most math functions can handle either range. -The v3.0 API also introduces the following improvements you can optionally leverage: -* `createdDateTime` and `lastUpdatedDateTime` are added so you can track the duration of processing. See documentation for more details. +The v3.0 API also introduces the following improvements you can optionally use: +* `createdDateTime` and `lastUpdatedDateTime` are added so you can track the duration of processing. * `version` tells you the version of the API used to generate results * A per-word `confidence` has been added. This value is calibrated so that a value 0.95 means that there is a 95% chance the recognition is correct. The confidence score can be used to select which text to send to human review. @@ -170,15 +171,15 @@ In v3.0, it has been adjusted: ## Service only ### `Recognize Text` -`Recognize Text` is a *preview* operation which is being *deprecated in all versions of Computer Vision API*. You must migrate from `Recognize Text` to `Read` (v3.0) or `Batch Read File` (v2.0, v2.1). v3.0 of `Read` includes newer, better models for text recognition and additional features, so it is recommended. To upgrade from `Recognize Text` to `Read`: +`Recognize Text` is a *preview* operation that is being *deprecated in all versions of Computer Vision API*. You must migrate from `Recognize Text` to `Read` (v3.0) or `Batch Read File` (v2.0, v2.1). v3.0 of `Read` includes newer, better models for text recognition and other features, so it's recommended. To upgrade from `Recognize Text` to `Read`: |Recognize Text 2.x |Read 3.x | |----------|-----------| |https://{endpoint}/vision/**v2.0/recognizeText[?mode]**|https://{endpoint}/vision/<**version string**>/read/analyze[?language]| -The _mode_ parameter is not supported in `Read`. Both handwritten and printed text will automatically be supported. +The _mode_ parameter isn't supported in `Read`. Both handwritten and printed text will automatically be supported. -A new optional _language_ parameter is available in v3.0. If you do not know the language of your document, or it may be multilingual, don't include it. +A new optional _language_ parameter is available in v3.0. If you don't know the language of your document, or it may be multilingual, don't include it. ### `Get Recognize Text Operation Result` @@ -202,8 +203,8 @@ Note the following changes to the json: * In v2.x, `Get Read Operation Result` will return the OCR recognition json when the status is `Succeeded`. In v3.x, this field is `succeeded`. * To get the root for page array, change the json hierarchy from `recognitionResult` to `analyzeResult`/`readResults`. The per-page line and words json hierarchy remains unchanged, so no code changes are required. -The v3.0 API also introduces the following improvements you can optionally leverage. See the API reference for more details: -* `createdDateTime` and `lastUpdatedDateTime` are added so you can track the duration of processing. See documentation for more details. +The v3.0 API also introduces the following improvements you can optionally use. See the API reference for more details: +* `createdDateTime` and `lastUpdatedDateTime` are added so you can track the duration of processing. * `version` tells you the version of the API used to generate results * A per-word `confidence` has been added. This value is calibrated so that a value 0.95 means that there is a 95% chance the recognition is correct. The confidence score can be used to select which text to send to human review. * `angle` general orientation of the text in clockwise direction, measured in degrees between (-180, 180]. diff --git a/articles/cognitive-services/Custom-Vision-Service/encrypt-data-at-rest.md b/articles/cognitive-services/Custom-Vision-Service/encrypt-data-at-rest.md index 4d0a9a8cb87e..7aa6996d90d2 100644 --- a/articles/cognitive-services/Custom-Vision-Service/encrypt-data-at-rest.md +++ b/articles/cognitive-services/Custom-Vision-Service/encrypt-data-at-rest.md @@ -10,6 +10,7 @@ ms.subservice: custom-vision ms.topic: conceptual ms.date: 08/28/2020 ms.author: egeaney +ms.custom: non-critical #Customer intent: As a user of the Face service, I want to learn how encryption at rest works. --- diff --git a/articles/cognitive-services/Custom-Vision-Service/export-delete-data.md b/articles/cognitive-services/Custom-Vision-Service/export-delete-data.md index 81d11dd77d88..f982c6e26e83 100644 --- a/articles/cognitive-services/Custom-Vision-Service/export-delete-data.md +++ b/articles/cognitive-services/Custom-Vision-Service/export-delete-data.md @@ -11,6 +11,7 @@ ms.subservice: custom-vision ms.topic: how-to ms.date: 03/21/2019 ms.author: pafarley +ms.custom: non-critical --- # View or delete user data in Custom Vision diff --git a/articles/cognitive-services/Custom-Vision-Service/storage-integration.md b/articles/cognitive-services/Custom-Vision-Service/storage-integration.md index 8174e98885e7..a599e0f532ae 100644 --- a/articles/cognitive-services/Custom-Vision-Service/storage-integration.md +++ b/articles/cognitive-services/Custom-Vision-Service/storage-integration.md @@ -9,6 +9,7 @@ ms.subservice: custom-vision ms.topic: how-to ms.date: 06/25/2021 ms.author: pafarley +ms.custom: non-critical --- # Integrate Azure storage for notifications and backup diff --git a/articles/cognitive-services/Face/Face-API-How-to-Topics/how-to-migrate-face-data.md b/articles/cognitive-services/Face/Face-API-How-to-Topics/how-to-migrate-face-data.md index 660e2421491c..5f46414aeeb9 100644 --- a/articles/cognitive-services/Face/Face-API-How-to-Topics/how-to-migrate-face-data.md +++ b/articles/cognitive-services/Face/Face-API-How-to-Topics/how-to-migrate-face-data.md @@ -12,7 +12,7 @@ ms.topic: how-to ms.date: 02/22/2021 ms.author: nitinme ms.devlang: csharp -ms.custom: devx-track-csharp +ms.custom: [devx-track-csharp, non-critical] --- # Migrate your face data to a different Face subscription diff --git a/articles/cognitive-services/Face/Face-API-How-to-Topics/how-to-mitigate-latency.md b/articles/cognitive-services/Face/Face-API-How-to-Topics/how-to-mitigate-latency.md index acdb57ac41cc..a3cd44c81de8 100644 --- a/articles/cognitive-services/Face/Face-API-How-to-Topics/how-to-mitigate-latency.md +++ b/articles/cognitive-services/Face/Face-API-How-to-Topics/how-to-mitigate-latency.md @@ -10,6 +10,7 @@ ms.topic: how-to ms.date: 1/5/2021 ms.author: pafarley ms.devlang: csharp +ms.custom: non-critical --- # How to: mitigate latency when using the Face service diff --git a/articles/cognitive-services/Face/Face-API-How-to-Topics/use-persondirectory.md b/articles/cognitive-services/Face/Face-API-How-to-Topics/use-persondirectory.md index 054c990b58ec..e577e61865a2 100644 --- a/articles/cognitive-services/Face/Face-API-How-to-Topics/use-persondirectory.md +++ b/articles/cognitive-services/Face/Face-API-How-to-Topics/use-persondirectory.md @@ -12,7 +12,7 @@ ms.topic: how-to ms.date: 04/22/2021 ms.author: pafarley ms.devlang: csharp -ms.custom: devx-track-csharp +ms.custom: [devx-track-csharp, non-critical] --- # Use the PersonDirectory structure diff --git a/articles/cognitive-services/Face/encrypt-data-at-rest.md b/articles/cognitive-services/Face/encrypt-data-at-rest.md index 4a531ed89667..d51a487521c8 100644 --- a/articles/cognitive-services/Face/encrypt-data-at-rest.md +++ b/articles/cognitive-services/Face/encrypt-data-at-rest.md @@ -10,6 +10,7 @@ ms.subservice: face-api ms.topic: conceptual ms.date: 08/28/2020 ms.author: egeaney +ms.custom: non-critical #Customer intent: As a user of the Face service, I want to learn how encryption at rest works. --- diff --git a/articles/cognitive-services/Speech-Service/includes/release-notes/release-notes-containers.md b/articles/cognitive-services/Speech-Service/includes/release-notes/release-notes-containers.md index c9fc16fb6f49..9fc9947908c2 100644 --- a/articles/cognitive-services/Speech-Service/includes/release-notes/release-notes-containers.md +++ b/articles/cognitive-services/Speech-Service/includes/release-notes/release-notes-containers.md @@ -11,8 +11,8 @@ ms.author: eur #### Custom speech-to-text Container v3.1.0 - Add support to [get display models](../../speech-container-howto.md#display-model-download-on-the-custom-speech-to-text-container). -#### Speech-language-detection Container v1.7.0-amd64-preview -- Update dependencies [speech-language-detection](~/articles/cognitive-services/speech-service/speech-container-howto.md). +#### Speech-language-detection Container v1.8.0-amd64-preview +- Update langauge detection engine, and fix the support of throttling rate for continuous accuracy mode [speech-language-detection](~/articles/cognitive-services/speech-service/speech-container-howto.md). ### 2022-January release diff --git a/articles/cognitive-services/Translator/reference/v3-0-translate.md b/articles/cognitive-services/Translator/reference/v3-0-translate.md index f7ce2f140fd2..c5d515a1b11b 100644 --- a/articles/cognitive-services/Translator/reference/v3-0-translate.md +++ b/articles/cognitive-services/Translator/reference/v3-0-translate.md @@ -9,7 +9,7 @@ manager: nitinme ms.service: cognitive-services ms.subservice: translator-text ms.topic: reference -ms.date: 05/12/2021 +ms.date: 05/09/2022 ms.author: lajanuar --- @@ -46,7 +46,7 @@ Request parameters passed on the query string are: | Query parameter | Description | | --- | --- | -| from | _Optional parameter_.
Specifies the language of the input text. Find which languages are available to translate from by looking up [supported languages](../reference/v3-0-languages.md) using the `translation` scope. If the `from` parameter is not specified, automatic language detection is applied to determine the source language.

You must use the `from` parameter rather than autodetection when using the [dynamic dictionary](../dynamic-dictionary.md) feature. | +| from | _Optional parameter_.
Specifies the language of the input text. Find which languages are available to translate from by looking up [supported languages](../reference/v3-0-languages.md) using the `translation` scope. If the `from` parameter isn't specified, automatic language detection is applied to determine the source language.

You must use the `from` parameter rather than autodetection when using the [dynamic dictionary](../dynamic-dictionary.md) feature. | | textType | _Optional parameter_.
Defines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, complete element. Possible values are: `plain` (default) or `html`. | | category | _Optional parameter_.
A string specifying the category (domain) of the translation. This parameter is used to get translations from a customized system built with [Custom Translator](../customization.md). Add the Category ID from your Custom Translator [project details](../custom-translator/how-to-create-project.md#view-project-details) to this parameter to use your deployed customized system. Default value is: `general`. | | profanityAction | _Optional parameter_.
Specifies how profanities should be treated in translations. Possible values are: `NoAction` (default), `Marked` or `Deleted`. To understand ways to treat profanity, see [Profanity handling](#handle-profanity). | @@ -56,7 +56,7 @@ Request parameters passed on the query string are: | suggestedFrom | _Optional parameter_.
Specifies a fallback language if the language of the input text can't be identified. Language autodetection is applied when the `from` parameter is omitted. If detection fails, the `suggestedFrom` language will be assumed. | | fromScript | _Optional parameter_.
Specifies the script of the input text. | | toScript | _Optional parameter_.
Specifies the script of the translated text. | -| allowFallback | _Optional parameter_.
Specifies that the service is allowed to fall back to a general system when a custom system does not exist. Possible values are: `true` (default) or `false`.

`allowFallback=false` specifies that the translation should only use systems trained for the `category` specified by the request. If a translation for language X to language Y requires chaining through a pivot language E, then all the systems in the chain (X->E and E->Y) will need to be custom and have the same category. If no system is found with the specific category, the request will return a 400 status code. `allowFallback=true` specifies that the service is allowed to fall back to a general system when a custom system does not exist. | +| allowFallback | _Optional parameter_.
Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. Possible values are: `true` (default) or `false`.

`allowFallback=false` specifies that the translation should only use systems trained for the `category` specified by the request. If a translation for language X to language Y requires chaining through a pivot language E, then all the systems in the chain (X->E and E->Y) will need to be custom and have the same category. If no system is found with the specific category, the request will return a 400 status code. `allowFallback=true` specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. | Request headers include: @@ -80,45 +80,45 @@ The body of the request is a JSON array. Each array element is a JSON object wit The following limitations apply: * The array can have at most 100 elements. -* The entire text included in the request cannot exceed 10,000 characters including spaces. +* The entire text included in the request can't exceed 10,000 characters including spaces. ## Response body A successful response is a JSON array with one result for each string in the input array. A result object includes the following properties: - * `detectedLanguage`: An object describing the detected language through the following properties: +* `detectedLanguage`: An object describing the detected language through the following properties: - * `language`: A string representing the code of the detected language. + * `language`: A string representing the code of the detected language. - * `score`: A float value indicating the confidence in the result. The score is between zero and one and a low score indicates a low confidence. + * `score`: A float value indicating the confidence in the result. The score is between zero and one and a low score indicates a low confidence. The `detectedLanguage` property is only present in the result object when language autodetection is requested. - * `translations`: An array of translation results. The size of the array matches the number of target languages specified through the `to` query parameter. Each element in the array includes: +* `translations`: An array of translation results. The size of the array matches the number of target languages specified through the `to` query parameter. Each element in the array includes: - * `to`: A string representing the language code of the target language. + * `to`: A string representing the language code of the target language. - * `text`: A string giving the translated text. + * `text`: A string giving the translated text. - * `transliteration`: An object giving the translated text in the script specified by the `toScript` parameter. +* `transliteration`: An object giving the translated text in the script specified by the `toScript` parameter. - * `script`: A string specifying the target script. + * `script`: A string specifying the target script. - * `text`: A string giving the translated text in the target script. + * `text`: A string giving the translated text in the target script. - The `transliteration` object is not included if transliteration does not take place. + The `transliteration` object isn't included if transliteration doesn't take place. * `alignment`: An object with a single string property named `proj`, which maps input text to translated text. The alignment information is only provided when the request parameter `includeAlignment` is `true`. Alignment is returned as a string value of the following format: `[[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]]`. The colon separates start and end index, the dash separates the languages, and space separates the words. One word may align with zero, one, or multiple words in the other language, and the aligned words may be non-contiguous. When no alignment information is available, the alignment element will be empty. See [Obtain alignment information](#obtain-alignment-information) for an example and restrictions. - * `sentLen`: An object returning sentence boundaries in the input and output texts. +* `sentLen`: An object returning sentence boundaries in the input and output texts. - * `srcSentLen`: An integer array representing the lengths of the sentences in the input text. The length of the array is the number of sentences, and the values are the length of each sentence. + * `srcSentLen`: An integer array representing the lengths of the sentences in the input text. The length of the array is the number of sentences, and the values are the length of each sentence. - * `transSentLen`: An integer array representing the lengths of the sentences in the translated text. The length of the array is the number of sentences, and the values are the length of each sentence. + * `transSentLen`: An integer array representing the lengths of the sentences in the translated text. The length of the array is the number of sentences, and the values are the length of each sentence. Sentence boundaries are only included when the request parameter `includeSentenceLength` is `true`. - * `sourceText`: An object with a single string property named `text`, which gives the input text in the default script of the source language. `sourceText` property is present only when the input is expressed in a script that's not the usual script for the language. For example, if the input were Arabic written in Latin script, then `sourceText.text` would be the same Arabic text converted into Arab script. +* `sourceText`: An object with a single string property named `text`, which gives the input text in the default script of the source language. `sourceText` property is present only when the input is expressed in a script that's not the usual script for the language. For example, if the input were Arabic written in Latin script, then `sourceText.text` would be the same Arabic text converted into Arab script. Examples of JSON responses are provided in the [examples](#examples) section. @@ -126,18 +126,23 @@ Examples of JSON responses are provided in the [examples](#examples) section. | Headers | Description | | --- | --- | -| X-RequestId | Value generated by the service to identify the request. It is used for troubleshooting purposes. | -| X-MT-System | Specifies the system type that was used for translation for each ‘to’ language requested for translation. The value is a comma-separated list of strings. Each string indicates a type:

* Custom - Request includes a custom system and at least one custom system was used during translation.
* Team - All other requests | +| X-RequestId | Value generated by the service to identify the request. It's used for troubleshooting purposes. | +| X-MT-System | Specifies the system type that was used for translation for each 'to' language requested for translation. The value is a comma-separated list of strings. Each string indicates a type:

* Custom - Request includes a custom system and at least one custom system was used during translation.
* Team - All other requests | ## Response status codes The following are the possible HTTP status codes that a request returns. -| ProfanityAction | Action | +|Status code | Description | | --- | --- | -| `NoAction` |NoAction is the default behavior. Profanity will pass from source to target.

**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He is a jackass. | -| `Deleted` | Profane words will be removed from the output without replacement.

**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He is | -| `Marked` | Profane words are replaced by a marker in the output. The marker depends on the `ProfanityMarker` parameter.

For `ProfanityMarker=Asterisk`, profane words are replaced with `***`:
**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He is a \\*\\*\\*.

For `ProfanityMarker=Tag`, profane words are surrounded by XML tags <profanity> and </profanity>:
**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He is a <profanity>jackass</profanity>. | +|200 | Success. | +|400 |One of the query parameters is missing or not valid. Correct request parameters before retrying. | +|401 | The request couldn't be authenticated. Check that credentials are specified and valid. | +|403 | The request isn't authorized. Check the details error message. This status code often indicates that all free translations provided with a trial subscription have been used up. | +|408 | The request couldn't be fulfilled because a resource is missing. Check the details error message. When the request includes a custom category, this status code often indicates that the custom translation system isn't yet available to serve requests. The request should be retried after a waiting period (for example, 1 minute). | +|429 | The server rejected the request because the client has exceeded request limits. | +|500 | An unexpected error occurred. If the error persists, report it with: date and time of the failure, request identifier from response header X-RequestId, and client identifier from request header X-ClientTraceId. | +|503 |Server temporarily unavailable. Retry the request. If the error persists, report it with: date and time of the failure, request identifier from response header X-RequestId, and client identifier from request header X-ClientTraceId. | If an error occurs, the request will also return a JSON error response. The error code is a 6-digit number combining the 3-digit HTTP status code followed by a 3-digit number to further categorize the error. Common error codes can be found on the [v3 Translator reference page](./v3-0-reference.md#errors). @@ -167,7 +172,7 @@ The `translations` array includes one element, which provides the translation of ### Translate a single input with language autodetection -This example shows how to translate a single sentence from English to Simplified Chinese. The request does not specify the input language. Autodetection of the source language is used instead. +This example shows how to translate a single sentence from English to Simplified Chinese. The request doesn't specify the input language. Autodetection of the source language is used instead. ```curl curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=zh-Hans" -H "Ocp-Apim-Subscription-Key: " -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'Hello, what is your name?'}]" @@ -270,9 +275,9 @@ If you want to avoid getting profanity in the translation, regardless of the pre | ProfanityAction | Action | | --- | --- | -| `NoAction` | NoAction is the default behavior. Profanity will pass from source to target.

**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He is a jackass. | -| `Deleted` | Profane words will be removed from the output without replacement.

**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He is a. | -| `Marked` | Profane words are replaced by a marker in the output. The marker depends on the `ProfanityMarker` parameter.

For `ProfanityMarker=Asterisk`, profane words are replaced with `***`:
**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He is a \\*\\*\\*.

For `ProfanityMarker=Tag`, profane words are surrounded by XML tags <profanity> and </profanity>:
**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He is a <profanity>jackass</profanity>. | +| `NoAction` | NoAction is the default behavior. Profanity will pass from source to target.

**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He's a jack---. | +| `Deleted` | Profane words will be removed from the output without replacement.

**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He's a. | +| `Marked` | Profane words are replaced by a marker in the output. The marker depends on the `ProfanityMarker` parameter.

For `ProfanityMarker=Asterisk`, profane words are replaced with `***`:
**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He's a \\*\\*\\*.

For `ProfanityMarker=Tag`, profane words are surrounded by XML tags <profanity> and </profanity>:
**Example Source (Japanese)**: 彼はジャッカスです。
**Example Translation (English)**: He's a <profanity>jack---</profanity>. | For example: @@ -312,14 +317,14 @@ That last request returns: ### Translate content with markup and decide what's translated -It's common to translate content that includes markup such as content from an HTML page or content from an XML document. Include query parameter `textType=html` when translating content with tags. In addition, it's sometimes useful to exclude specific content from translation. You can use the attribute `class=notranslate` to specify content that should remain in its original language. In the following example, the content inside the first `div` element will not be translated, while the content in the second `div` element will be translated. +It's common to translate content that includes markup such as content from an HTML page or content from an XML document. Include query parameter `textType=html` when translating content with tags. In addition, it's sometimes useful to exclude specific content from translation. You can use the attribute `class=notranslate` to specify content that should remain in its original language. In the following example, the content inside the first `div` element won't be translated, while the content in the second `div` element will be translated. ```
This will not be translated.
This will be translated.
``` -Here is a sample request to illustrate. +Here's a sample request to illustrate. ```curl curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans&textType=html" -H "Ocp-Apim-Subscription-Key: " -H "Content-Type: application/json; charset=UTF-8" -d "[{'Text':'
This will not be translated.
This will be translated.
'}]" @@ -372,16 +377,16 @@ The response is: The alignment information starts with `0:2-0:1`, which means that the first three characters in the source text (`The`) map to the first two characters in the translated text (`La`). #### Limitations -Obtaining alignment information is an experimental feature that we have enabled for prototyping research and experiences with potential phrase mappings. We may choose to stop supporting this in the future. Here are some of the notable restrictions where alignments are not supported: +Obtaining alignment information is an experimental feature that we've enabled for prototyping research and experiences with potential phrase mappings. We may choose to stop supporting this feature in the future. Here are some of the notable restrictions where alignments aren't supported: -* Alignment is not available for text in HTML format i.e., textType=html +* Alignment isn't available for text in HTML format that is, textType=html * Alignment is only returned for a subset of the language pairs: - English to/from any other language except Chinese Traditional, Cantonese (Traditional) or Serbian (Cyrillic). - from Japanese to Korean or from Korean to Japanese. - from Japanese to Chinese Simplified and Chinese Simplified to Japanese. - from Chinese Simplified to Chinese Traditional and Chinese Traditional to Chinese Simplified. -* You will not receive alignment if the sentence is a canned translation. Example of a canned translation is "This is a test", "I love you" and other high frequency sentences. -* Alignment is not available when you apply any of the approaches to prevent translation as described [here](../prevent-translation.md) +* You won't receive alignment if the sentence is a canned translation. Example of a canned translation is "This is a test", "I love you" and other high frequency sentences. +* Alignment isn't available when you apply any of the approaches to prevent translation as described [here](../prevent-translation.md) ### Obtain sentence boundaries @@ -398,7 +403,7 @@ The response is: { "translations":[ { - "text":"La réponse se trouve dans la traduction automatique. La meilleure technologie de traduction automatique ne peut pas toujours fournir des traductions adaptées à un site ou des utilisateurs comme un être humain. Il suffit de copier et coller un extrait de code n’importe où.", + "text":"La réponse se trouve dans la traduction automatique. La meilleure technologie de traduction automatique ne peut pas toujours fournir des traductions adaptées à un site ou des utilisateurs comme un être humain. Il suffit de copier et coller un extrait de code n'importe où.", "to":"fr", "sentLen":{"srcSentLen":[40,117,46],"transSentLen":[53,157,62]} } @@ -435,4 +440,4 @@ The result is: ] ``` -This feature works the same way with `textType=text` or with `textType=html`. The feature should be used sparingly. The appropriate and far better way of customizing translation is by using Custom Translator. Custom Translator makes full use of context and statistical probabilities. If you have or can afford to create training data that shows your work or phrase in context, you get much better results. [Learn more about Custom Translator](../customization.md). \ No newline at end of file +This feature works the same way with `textType=text` or with `textType=html`. The feature should be used sparingly. The appropriate and far better way of customizing translation is by using Custom Translator. Custom Translator makes full use of context and statistical probabilities. If you've or can afford to create training data that shows your work or phrase in context, you get much better results. [Learn more about Custom Translator](../customization.md). \ No newline at end of file diff --git a/articles/cognitive-services/containers/container-image-tags.md b/articles/cognitive-services/containers/container-image-tags.md index a21271a1cf1c..9b2e2cc4d4c7 100644 --- a/articles/cognitive-services/containers/container-image-tags.md +++ b/articles/cognitive-services/containers/container-image-tags.md @@ -2400,18 +2400,19 @@ This container image has the following tags available. You can also find a full # [Latest version](#tab/current) * Release notes for version `1.7.0`: - * Update dependencies + * Update langauge detection engine, and fix the support of throttling rate for continuous accuracy mode | Image Tags | Notes | |---------------------------------------------|:---------------------------------------------------------------------------| | `latest` | | -| `1.7.0-amd64-preview` | | +| `1.8.0-amd64-preview` | | # [Previous versions](#tab/previous) | Image Tags | Notes | |---------------------------------------------|:---------------------------------------------------------------------------| +| `1.7.0-amd64-preview` | | | `1.6.1-amd64-preview` | | | `1.5.0-amd64-preview` | | | `1.3.0-amd64-preview` | | diff --git a/articles/communication-services/concepts/service-limits.md b/articles/communication-services/concepts/service-limits.md index 392ce6ad4985..27c71f1e9170 100644 --- a/articles/communication-services/concepts/service-limits.md +++ b/articles/communication-services/concepts/service-limits.md @@ -2,11 +2,11 @@ title: Service limits for Azure Communication Services titleSuffix: An Azure Communication Services how-to document description: Learn how to -author: manoskow +author: GrantMeStrength manager: shahen services: azure-communication-services -ms.author: manoskow +ms.author: jken ms.date: 11/01/2021 ms.topic: how-to ms.service: azure-communication-services diff --git a/articles/communication-services/concepts/voice-video-calling/calling-sdk-features.md b/articles/communication-services/concepts/voice-video-calling/calling-sdk-features.md index f00aa608be63..7fed98c431f8 100644 --- a/articles/communication-services/concepts/voice-video-calling/calling-sdk-features.md +++ b/articles/communication-services/concepts/voice-video-calling/calling-sdk-features.md @@ -101,6 +101,10 @@ The following timeouts apply to the Communication Services Calling SDKs: | PSTN call establishment timeout | 115 | | Promote 1:1 call to a group call timeout | 115 | +## Maximum call duration: +The maximum call duration is 30 hours, participants that reach the maximum call duration lifetime of 30 hours will be disconnected from the call. + + ## JavaScript Calling SDK support by OS and browser The following table represents the set of supported browsers which are currently available. **We support the most recent three versions of the browser** unless otherwise indicated. diff --git a/articles/communication-services/quickstarts/identity/quick-create-identity.md b/articles/communication-services/quickstarts/identity/quick-create-identity.md index 48b45a988b5e..4e407f0b23b1 100644 --- a/articles/communication-services/quickstarts/identity/quick-create-identity.md +++ b/articles/communication-services/quickstarts/identity/quick-create-identity.md @@ -2,10 +2,10 @@ title: Quickstart - Quickly create Azure Communication Services identities for testing titleSuffix: An Azure Communication Services quickstart description: Learn how to use the Identities & Access Tokens tool in the Azure portal to use with samples and for troubleshooting. -author: manoskow +author: GrantMeStrength manager: chpalm services: azure-communication-services -ms.author: manoskow +ms.author: jken ms.date: 07/19/2021 ms.topic: quickstart ms.service: azure-communication-services diff --git a/articles/container-apps/connect-apps.md b/articles/container-apps/connect-apps.md index 8cf9bfb6bc30..03069db97f6f 100644 --- a/articles/container-apps/connect-apps.md +++ b/articles/container-apps/connect-apps.md @@ -5,8 +5,9 @@ services: container-apps author: craigshoemaker ms.service: container-apps ms.topic: conceptual -ms.date: 04/04/2022 +ms.date: 11/02/2021 ms.author: cshoe +ms.custom: ignite-fall-2021 --- # Connect applications in Azure Container Apps Preview @@ -20,8 +21,6 @@ Once you know a container app's domain name, then you can call the location with A sample solution showing how you can call between containers using both the FQDN Location or Dapr can be found on [Azure Samples](https://github.com/Azure-Samples/container-apps-connect-multiple-apps) -For more details about connecting Dapr applications, refer to [Invoke services using HTTP](https://docs.dapr.io/developing-applications/building-blocks/service-invocation/howto-invoke-discover-services/). - ## Location A container app's location is composed of values associated with its environment, name, and region. Available through the `azurecontainerapps.io` top-level domain, the fully qualified domain name (FQDN) uses: @@ -42,10 +41,6 @@ Developing microservices often requires you to implement patterns common to dist A microservice that uses Dapr is available through the following URL pattern: -```text -http://localhost:3500/v1.0/invoke//method -``` - :::image type="content" source="media/connect-apps/azure-container-apps-location-dapr.png" alt-text="Azure Container Apps container app location with Dapr."::: ## Next steps diff --git a/articles/container-apps/health-probes.md b/articles/container-apps/health-probes.md index e48c743bf581..6040f4f23071 100644 --- a/articles/container-apps/health-probes.md +++ b/articles/container-apps/health-probes.md @@ -15,12 +15,44 @@ Health probes in Azure Container Apps are based on [Kubernetes health probes](ht Container Apps support the following probes: -- [Liveness](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-a-liveness-command): Reports the overall health of your replica. -- [Startup](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-startup-probes): Delay reporting on a liveness or readiness state for slower apps with a startup probe. -- [Readiness](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes): Signals that a replica is ready to accept traffic. +- **Liveness**: Reports the overall health of your replica. +- **Readiness**: Signals that a replica is ready to accept traffic. +- **Startup**: Delay reporting on a liveness or readiness state for slower apps with a startup probe. + For a full listing of the specification supported in Azure Container Apps, refer to [Azure REST API specs](https://github.com/Azure/azure-rest-api-specs/blob/main/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/CommonDefinitions.json#L119-L236). +## Default configuration + +Container Apps offers default probe settings if no probes are defined. If your app takes an extended amount of time to start, which is very common in Java, you often need to customize the probes so your container won't crash. + +The following example demonstrates how to extend the liveness and readiness probes to accommodate an extended start-up process. + +```json +"probes": [ + { + "type": "liveness", + "failureThreshold": 3, + "periodSeconds": 10, + "successThreshold": 1, + "tcpSocket": { + "port": 80 + }, + "timeoutSeconds": 1 + }, + { + "type": "readiness", + "failureThreshold": 48, + "initialDelaySeconds": 3, + "periodSeconds": 5, + "successThreshold": 1, + "tcpSocket": { + "port": 80 + }, + "timeoutSeconds": 5 + } +``` + ## HTTP probes HTTP probes allow you to implement custom logic to check the status of application dependencies before reporting a healthy status. Configure your health probe endpoints to respond with an HTTP status code greater than or equal to `200` and less than `400` to indicate success. Any other response code outside this range indicates a failure. @@ -152,7 +184,7 @@ containers: --- -The optional [failureThreshold](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes) setting defines the number of attempts Kubernetes tries if the probe if execution fails. Attempts that exceed the `failureThreshold` amount cause different results for each probe. Refer to [Configure Liveness, Readiness and Startup Probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes) for details. +The optional `failureThreshold` setting defines the number of attempts Container Apps tries if the probe if execution fails. Attempts that exceed the `failureThreshold` amount cause different results for each probe. ## Next steps diff --git a/articles/container-apps/media/connect-apps/azure-container-apps-location-dapr.png b/articles/container-apps/media/connect-apps/azure-container-apps-location-dapr.png index 5312628ade03..9520208404e8 100644 Binary files a/articles/container-apps/media/connect-apps/azure-container-apps-location-dapr.png and b/articles/container-apps/media/connect-apps/azure-container-apps-location-dapr.png differ diff --git a/articles/cosmos-db/sql/how-to-configure-cosmos-db-trigger.md b/articles/cosmos-db/sql/how-to-configure-cosmos-db-trigger.md index bc2877e37fd9..2b802b5430c2 100644 --- a/articles/cosmos-db/sql/how-to-configure-cosmos-db-trigger.md +++ b/articles/cosmos-db/sql/how-to-configure-cosmos-db-trigger.md @@ -4,7 +4,7 @@ description: Learn how to configure logging and connection policy used by Azure author: ealsur ms.service: cosmos-db ms.topic: how-to -ms.date: 10/04/2021 +ms.date: 05/09/2022 ms.author: maquaran --- @@ -17,7 +17,7 @@ This article describes advanced configuration options you can set when using the The Azure Functions trigger for Cosmos DB uses the [Change Feed Processor Library](change-feed-processor.md) internally, and the library generates a set of health logs that can be used to monitor internal operations for [troubleshooting purposes](./troubleshoot-changefeed-functions.md). -The health logs describe how the Azure Functions trigger for Cosmos DB behaves when attempting operations during load-balancing scenarios or initialization. +The health logs describe how the Azure Functions trigger for Cosmos DB behaves when attempting operations during load-balancing, initialization, and processing scenarios. ### Enabling logging @@ -29,13 +29,32 @@ To enable logging when using Azure Functions trigger for Cosmos DB, locate the ` "logging": { "fileLoggingMode": "always", "logLevel": { - "Host.Triggers.CosmosDB": "Trace" + "Host.Triggers.CosmosDB": "Warning" } } } ``` -After the Azure Function is deployed with the updated configuration, you will see the Azure Functions trigger for Cosmos DB logs as part of your traces. You can view the logs in your configured logging provider under the *Category* `Host.Triggers.CosmosDB`. +After the Azure Function is deployed with the updated configuration, you'll see the Azure Functions trigger for Cosmos DB logs as part of your traces. You can view the logs in your configured logging provider under the *Category* `Host.Triggers.CosmosDB`. + +### Which type of logs are emitted? + +Once enabled, there are three levels of log events that will be emitted: + +* Error: + * When there's an unknown or critical error on the Change Feed processing that is affecting the correct trigger functionality. + +* Warning: + * When your Function user code had an unhandled exception - There's a gap in your Function code and the Function isn't [resilient to errors](../../azure-functions/performance-reliability.md#write-defensive-functions) or a serialization error (for C# Functions, the raw json can't be deserialized to the selected C# type). + * When there are transient connectivity issues preventing the trigger from interacting with the Cosmos DB account. The trigger will retry these [transient connectivity errors](troubleshoot-dot-net-sdk-request-timeout.md) but if they extend for a long period of time, there could be a network problem. You can enable Debug level traces to obtain the Diagnostics from the underlying Cosmos DB SDK. + +* Debug: + * When a lease is acquired by an instance - The current instance will start processing the Change Feed for the lease. + * When a lease is released by an instance - The current instance has stopped processing the Change Feed for the lease. + * When new changes are delivered from the trigger to your Function code - Helps debug situations when your Function code might be having errors and you aren't sure if you're receiving changes or not. + * For traces that are Warning and Error, adds the Diagnostics information from the underlying Cosmos DB SDK for troubleshooting purposes. + +You can also [refer to the source code](https://github.com/Azure/azure-webjobs-sdk-extensions/blob/dev/src/WebJobs.Extensions.CosmosDB/Trigger/CosmosDBTriggerHealthMonitor.cs) to see the full details. ### Query the logs diff --git a/articles/cosmos-db/table/find-request-unit-charge.md b/articles/cosmos-db/table/find-request-unit-charge.md index aa7ae52f000d..cafc4054a714 100644 --- a/articles/cosmos-db/table/find-request-unit-charge.md +++ b/articles/cosmos-db/table/find-request-unit-charge.md @@ -21,7 +21,7 @@ This article presents the different ways you can find the [request unit](../requ ## Use the .NET SDK -Currently, the only SDK that returns the RU charge for table operations is the legacy [Microsoft.Azure.Cosmos.Table .NET Standard SDK](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table). The `TableResult` object exposes a `RequestCharge` property that is populated by the SDK when you use it against the Azure Cosmos DB Table API: +Currently, the only SDK that returns the RU charge for table operations is the [.NET Standard SDK](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table). The `TableResult` object exposes a `RequestCharge` property that is populated by the SDK when you use it against the Azure Cosmos DB Table API: ```csharp CloudTable tableReference = client.GetTableReference("table"); @@ -40,4 +40,4 @@ To learn about optimizing your RU consumption, see these articles: * [Request units and throughput in Azure Cosmos DB](../request-units.md) * [Optimize provisioned throughput cost in Azure Cosmos DB](../optimize-cost-throughput.md) -* [Optimize query cost in Azure Cosmos DB](../optimize-cost-reads-writes.md) +* [Optimize query cost in Azure Cosmos DB](../optimize-cost-reads-writes.md) \ No newline at end of file diff --git a/articles/data-catalog/data-catalog-frequently-asked-questions.yml b/articles/data-catalog/data-catalog-frequently-asked-questions.yml index 1b04e7906d60..bb8ef388710f 100644 --- a/articles/data-catalog/data-catalog-frequently-asked-questions.yml +++ b/articles/data-catalog/data-catalog-frequently-asked-questions.yml @@ -2,8 +2,8 @@ metadata: title: Azure Data Catalog frequently asked questions description: Frequently asked questions about Azure Data Catalog, including capabilities for data source discovery, annotation, and management. - author: ChandraKavya - ms.author: kchandra + author: whhender + ms.author: whhender ms.service: data-catalog ms.topic: faq ms.date: 02/23/2022 diff --git a/articles/data-factory/TOC.yml b/articles/data-factory/TOC.yml index b6fc5676b440..8cadfa80d9ab 100644 --- a/articles/data-factory/TOC.yml +++ b/articles/data-factory/TOC.yml @@ -180,7 +180,7 @@ items: href: tutorial-managed-virtual-network-on-premise-sql-server.md - name: Access SQL Managed Instance href: tutorial-managed-virtual-network-sql-managed-instance.md - - name: move existing Azure integration runtime to an Azure integration runtime in a managed virtual network + - name: Move an existing Azure integration runtime to a managed virtual network href: tutorial-managed-virtual-network-migrate.md - name: Self-hosted integration runtime items: diff --git a/articles/data-factory/concepts-data-flow-udf.md b/articles/data-factory/concepts-data-flow-udf.md index 98c90133bfea..f2e653d0a8ed 100644 --- a/articles/data-factory/concepts-data-flow-udf.md +++ b/articles/data-factory/concepts-data-flow-udf.md @@ -11,12 +11,19 @@ ms.topic: conceptual ms.date: 04/20/2022 --- -# User defined functions in mapping data flow +# User defined functions (Preview) in mapping data flow + +[!INCLUDEappliesto-adf-asa-md] + +[!INCLUDEdata-flow-preamble] A user defined function is a customized expression you can define to be able to reuse logic across multiple mapping data flows. User defined functions live in a collection called a data flow library to be able to easily group up common sets of customized functions. Whenever you find yourself building the same logic in an expression in across multiple mapping data flows this would be a good opportunity to turn that into a user defined function. +> [!IMPORTANT] +> User defined functions and mapping data flow libraries are currently in public preview. + ## Getting started To get started with user defined functions, you must first create a data flow library. Navigate to the management page and then find data flow libraries under the author section. diff --git a/articles/data-factory/media/solution-template-extract-data-from-pdf/extract-data-from-pdf-8.png b/articles/data-factory/media/solution-template-extract-data-from-pdf/extract-data-from-pdf-8.png new file mode 100644 index 000000000000..522b4d02048f Binary files /dev/null and b/articles/data-factory/media/solution-template-extract-data-from-pdf/extract-data-from-pdf-8.png differ diff --git a/articles/data-factory/media/solution-template-extract-data-from-pdf/extract-data-from-pdf-9.png b/articles/data-factory/media/solution-template-extract-data-from-pdf/extract-data-from-pdf-9.png new file mode 100644 index 000000000000..0f8a01d3614a Binary files /dev/null and b/articles/data-factory/media/solution-template-extract-data-from-pdf/extract-data-from-pdf-9.png differ diff --git a/articles/data-factory/solution-template-extract-data-from-pdf.md b/articles/data-factory/solution-template-extract-data-from-pdf.md index 4bc94a2e3ebc..e4f032875956 100644 --- a/articles/data-factory/solution-template-extract-data-from-pdf.md +++ b/articles/data-factory/solution-template-extract-data-from-pdf.md @@ -44,7 +44,13 @@ This template defines 4 parameters: 2. Create a **New** connection to your destination storage store or choose an existing connection. :::image type="content" source="media/solution-template-extract-data-from-pdf/extract-data-from-pdf-2.png" alt-text="Screenshot of how to create a new connection or select existing connection from a drop down menu to Form Recognizer in template set up."::: - + + In your connection to Form Recognizer, make sure to add a **Linked service Parameter**. You will need to use this parameter as your dynamic **Base URL**. + + :::image type="content" source="media/solution-template-extract-data-from-pdf/extract-data-from-pdf-9.png" alt-text="Screenshot of where to add your Form Recognizer linked service parameter."::: + + :::image type="content" source="media/solution-template-extract-data-from-pdf/extract-data-from-pdf-8.png" alt-text="Screenshot of the linked service base URL that references the linked service parameter."::: + 3. Select **Use this template**. :::image type="content" source="media/solution-template-extract-data-from-pdf/extract-data-from-pdf-3.png" alt-text="Screenshot of how to complete the template by clicking use this template at the bottom of the screen."::: diff --git a/articles/ddos-protection/alerts.md b/articles/ddos-protection/alerts.md index ce912ec123aa..84dfad827594 100644 --- a/articles/ddos-protection/alerts.md +++ b/articles/ddos-protection/alerts.md @@ -3,13 +3,13 @@ title: View and configure DDoS protection alerts for Azure DDoS Protection Stand description: Learn how to view and configure DDoS protection alerts for Azure DDoS Protection Standard. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 3/11/2022 -ms.author: yitoh +ms.author: abell --- # View and configure DDoS protection alerts diff --git a/articles/ddos-protection/ddos-disaster-recovery-guidance.md b/articles/ddos-protection/ddos-disaster-recovery-guidance.md index 468d1880c7a6..e59f16d1dbfe 100644 --- a/articles/ddos-protection/ddos-disaster-recovery-guidance.md +++ b/articles/ddos-protection/ddos-disaster-recovery-guidance.md @@ -3,12 +3,12 @@ title: Azure DDoS Protection Standard business continuity | Microsoft Docs description: Learn what to do in the event of an Azure service disruption impacting Azure DDoS Protection Standard. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 04/16/2021 -ms.author: yitoh +ms.author: abell ms.topic: article --- # Azure DDoS Protection Standard – business continuity diff --git a/articles/ddos-protection/ddos-faq.yml b/articles/ddos-protection/ddos-faq.yml index e0940d76637b..fa4da0c67ff5 100644 --- a/articles/ddos-protection/ddos-faq.yml +++ b/articles/ddos-protection/ddos-faq.yml @@ -4,13 +4,13 @@ metadata: description: Frequently asked questions about the Azure DDoS Protection Standard, which helps provide defense against DDoS attacks. services: virtual-network documentationcenter: na - author: aletheatoh + author: AbdullahBell ms.service: virtual-network ms.topic: faq ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 04/29/2022 - ms.author: yitoh + ms.author: abell title: Azure DDoS Protection Standard frequently asked questions summary: This article answers common questions about Azure DDoS Protection Standard. diff --git a/articles/ddos-protection/ddos-protection-overview.md b/articles/ddos-protection/ddos-protection-overview.md index cbd8070b76df..3c473cc79a97 100644 --- a/articles/ddos-protection/ddos-protection-overview.md +++ b/articles/ddos-protection/ddos-protection-overview.md @@ -3,13 +3,13 @@ title: Azure DDoS Protection Standard Overview description: Learn how the Azure DDoS Protection Standard, when combined with application design best practices, provides defense against DDoS attacks. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: overview ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 09/9/2020 -ms.author: yitoh +ms.author: abell --- # Azure DDoS Protection Standard overview diff --git a/articles/ddos-protection/ddos-protection-partner-onboarding.md b/articles/ddos-protection/ddos-protection-partner-onboarding.md index 274d6ef21623..ea1efc74debe 100644 --- a/articles/ddos-protection/ddos-protection-partner-onboarding.md +++ b/articles/ddos-protection/ddos-protection-partner-onboarding.md @@ -3,10 +3,10 @@ title: Partnering with Azure DDoS Protection Standard description: "Understand partnering opportunities enabled by Azure DDoS Protection Standard." ms.service: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.topic: how-to ms.date: 08/28/2020 -ms.author: yitoh +ms.author: abell --- # Partnering with Azure DDoS Protection Standard This article describes partnering opportunities enabled by the Azure DDoS Protection Standard. This article is designed to help product managers and business development roles understand the investment paths and provide insight into the partnering value propositions. diff --git a/articles/ddos-protection/ddos-protection-reference-architectures.md b/articles/ddos-protection/ddos-protection-reference-architectures.md index d96816865c0f..c3332de9fa81 100644 --- a/articles/ddos-protection/ddos-protection-reference-architectures.md +++ b/articles/ddos-protection/ddos-protection-reference-architectures.md @@ -2,12 +2,12 @@ title: Azure DDoS Protection reference architectures description: Learn Azure DDoS protection reference architectures. services: ddos-protection -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.workload: infrastructure-services ms.date: 04/29/2022 -ms.author: yitoh +ms.author: abell ms.custom: fasttrack-edit --- diff --git a/articles/ddos-protection/ddos-protection-standard-features.md b/articles/ddos-protection/ddos-protection-standard-features.md index 9dc1833f8bad..83f70454f75f 100644 --- a/articles/ddos-protection/ddos-protection-standard-features.md +++ b/articles/ddos-protection/ddos-protection-standard-features.md @@ -3,13 +3,13 @@ title: Azure DDoS Protection features description: Learn Azure DDoS Protection features services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: conceptual ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 09/08/2020 -ms.author: yitoh +ms.author: abell --- # Azure DDoS Protection Standard features diff --git a/articles/ddos-protection/ddos-rapid-response.md b/articles/ddos-protection/ddos-rapid-response.md index cbcb11a63fc7..3586656aa50c 100644 --- a/articles/ddos-protection/ddos-rapid-response.md +++ b/articles/ddos-protection/ddos-rapid-response.md @@ -3,13 +3,13 @@ title: Azure DDoS Rapid Response description: Learn how to engage DDoS experts during an active attack for specialized support. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 08/28/2020 -ms.author: yitoh +ms.author: abell --- # Azure DDoS Rapid Response diff --git a/articles/ddos-protection/ddos-response-strategy.md b/articles/ddos-protection/ddos-response-strategy.md index c354c07b2a20..9cb2a7c77b90 100644 --- a/articles/ddos-protection/ddos-response-strategy.md +++ b/articles/ddos-protection/ddos-response-strategy.md @@ -3,13 +3,13 @@ title: Components of a DDoS response strategy description: Learn what how to use Azure DDoS Protection Standard to respond to DDoS attacks. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 09/08/2020 -ms.author: yitoh +ms.author: abell --- # Components of a DDoS response strategy diff --git a/articles/ddos-protection/diagnostic-logging.md b/articles/ddos-protection/diagnostic-logging.md index b332bdd7c3a5..fab75e01da20 100644 --- a/articles/ddos-protection/diagnostic-logging.md +++ b/articles/ddos-protection/diagnostic-logging.md @@ -3,13 +3,13 @@ title: Azure DDoS Protection Standard reports and flow logs description: Learn how to configure reports and flow logs. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 12/28/2020 -ms.author: yitoh +ms.author: abell --- diff --git a/articles/ddos-protection/fundamental-best-practices.md b/articles/ddos-protection/fundamental-best-practices.md index d5e338507278..67bd22fd80aa 100644 --- a/articles/ddos-protection/fundamental-best-practices.md +++ b/articles/ddos-protection/fundamental-best-practices.md @@ -3,13 +3,13 @@ title: Azure DDoS Protection fundamental best practices description: Learn the best security practices using DDoS protection. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 09/08/2020 -ms.author: yitoh +ms.author: abell --- # Fundamental best practices diff --git a/articles/ddos-protection/index.yml b/articles/ddos-protection/index.yml index f747af9bb04a..8805b4119441 100644 --- a/articles/ddos-protection/index.yml +++ b/articles/ddos-protection/index.yml @@ -5,8 +5,8 @@ summary: "Learn how the Azure DDoS Protection Standard, when combined with appli metadata: description: "Learn how the Azure DDoS Protection Standard, when combined with application design best practices, provides defense against DDoS attacks." keywords: azure ddos protection standard - author: aletheatoh - ms.author: yitoh + author: AbdullahBell + ms.author: abell ms.date: 06/30/2021 ms.service: ddos-protection ms.topic: landing-page diff --git a/articles/ddos-protection/inline-protection-glb.md b/articles/ddos-protection/inline-protection-glb.md index aee305e9c04e..7e92fa8c5b59 100644 --- a/articles/ddos-protection/inline-protection-glb.md +++ b/articles/ddos-protection/inline-protection-glb.md @@ -3,12 +3,12 @@ title: Inline L7 DDoS protection with Gateway Load Balancer and partner NVAs description: Learn how to create and enable inline L7 DDoS Protection with Gateway Load Balancer and Partner NVAs services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services -ms.author: yitoh +ms.author: abell ms.date: 10/21/2021 ms.custom: ignite-fall-2021 --- diff --git a/articles/ddos-protection/manage-ddos-protection-bicep.md b/articles/ddos-protection/manage-ddos-protection-bicep.md index 14662e967751..1b2e5bc91b2f 100644 --- a/articles/ddos-protection/manage-ddos-protection-bicep.md +++ b/articles/ddos-protection/manage-ddos-protection-bicep.md @@ -3,7 +3,7 @@ title: Create and enable an Azure DDoS Protection plan using Bicep. description: Learn how to create and enable an Azure DDoS Protection plan using Bicep. services: ddos-protection documentationcenter: na -author: schaffererin +author: AbdullahBell ms.service: ddos-protection ms.topic: quickstart ms.tgt_pltfrm: na diff --git a/articles/ddos-protection/manage-ddos-protection-cli.md b/articles/ddos-protection/manage-ddos-protection-cli.md index bd463cf203a1..0c4a2c0ba575 100644 --- a/articles/ddos-protection/manage-ddos-protection-cli.md +++ b/articles/ddos-protection/manage-ddos-protection-cli.md @@ -3,13 +3,13 @@ title: Create and configure an Azure DDoS Protection plan using Azure CLI description: Learn how to create a DDoS Protection Plan using Azure CLI services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 04/18/2022 -ms.author: yitoh +ms.author: abell --- # Quickstart: Create and configure Azure DDoS Protection Standard using Azure CLI diff --git a/articles/ddos-protection/manage-ddos-protection-powershell.md b/articles/ddos-protection/manage-ddos-protection-powershell.md index d7b515b6b11e..f5eeec6d2ccb 100644 --- a/articles/ddos-protection/manage-ddos-protection-powershell.md +++ b/articles/ddos-protection/manage-ddos-protection-powershell.md @@ -3,13 +3,13 @@ title: Create and configure an Azure DDoS Protection plan using Azure PowerShell description: Learn how to create a DDoS Protection Plan using Azure PowerShell services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: quickstart ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 04/18/2022 -ms.author: yitoh +ms.author: abell ms.custom: devx-track-azurepowershell, mode-api --- diff --git a/articles/ddos-protection/manage-ddos-protection-template.md b/articles/ddos-protection/manage-ddos-protection-template.md index 5ff59f5fdfbe..97fcdf709d93 100644 --- a/articles/ddos-protection/manage-ddos-protection-template.md +++ b/articles/ddos-protection/manage-ddos-protection-template.md @@ -3,7 +3,7 @@ title: Create and enable an Azure DDoS Protection plan using an Azure Resource M description: Learn how to create and enable an Azure DDoS Protection plan using an Azure Resource Manager template (ARM template). services: ddos-protection documentationcenter: na -author: mumian +author: AbdullahBell ms.service: ddos-protection ms.topic: quickstart ms.tgt_pltfrm: na diff --git a/articles/ddos-protection/manage-ddos-protection.md b/articles/ddos-protection/manage-ddos-protection.md index 56cc27e31f60..326976fc3cfc 100644 --- a/articles/ddos-protection/manage-ddos-protection.md +++ b/articles/ddos-protection/manage-ddos-protection.md @@ -3,7 +3,7 @@ title: Manage Azure DDoS Protection Standard using the Azure portal description: Learn how to use Azure DDoS Protection Standard to mitigate an attack. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell editor: '' tags: azure-resource-manager @@ -14,7 +14,7 @@ ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.custom: mode-ui ms.date: 04/13/2022 -ms.author: yitoh +ms.author: abell --- diff --git a/articles/ddos-protection/manage-permissions.md b/articles/ddos-protection/manage-permissions.md index 3233b89124e1..b8ffbd284e99 100644 --- a/articles/ddos-protection/manage-permissions.md +++ b/articles/ddos-protection/manage-permissions.md @@ -3,13 +3,13 @@ title: Azure DDoS Protection Plan permissions description: Learn how to manage permission in a protection plan. services: ddos-protection documentationcenter: na -author: yitoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 09/08/2020 -ms.author: yitoh +ms.author: abell --- diff --git a/articles/ddos-protection/policy-reference.md b/articles/ddos-protection/policy-reference.md index 2f9d365f92d9..f3d15ab55eba 100644 --- a/articles/ddos-protection/policy-reference.md +++ b/articles/ddos-protection/policy-reference.md @@ -3,12 +3,12 @@ title: Built-in policy definitions for Azure DDoS Protection Standard description: Lists Azure Policy built-in policy definitions for Azure DDoS Protection Standard. These built-in policy definitions provide common approaches to managing your Azure resources. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 03/08/2022 -ms.author: yitoh +ms.author: abell ms.custom: subject-policy-reference ms.topic: include --- diff --git a/articles/ddos-protection/telemetry.md b/articles/ddos-protection/telemetry.md index 2633e30df69a..21b0a774d0b5 100644 --- a/articles/ddos-protection/telemetry.md +++ b/articles/ddos-protection/telemetry.md @@ -3,13 +3,13 @@ title: View and configure DDoS protection telemetry for Azure DDoS Protection St description: Learn how to view and configure DDoS protection telemetry for Azure DDoS Protection Standard. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 12/28/2020 -ms.author: yitoh +ms.author: abell --- # View and configure DDoS protection telemetry diff --git a/articles/ddos-protection/test-through-simulations.md b/articles/ddos-protection/test-through-simulations.md index c8337207818f..6df23a463cc5 100644 --- a/articles/ddos-protection/test-through-simulations.md +++ b/articles/ddos-protection/test-through-simulations.md @@ -3,13 +3,13 @@ title: Azure DDoS Protection simulation testing description: Learn about how to test through simulations services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 04/21/2022 -ms.author: yitoh +ms.author: abell --- diff --git a/articles/ddos-protection/types-of-attacks.md b/articles/ddos-protection/types-of-attacks.md index 69843c593dfd..1c2f3cb96608 100644 --- a/articles/ddos-protection/types-of-attacks.md +++ b/articles/ddos-protection/types-of-attacks.md @@ -3,13 +3,13 @@ title: Types of attacks Azure DDoS Protection Standard mitigates description: Learn what types of attacks Azure DDoS Protection Standard protects against. services: ddos-protection documentationcenter: na -author: aletheatoh +author: AbdullahBell ms.service: ddos-protection ms.topic: article ms.tgt_pltfrm: na ms.workload: infrastructure-services ms.date: 09/08/2020 -ms.author: yitoh +ms.author: abell --- # Types of DDoS attacks overview diff --git a/articles/defender-for-iot/organizations/ot-virtual-appliances.md b/articles/defender-for-iot/organizations/ot-virtual-appliances.md index d2025b00eb0e..0ef9e82ee983 100644 --- a/articles/defender-for-iot/organizations/ot-virtual-appliances.md +++ b/articles/defender-for-iot/organizations/ot-virtual-appliances.md @@ -51,7 +51,7 @@ For all deployments, bandwidth results for virtual machines may vary, depending |**Enterprise** | **Max bandwidth**: 800 Mb/sec
**Max monitored assets**: 10,000 | **vCPU**: 8
**Memory**: 32 GB
**Storage**: 1.8 TB (300 IOPS) | |**SMB** | **Max bandwidth**: 160 Mb/sec
**Max monitored assets**: 1,000 | **vCPU**: 4
**Memory**: 8 GB
**Storage**: 500 GB (150 IOPS) | |**Office** | **Max bandwidth**: 100 Mb/sec
**Max monitored assets**: 800 | **vCPU**: 4
**Memory**: 8 GB
**Storage**: 100 GB (150 IOPS) | -|**Rugged** | **Max bandwidth**: 10 Mb/sec
**Max monitored assets**: 100 | **vCPU**: 4
**Memory**: 8 GB
**Storage**: 64 GB (150 IOPS) | +|**Rugged** | **Max bandwidth**: 10 Mb/sec
**Max monitored assets**: 100 | **vCPU**: 4
**Memory**: 8 GB
**Storage**: 60 GB (150 IOPS) | ## On-premises management console VM requirements diff --git a/articles/dms/resource-custom-roles-sql-db-managed-instance-ads.md b/articles/dms/resource-custom-roles-sql-db-managed-instance-ads.md index b2d540b462bf..6673366fe63d 100644 --- a/articles/dms/resource-custom-roles-sql-db-managed-instance-ads.md +++ b/articles/dms/resource-custom-roles-sql-db-managed-instance-ads.md @@ -69,7 +69,7 @@ The AssignableScopes section of the role definition json string allows you to co } } ``` -You can use either the Azure portal, AZ PowerShell, Azure CLI or Azure Rest API to create the roles. +You can use either the Azure portal, AZ PowerShell, Azure CLI or Azure REST API to create the roles. For more information, see the articles [Create custom roles using the Azure portal](../role-based-access-control/custom-roles-portal.md) and [Azure custom roles](../role-based-access-control/custom-roles.md). diff --git a/articles/dms/resource-custom-roles-sql-db-virtual-machine-ads.md b/articles/dms/resource-custom-roles-sql-db-virtual-machine-ads.md index d8f6e039b664..9bbd8062b930 100644 --- a/articles/dms/resource-custom-roles-sql-db-virtual-machine-ads.md +++ b/articles/dms/resource-custom-roles-sql-db-virtual-machine-ads.md @@ -66,7 +66,7 @@ The AssignableScopes section of the role definition json string allows you to co } } ``` -You can use either the Azure portal, AZ PowerShell, Azure CLI or Azure Rest API to create the roles. +You can use either the Azure portal, AZ PowerShell, Azure CLI or Azure REST API to create the roles. For more information, see the articles [Create custom roles using the Azure portal](../role-based-access-control/custom-roles-portal.md) and [Azure custom roles](../role-based-access-control/custom-roles.md). diff --git a/articles/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering.md b/articles/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering.md index 2faf77165260..35ec44f74dfa 100644 --- a/articles/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering.md +++ b/articles/expressroute/designing-for-disaster-recovery-with-expressroute-privatepeering.md @@ -5,13 +5,13 @@ services: expressroute author: duongau ms.service: expressroute ms.topic: article -ms.date: 03/22/2021 +ms.date: 05/09/2022 ms.author: duau --- # Designing for disaster recovery with ExpressRoute private peering -ExpressRoute is designed for high availability to provide carrier grade private network connectivity to Microsoft resources. In other words, there's no single point of failure in the ExpressRoute path within Microsoft network. For design considerations to maximize the availability of an ExpressRoute circuit, see [Designing for high availability with ExpressRoute][HA]. +ExpressRoute is designed for high availability to provide carrier grade private network connectivity to Microsoft resources. In other words, there's no single point of failure in the ExpressRoute path within Microsoft network. For design considerations to maximize the availability of an ExpressRoute circuit, see [Designing for high availability with ExpressRoute][HA] and [Well-Architectured Framework](/azure/architecture/framework/services/networking/expressroute/reliability) However, taking Murphy's popular adage--*if anything can go wrong, it will*--into consideration, in this article let us focus on solutions that go beyond failures that can be addressed using a single ExpressRoute circuit. We'll be looking into network architecture considerations for building robust backend network connectivity for disaster recovery using geo-redundant ExpressRoute circuits. diff --git a/articles/expressroute/media/designing-for-disaster-recovery-with-expressroute-pvt/configure-weight.png b/articles/expressroute/media/designing-for-disaster-recovery-with-expressroute-pvt/configure-weight.png index 1101643d1d87..7ceed4928b8c 100644 Binary files a/articles/expressroute/media/designing-for-disaster-recovery-with-expressroute-pvt/configure-weight.png and b/articles/expressroute/media/designing-for-disaster-recovery-with-expressroute-pvt/configure-weight.png differ diff --git a/articles/frontdoor/how-to-configure-endpoints.md b/articles/frontdoor/how-to-configure-endpoints.md index d6c27a184f82..90c192c7395f 100644 --- a/articles/frontdoor/how-to-configure-endpoints.md +++ b/articles/frontdoor/how-to-configure-endpoints.md @@ -91,6 +91,12 @@ To create an Azure Front Door profile, see [create a Azure Front Door](create-fr :::image type="content" source="./media/how-to-configure-endpoints/associated-security-policy.png" alt-text="Screenshot of security policy associated with an endpoint." lightbox="./media/how-to-configure-endpoints/associated-security-policy-expanded.png"::: +## Configure origin timeout + +Origin timeout is the amount of time Azure Front Door will wait until it considers the connection to origin has timed out. You can set this value on the overview page of the Azure Front Door profile. This value will be applied to all endpoints in the profile. + +:::image type="content" source="./media/how-to-configure-endpoints/origin-timeout.png" alt-text="Screenshot of the origin timeout settings on the overview page of the Azure Front Door profile."::: + ## Clean up resources In order to remove an endpoint, you first have to remove any security policies associated with the endpoint. Then select **Delete endpoint** to remove the endpoint from the Azure Front Door profile. diff --git a/articles/frontdoor/media/how-to-configure-endpoints/origin-timeout.png b/articles/frontdoor/media/how-to-configure-endpoints/origin-timeout.png new file mode 100644 index 000000000000..dae2dc28b4ce Binary files /dev/null and b/articles/frontdoor/media/how-to-configure-endpoints/origin-timeout.png differ diff --git a/articles/frontdoor/media/troubleshoot-issues/origin-response-timeout-1.png b/articles/frontdoor/media/troubleshoot-issues/origin-response-timeout-1.png deleted file mode 100644 index 363e7d86f394..000000000000 Binary files a/articles/frontdoor/media/troubleshoot-issues/origin-response-timeout-1.png and /dev/null differ diff --git a/articles/frontdoor/media/troubleshoot-issues/origin-response-timeout-2-expanded.png b/articles/frontdoor/media/troubleshoot-issues/origin-response-timeout-2-expanded.png deleted file mode 100644 index 193805d0a023..000000000000 Binary files a/articles/frontdoor/media/troubleshoot-issues/origin-response-timeout-2-expanded.png and /dev/null differ diff --git a/articles/frontdoor/media/troubleshoot-issues/origin-response-timeout-2.png b/articles/frontdoor/media/troubleshoot-issues/origin-response-timeout-2.png deleted file mode 100644 index 9d673d8ba885..000000000000 Binary files a/articles/frontdoor/media/troubleshoot-issues/origin-response-timeout-2.png and /dev/null differ diff --git a/articles/frontdoor/standard-premium/how-to-configure-endpoint-manager.md b/articles/frontdoor/standard-premium/how-to-configure-endpoint-manager.md deleted file mode 100644 index a5cadd05982c..000000000000 --- a/articles/frontdoor/standard-premium/how-to-configure-endpoint-manager.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: Configure Azure Front Door Standard/Premium endpoint with Endpoint Manager -description: This article shows how to configure an endpoint with Endpoint Manager. -services: frontdoor -author: duongau -ms.service: frontdoor -ms.topic: how-to -ms.date: 02/18/2021 -ms.author: qixwang ---- - -# Configure an Azure Front Door Standard/Premium (Preview) endpoint with Endpoint Manager - -> [!NOTE] -> This documentation is for Azure Front Door Standard/Premium (Preview). Looking for information on Azure Front Door? View **[Azure Front Door Docs](../front-door-overview.md)**. - -This article shows you how to create an endpoint for an existing Azure Front Door Standard/Premium profile with Endpoint Manager. - -> [!IMPORTANT] -> Azure Front Door Standard/Premium (Preview) is currently in public preview. -> This preview version is provided without a service level agreement, and it's not recommended for production workloads. Certain features might not be supported or might have constrained capabilities. -> For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). - -## Prerequisites - -Before you can create an Azure Front Door Standard/Premium endpoint with Endpoint Manager, you must have created at least one Azure Front Door profile created. The profile has to have at least one or more Azure Front Door Standard/Premium endpoints. To organize your Azure Front Door Standard/Premium endpoints by internet domain, web application, or other criteria, you can use multiple profiles. - -To create an Azure Front Door profile, see [Create a new Azure Front Door Standard/Premium profile](create-front-door-portal.md). - -## Create a new Azure Front Door Standard/Premium Endpoint - -1. Sign in to the [Azure portal](https://portal.azure.com) and navigate to your Azure Front Door Standard/Premium profile. - -1. Select **Endpoint Manager**. Then select **Add an Endpoint** to create a new Endpoint. - - :::image type="content" source="../media/how-to-configure-endpoints/select-create-endpoint.png" alt-text="Screenshot of add an endpoint through Endpoint Manager."::: - -1. On the **Add an endpoint** page, enter, and select the following settings. - - :::image type="content" source="../media/how-to-configure-endpoints/create-endpoint-page.png" alt-text="Screenshot of add an endpoint page."::: - - | Settings | Value | - | -------- | ----- | - | Name | Enter a unique name for the new Azure Front Door Standard/Premium endpoint. This name is used to access your cached resources at the domain `.az01.azurefd.net` | - | Origin Response timeout (secs) | Enter a timeout value in seconds that Azure Front Door will wait before considering the connection with origin has timeout. | - | Status | Select the checkbox to enable this endpoint. | - -## Add Domains, Origin Group, Routes, and Security - -1. Select **Edit Endpoint** at the endpoint to configure the route. - -1. On the **Edit Endpoint** page, select **+ Add** under Domains. - - :::image type="content" source="../media/how-to-configure-endpoints/select-add-domain.png" alt-text="Screenshot of select domain on Edit Endpoint page."::: - -### Add Domain - -1. On the **Add Domain** page, choose to associate a domain *from your Azure Front Door profile* or *add a new domain*. For information about how to create a brand new domain, see [Create a new Azure Front Door Standard/Premium custom domain](how-to-add-custom-domain.md). - - :::image type="content" source="../media/how-to-configure-endpoints/add-domain-page.png" alt-text="Screenshot of Add a domain page."::: - -1. Select **Add** to add the domain to current endpoint. The selected domain should appear within the Domain panel. - - :::image type="content" source="../media/how-to-configure-endpoints/domain-in-domainview.png" alt-text="Screenshot of domains in domain view."::: - -### Add Origin Group - -1. Select **Add** at the Origin groups view. The **Add an origin group** page appears - - :::image type="content" source="../media/how-to-configure-endpoints/add-origin-group-view.png" alt-text="Screenshot of add an origin group page"::: - -1. For **Name**, enter a unique name for the new origin group - -1. Select **Add an Origin** to add a new origin to current group. - -#### Health Probes -Front Door sends periodic HTTP/HTTPS probe requests to each of your origin. Probe requests determine the proximity and health of each origin to load balance your end-user requests. Health probe settings for an origin group define how we poll the health status of app origin. The following settings are available for load-balancing configuration: - -> [!WARNING] -> Since Front Door has many edge environments globally, health probe volume for your origin can be quite high - ranging from 25 requests every minute to as high as 1200 requests per minute, depending on the health probe frequency configured. With the default probe frequency of 30 seconds, the probe volume on your origin should be about 200 requests per minute. - -* **Status**: Specify whether to turn on the health probing. If you have a single origin in your origin group, you can choose to disable the health probes reducing the load on your application backend. Even if you have multiple origins in the group but only one of them is in enabled state, you can disable health probes. - -* **Path**: The URL used for probe requests for all the origin in this origin group. For example, if one of your origins is contoso-westus.azurewebsites.net and the path is set to /probe/test.aspx, then Front Door environments, assuming the protocol is set to HTTP, will send health probe requests to `http://contoso-westus.azurewebsites.net/probe/test.aspx`. - -* **Protocol**: Defines whether to send the health probe requests from Front Door to your origin with HTTP or HTTPS protocol. - -* **Probe Method**: The HTTP method to be used for sending health probes. Options include GET or HEAD (default). - - > [!NOTE] - > For lower load and cost on your origin, Front Door recommends using HEAD requests for health probes. - -* **Interval(in seconds)**: Defines the frequency of health probes to your origin, or the intervals in which each of the Front Door environments sends a probe. - - >[!NOTE] - >For faster failovers, set the interval to a lower value. The lower the value, the higher the health probe volume your origin receive. For example, if the interval is set to 30 seconds with say, 100 Front Door POPs globally, each backend will receive about 200 probe requests per minute. - -#### Load balancing -Load-balancing settings for the origin group define how we evaluate health probes. These settings determine if the backend is healthy or unhealthy. They also check how to load-balance traffic between different origins in the origin group. The following settings are available for load-balancing configuration: - -- **Sample size**. Identifies how many samples of health probes we need to consider for origin health evaluation. - -- **Successful sample size**. Defines the sample size as previously mentioned, the number of successful samples needed to call the origin healthy. For example, assume a Front Door health probe interval is 30 seconds, sample size is 5, and successful sample size is 3. Each time we evaluate the health probes for your origin, we look at the last five samples over 150 seconds (5 x 30). At least three successful probes are required to declare the backend as healthy. - -- **Latency sensitivity (extra latency)**. Defines whether you want Front Door to send the request to origin within the latency measurement sensitivity range or forward the request to the closest backend. - -Select **Add** to add the origin group to current endpoint. The origin group should appear within the Origin group panel - -:::image type="content" source="../media/how-to-configure-endpoints/origin-in-origin-group.png" alt-text="Screenshot of origins in origin group."::: - -### Add Route - -Select **Add** at the Routes view, the **Add a route** page appears. For information how to associate the domain and origin group, see [Create a new Azure Front Door route](how-to-configure-route.md) - -### Add Security - -1. Select **Add** at the Security view, The **Add a WAF policy** page appears - - :::image type="content" source="../media/how-to-configure-endpoints/add-waf-policy-page.png" alt-text="Screenshot of add a WAF policy page."::: - -1. **WAF Policy**: select a WAF policy you like apply for the selected domain within this endpoint. - - Select **Create New** to create a brand new WAF policy. - - :::image type="content" source="../media/how-to-configure-endpoints/create-new-waf-policy.png" alt-text="Screenshot of create a new WAF policy."::: - - **Name**: enter a unique name for the new WAF policy. You could edit this policy with more configuration from the Web Application Firewall page. - - **Domains**: select the domain to apply the WAF policy. - -1. Select **Add** button. The WAF policy should appear within the Security panel - - :::image type="content" source="../media/how-to-configure-endpoints/waf-in-security-view.png" alt-text="Screenshot of WAF policy in security view."::: - -## Clean up resources - -To delete an endpoint when it's no longer needed, select **Delete Endpoint** at the end of the endpoint row - -:::image type="content" source="../media/how-to-configure-endpoints/delete-endpoint.png" alt-text="Screenshot of how to delete an endpoint."::: - -## Next steps - -To learn about custom domains, continue to [Adding a custom domain](how-to-add-custom-domain.md). diff --git a/articles/frontdoor/troubleshoot-issues.md b/articles/frontdoor/troubleshoot-issues.md index a49114c6996f..24228e0c5212 100644 --- a/articles/frontdoor/troubleshoot-issues.md +++ b/articles/frontdoor/troubleshoot-issues.md @@ -37,13 +37,9 @@ The cause of this problem can be one of three things: * Send the request to your backend directly without going through Azure Front Door. See how long your backend usually takes to respond. * Send the request via Azure Front Door and see if you're getting any 503 responses. If not, the problem might not be a timeout issue. Contact support. -* If requests going through Azure Front Door result in a 503 error response code, configure **Origin response timeout (in seconds)** for the endpoint. You can extend the default timeout to up to 4 minutes, which is 240 seconds. To configure the setting, go to **Endpoint manager** and select **Edit endpoint**. +* If requests going through Azure Front Door result in a 503 error response code, configure **Origin response timeout (in seconds)** for Azure Front Door. You can extend the default timeout to up to 4 minutes, which is 240 seconds. To configure the setting, go to overview page of the Front Door profile. Select **Origin response timeout** and enter a value between *16* and *240* seconds. - :::image type="content" source="./media/troubleshoot-issues/origin-response-timeout-1.png" alt-text="Screenshot that shows selecting Edit endpoint from Endpoint manager."::: - - Then select **Endpoint properties** to configure **Origin response timeout**. - - :::image type="content" source="./media/troubleshoot-issues/origin-response-timeout-2.png" alt-text="Screenshot that shows selecting Endpoint properties and the Origin response timeout field." lightbox="./media/troubleshoot-issues/origin-response-timeout-2-expanded.png"::: + :::image type="content" source="./media/how-to-configure-endpoints/origin-timeout.png" alt-text="Screenshot of the origin timeout settings on the overview page of the Azure Front Door profile."::: * If the timeout doesn't resolve the issue, use a tool like Fiddler or your browser's developer tool to check if the client is sending byte range requests with **Accept-Encoding** headers. Using this option leads to the origin responding with different content lengths. diff --git a/articles/governance/management-groups/overview.md b/articles/governance/management-groups/overview.md index 39594900c960..b781726ebb0e 100644 --- a/articles/governance/management-groups/overview.md +++ b/articles/governance/management-groups/overview.md @@ -277,7 +277,7 @@ need to be evaluated as true. If you're doing the move action, you need: -- Management group write and Role Assignment write permissions on the child subscription or +- Management group write and role assignment write permissions on the child subscription or management group. - Built-in role example: **Owner** - Management group write access on the target parent management group. diff --git a/articles/governance/policy/overview.md b/articles/governance/policy/overview.md index 1df46a84786f..b8ab06ee2b2e 100644 --- a/articles/governance/policy/overview.md +++ b/articles/governance/policy/overview.md @@ -113,7 +113,7 @@ Azure Policy has several permissions, known as operations, in two Resource Provi - [Microsoft.Authorization](../../role-based-access-control/resource-provider-operations.md#microsoftauthorization) - [Microsoft.PolicyInsights](../../role-based-access-control/resource-provider-operations.md#microsoftpolicyinsights) -Many Built-in roles grant permission to Azure Policy resources. The **Resource Policy Contributor** +Many built-in roles grant permission to Azure Policy resources. The **Resource Policy Contributor** role includes most Azure Policy operations. **Owner** has full rights. Both **Contributor** and **Reader** have access to all _read_ Azure Policy operations. @@ -123,14 +123,14 @@ necessary to grant the managed identity on **deployIfNotExists** or **modify** a permissions. > [!NOTE] -> All Policy objects, including definitions, initatives, and assignments, will be readable to all -> roles over its scope. For example, a Policy assignment scoped to an Azure subscription will be readable +> All Policy objects, including definitions, initiatives, and assignments, will be readable to all +> roles over its scope. For example, a Policy assignment scoped to an Azure subscription will be readable > by all role holders at the subscription scope and below. -If none of the Built-in roles have the permissions required, create a +If none of the built-in roles have the permissions required, create a [custom role](../../role-based-access-control/custom-roles.md). -Azure Policy operations can have a significant impact on your Azure environment. Only the minimum set of +Azure Policy operations can have a significant impact on your Azure environment. Only the minimum set of permissions necessary to perform a task should be assigned and these permissions should not be granted to users who do not need them. @@ -170,7 +170,7 @@ Here are a few pointers and tips to keep in mind: - Once you've created an initiative assignment, policy definitions added to the initiative also become part of that initiative's assignments. - + - When an initiative assignment is evaluated, all policies within the initiative are also evaluated. If you need to evaluate a policy individually, it's better to not include it in an initiative. diff --git a/articles/logic-apps/logic-apps-securing-a-logic-app.md b/articles/logic-apps/logic-apps-securing-a-logic-app.md index 7cd128e1504e..09d9743d1876 100644 --- a/articles/logic-apps/logic-apps-securing-a-logic-app.md +++ b/articles/logic-apps/logic-apps-securing-a-logic-app.md @@ -5,7 +5,7 @@ services: logic-apps ms.suite: integration ms.reviewer: estfan, rarayudu, azla ms.topic: how-to -ms.date: 03/15/2022 +ms.date: 05/01/2022 ms.custom: ignite-fall-2021 --- diff --git a/articles/logic-apps/logic-apps-using-file-connector.md b/articles/logic-apps/logic-apps-using-file-connector.md index 30944c2bbf50..d08edd2867c9 100644 --- a/articles/logic-apps/logic-apps-using-file-connector.md +++ b/articles/logic-apps/logic-apps-using-file-connector.md @@ -1,6 +1,6 @@ --- title: Connect to file systems on premises -description: Connect to on-premises file systems with the File System connector through the on-premises data gateway in Azure Logic Apps. +description: Connect to on-premises file systems from Azure Logic Apps with the File System connector. services: logic-apps ms.suite: integration author: derek1ee @@ -10,32 +10,49 @@ ms.topic: how-to ms.date: 03/11/2022 --- -# Connect to on-premises file systems with Azure Logic Apps +# Connect to on-premises file systems from Azure Logic Apps -With Azure Logic Apps and the File System connector, you can create automated tasks and workflows that create and manage files on an on-premises file share, for example: +With the File System connector, you can create automated integration workflows in Azure Logic Apps that manage files on an on-premises file share, for example: - Create, get, append, update, and delete files. - List files in folders or root folders. - Get file content and metadata. - > [!IMPORTANT] - > - The File System connector currently supports only Windows file systems on Windows operating systems. - > - The gateway machine and the file server must exist in the same Windows domain. - > - Mapped network drives aren't supported. +This article shows how to connect to an on-premises file system through an example scenario where you copy a file from a Dropbox account to a file share, and then send an email. If you're new to logic apps, review [What is Azure Logic Apps?](../logic-apps/logic-apps-overview.md). + +## Limitations + +- The File System connector currently supports only Windows file systems on Windows operating systems. +- Mapped network drives aren't supported. +- If you have to use the on-premises data gateway, your gateway installation and file system server must exist in the same Windows domain. For more information, review [Install on-premises data gateway for Azure Logic Apps](logic-apps-gateway-install.md) and [Connect to on-premises data sources from Azure Logic Apps](logic-apps-gateway-connection.md). + +## Connector reference -This article shows how you can connect to an on-premises file system as described by this example scenario: copy a file that's uploaded to Dropbox to a file share, and then send an email. To securely connect and access on-premises systems, logic apps use the [on-premises data gateway](../logic-apps/logic-apps-gateway-connection.md). If you're new to logic apps, review [What is Azure Logic Apps?](../logic-apps/logic-apps-overview.md). For connector-specific technical information, see the [File System connector reference](/connectors/filesystem/). +For connector-specific technical information, such as triggers, actions, and limits as described by the connector's Swagger file, see the [connector's reference page](/connectors/filesystem/). + +> [!NOTE] +> +> If your logic app runs in an integration service environment (ISE), and you use this connector's ISE version, +> review [ISE message limits](logic-apps-limits-and-config.md#message-size-limits) and +> [Access to Azure virtual networks with an integration service environment](connect-virtual-network-vnet-isolated-environment-overview.md). ## Prerequisites -* An Azure subscription. If you don't have an Azure subscription, [sign up for a free Azure account](https://azure.microsoft.com/free/). +* An Azure account and subscription. If you don't have an Azure subscription, [sign up for a free Azure account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). + +* To create the connection to your file system, different requirements apply based on your logic app and the hosting environment: + + - For Consumption logic app workflows in multi-tenant Azure Logic Apps, the *managed* File System connector requires that you use the on-premises data gateway resource in Azure to securely connect and access on-premises systems. After you install the on-premises data gateway and create the data gateway resource in Azure, you can select the data gateway resource when you create the connection to your file system from your workflow. For more information, review the following documentation: -* Before you can connect logic apps to on-premises systems such as your file system server, you need to [install and set up an on-premises data gateway](../logic-apps/logic-apps-gateway-install.md). That way, you can specify to use your gateway installation when you create the file system connection from your logic app. + - [Managed connectors in Azure Logic Apps](../connectors/managed.md) + - [Install on-premises data gateway for Azure Logic Apps](logic-apps-gateway-install.md) + - [Connect to on-premises data sources from Azure Logic Apps](logic-apps-gateway-connection.md) -* A [Dropbox account](https://www.dropbox.com/), which you can sign up for free. Your account credentials are necessary for creating a connection between your logic app and your Dropbox account. + - For logic app workflows in an integration service environment (ISE), you can use the connector's ISE version, which doesn't require the data gateway resource. * Access to the computer that has the file system you want to use. For example, if you install the data gateway on the same computer as your file system, you need the account credentials for that computer. -* An email account from a provider that's supported by Logic Apps, such as Office 365 Outlook, Outlook.com, or Gmail. For other providers, [review the connectors list here](/connectors/). This logic app uses a work or school account. If you use another email account, the overall steps are the same, but your UI might slightly differ. +* For the example scenarios in this article, you need an email account from a provider that's supported by Azure Logic Apps, such as Office 365 Outlook, Outlook.com, or Gmail. For other providers, [review other supported email connectors](/connectors/connector-reference/connector-reference-logicapps-connectors). This logic app workflow uses the Office 365 Outlook connector with a work or school account. If you use another email account, the overall steps are the same, but your UI might slightly differ. > [!IMPORTANT] > If you want to use the Gmail connector, only G-Suite business accounts can use this connector without restriction in logic apps. @@ -43,67 +60,125 @@ This article shows how you can connect to an on-premises file system as describe > [create a Google client app to use for authentication with your Gmail connector](/connectors/gmail/#authentication-and-bring-your-own-application). > For more information, see [Data security and privacy policies for Google connectors in Azure Logic Apps](../connectors/connectors-google-data-security-privacy-policy.md). -* Basic knowledge about [how to create logic apps](../logic-apps/quickstart-create-first-logic-app-workflow.md). For this example, you need a blank logic app. +* For the example File System action scenario, you need a [Dropbox account](https://www.dropbox.com/), which you can sign up for free. + +* Basic knowledge about [how to create logic apps](../logic-apps/quickstart-create-first-logic-app-workflow.md). To add any trigger, you have to start with a blank workflow. + + + +## Add a File System trigger + +1. In the [Azure portal](https://portal.azure.com), open your logic app in the workflow designer. + +1. On the designer, under the search box, select **All**. In the search box, enter **file system**. From the triggers list, select the File System trigger that you want. This example continues with the trigger named **When a file is created**. + + ![Screenshot showing Azure portal, designer for Consumption logic app, search box with "file system", and File System trigger selected.](media/logic-apps-using-file-connector/select-file-system-trigger-consumption.png) + +1. If you're prompted to create your file system server connection, provide the following information as required: + + | Property | Required | Value | Description | + |----------|----------|-------|-------------| + | **Connection name** | Yes | <*connection-name*> | The name to use for your connection | + | **Root folder** | Yes | <*root-folder-name*> | The root folder for your file system, which is usually the main parent folder and is the folder used for the relative paths with all triggers that work on files.

For example, if you installed the on-premises data gateway, use the local folder on the computer with the data gateway installation. Or, use the folder for the network share where the computer can access that folder, for example, **`\\PublicShare\\MyFileSystem`**. | + | **Authentication Type** | No | <*auth-type*> | The type of authentication that your file system server uses, which is **Windows** | + | **Username** | Yes | <*domain-and-username*> | The domain and username for the computer where you have your file system.

For the managed File System connector, use one of the following values with the backslash (**`\`**):

- **<*domain*>\\<*username*>**
- **<*local-computer*>\\<*username*>**

For example, if your file system folder is on the same computer as the on-premises data gateway installation, you can use **<*local-computer*>\\<*username*>**.

- For the ISE-based File System connector, use the forward slash instead (**`/`**):

- **<*domain*>/<*username*>**
- **<*local-computer*>/<*username*>** | + | **Password** | Yes | <*password*> | The password for the computer where you have your file system | + | **gateway** | No | - <*Azure-subscription*>
- <*gateway-resource-name*> | This section applies only to the managed File System connector:

- **Subscription**: The Azure subscription associated with the data gateway resource
- **Connection Gateway**: The data gateway resource | + ||||| + + The following example shows the connection information for the managed File System trigger: + + ![Screenshot showing connection information for managed File System trigger.](media/logic-apps-using-file-connector/file-system-connection-consumption.png) + + The following example shows the connection information for the ISE-based File System trigger: + + ![Screenshot showing connection information for ISE-based File System trigger.](media/logic-apps-using-file-connector/file-system-connection-ise.png) + +1. After you provide the required information for your connection, select **Create**. + + Azure Logic Apps creates and tests your connection, making sure that the connection works properly. If the connection is set up correctly, the setup options appear for your selected trigger. + +1. Continue building your workflow. + + 1. Provide the required information for your trigger. -## Add trigger + For this example, select the folder path on your file system server to check for a newly created file. Specify the number of files to return and how often you want to check. -[!INCLUDE [Create connection general intro](../../includes/connectors-create-connection-general-intro.md)] + ![Screenshot showing the "When a file is created" trigger, which checks for a newly created file on the file system server.](media/logic-apps-using-file-connector/file-system-trigger-when-file-created.png) -1. Sign in to the [Azure portal](https://portal.azure.com), and open your logic app in Logic App Designer, if not open already. + 1. To test your workflow, add an Outlook action that sends you an email when a file is created on the file system in specified folder. Enter the email recipients, subject, and body. For testing, you can use your own email address. -1. In the search box, enter "dropbox" as your filter. From the triggers list, select this trigger: **When a file is created** + ![Screenshot showing an action that sends email when a new file is created on the file system server.](media/logic-apps-using-file-connector/file-system-trigger-send-email.png) - ![Select Dropbox trigger](media/logic-apps-using-file-connector/select-dropbox-trigger.png) + > [!TIP] + > + > To add outputs from previous steps in the workflow, click inside the trigger's edit boxes. + > When the dynamic content list appears, select from the available outputs. -1. Sign in with your Dropbox account credentials, and authorize access to your Dropbox data for Azure Logic Apps. +1. Save your logic app. Test your workflow by uploading a file and triggering the workflow. -1. Provide the required information for your trigger. + If successful, your workflow sends an email about the new file. - ![Dropbox trigger](media/logic-apps-using-file-connector/dropbox-trigger.png) + -## Add actions +## Add a File System action -1. Under the trigger, choose **Next step**. In the search box, enter "file system" as your filter. From the actions list, select this action: **Create file** +1. In the [Azure portal](https://portal.azure.com), open your logic app in the workflow designer, if not already open. - ![Find File System connector](media/logic-apps-using-file-connector/find-file-system-action.png) +1. After the last step or between steps in your workflow, add a new step or action. -1. If you don't already have a connection to your file system, you're prompted to create a connection. + This example uses a Dropbox trigger and follows that step with a File System action. - ![Create connection](media/logic-apps-using-file-connector/file-system-connection.png) +1. Under the **Choose an operation** search box, select **All**. In the search box, enter **file system**. + +1. From the actions list, select the File System action that you want. This example continues with the action named **Create file**. + + ![Screenshot showing Azure portal, designer for Consumption logic app, search box with "file system", and File System action selected.](media/logic-apps-using-file-connector/select-file-system-action-consumption.png) + +1. If you're prompted to create your file system server connection, provide the following information as required: | Property | Required | Value | Description | - | -------- | -------- | ----- | ----------- | - | **Connection Name** | Yes | <*connection-name*> | The name you want for your connection | - | **Root folder** | Yes | <*root-folder-name*> | The root folder for your file system, for example, if you installed your on-premises data gateway such as a local folder on the computer where the on-premises data gateway is installed, or the folder for a network share that the computer can access.

For example: `\\PublicShare\\DropboxFiles`

The root folder is the main parent folder, which is used for relative paths for all file-related actions. | - | **Authentication Type** | No | <*auth-type*> | The type of authentication that your file system uses: **Windows** | - | **Username** | Yes | <*domain*>\\<*username*>

-or-

<*local-computer*>\\<*username*> | The username for the computer where you have your file system folder.

If your file system folder is on the same computer as the on-premises data gateway, you can use <*local-computer*>\\<*username*>. | - | **Password** | Yes | <*your-password*> | The password for the computer where you have your file system | - | **gateway** | Yes | <*installed-gateway-name*> | The name for your previously installed gateway | + |----------|----------|-------|-------------| + | **Connection name** | Yes | <*connection-name*> | The name to use for your connection | + | **Root folder** | Yes | <*root-folder-name*> | The root folder for your file system, which is usually the main parent folder and is the folder used for the relative paths with all triggers that work on files.

For example, if you installed the on-premises data gateway, use the local folder on the computer with the data gateway installation. Or, use the folder for the network share where the computer can access that folder, for example, **`\\PublicShare\\MyFileSystem`**. | + | **Authentication Type** | No | <*auth-type*> | The type of authentication that your file system server uses, which is **Windows** | + | **Username** | Yes | <*domain-and-username*> | The domain and username for the computer where you have your file system.

For the managed File System connector, use one of the following values with the backslash (**`\`**):

- **<*domain*>\\<*username*>**
- **<*local-computer*>\\<*username*>**

For example, if your file system folder is on the same computer as the on-premises data gateway installation, you can use **<*local-computer*>\\<*username*>**.

- For the ISE-based File System connector, use the forward slash instead (**`/`**):

- **<*domain*>/<*username*>**
- **<*local-computer*>/<*username*>** | + | **Password** | Yes | <*password*> | The password for the computer where you have your file system | + | **gateway** | No | - <*Azure-subscription*>
- <*gateway-resource-name*> | This section applies only to the managed File System connector:

- **Subscription**: The Azure subscription associated with the data gateway resource
- **Connection Gateway**: The data gateway resource | ||||| -1. When you're done, choose **Create**. + The following example shows the connection information for the managed File System action: - Logic Apps configures and tests your connection, making sure that the connection works properly. If the connection is set up correctly, options appear for the action that you previously selected. + ![Screenshot showing connection information for managed File System action.](media/logic-apps-using-file-connector/file-system-connection-consumption.png) -1. In the **Create file** action, provide the details for copying files from Dropbox to the root folder in your on-premises file share. To add outputs from previous steps, click inside the boxes, and select from available fields when the dynamic content list appears. + The following example shows the connection information for the ISE-based File System action: - ![Create file action](media/logic-apps-using-file-connector/create-file-filled.png) + ![Screenshot showing connection information for ISE-based File System action.](media/logic-apps-using-file-connector/file-system-connection-ise.png) -1. Now, add an Outlook action that sends an email so the appropriate users know about the new file. Enter the recipients, title, and body of the email. For testing, you can use your own email address. +1. After you provide the required information for your connection, select **Create**. - ![Send email action](media/logic-apps-using-file-connector/send-email.png) + Azure Logic Apps creates and tests your connection, making sure that the connection works properly. If the connection is set up correctly, the setup options appear for your selected action. -1. Save your logic app. Test your app by uploading a file to Dropbox. +1. Continue building your workflow. - Your logic app should copy the file to your on-premises file share, and send the recipients an email about the copied file. + 1. Provide the required information for your action. -## Connector reference + For this example, select the folder path on your file system server to use, which is the root folder here. Enter the file name and content, based on the file uploaded to Dropbox. -For more technical details about this connector, such as triggers, actions, and limits as described by the connector's Swagger file, see the [connector's reference page](/connectors/fileconnector/). + ![Screenshot showing the "Create file" action, which creates a file on the file system server, based on a file uploaded to Dropbox.](media/logic-apps-using-file-connector/file-system-action-create-file.png) -> [!NOTE] -> For logic apps 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. + > [!TIP] + > + > To add outputs from previous steps in the workflow, click inside the trigger's edit boxes. + > When the dynamic content list appears, select from the available outputs. + + 1. To test your workflow, add an Outlook action that sends you an email when the File System action creates a file. Enter the email recipients, subject, and body. For testing, you can use your own email address. + + ![Screenshot showing an action that sends email after a new file is created on the file system server.](media/logic-apps-using-file-connector/file-system-action-send-email.png) + +1. Save your logic app. Test your workflow by uploading a file to Dropbox. + + If successful, your workflow creates a file on your file system server, based on the uploaded file in DropBox, and sends an email about the created file. ## Next steps diff --git a/articles/logic-apps/media/logic-apps-securing-a-logic-app/turn-on-secure-inputs-outputs.png b/articles/logic-apps/media/logic-apps-securing-a-logic-app/turn-on-secure-inputs-outputs.png index ecbe7dc00612..af768e0a4d68 100644 Binary files a/articles/logic-apps/media/logic-apps-securing-a-logic-app/turn-on-secure-inputs-outputs.png and b/articles/logic-apps/media/logic-apps-securing-a-logic-app/turn-on-secure-inputs-outputs.png differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/create-file-filled.png b/articles/logic-apps/media/logic-apps-using-file-connector/create-file-filled.png deleted file mode 100644 index 24238420c82b..000000000000 Binary files a/articles/logic-apps/media/logic-apps-using-file-connector/create-file-filled.png and /dev/null differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/dropbox-trigger.png b/articles/logic-apps/media/logic-apps-using-file-connector/dropbox-trigger.png deleted file mode 100644 index da2f4d4602db..000000000000 Binary files a/articles/logic-apps/media/logic-apps-using-file-connector/dropbox-trigger.png and /dev/null differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/file-system-action-create-file.png b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-action-create-file.png new file mode 100644 index 000000000000..5c08d6a052fb Binary files /dev/null and b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-action-create-file.png differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/file-system-action-send-email.png b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-action-send-email.png new file mode 100644 index 000000000000..e1a040d441f2 Binary files /dev/null and b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-action-send-email.png differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/file-system-connection-consumption.png b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-connection-consumption.png new file mode 100644 index 000000000000..6eb97a76653b Binary files /dev/null and b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-connection-consumption.png differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/file-system-connection-ise.png b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-connection-ise.png new file mode 100644 index 000000000000..03bff2e5c060 Binary files /dev/null and b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-connection-ise.png differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/file-system-trigger-send-email.png b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-trigger-send-email.png new file mode 100644 index 000000000000..eec420f9d9f0 Binary files /dev/null and b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-trigger-send-email.png differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/file-system-trigger-when-file-created.png b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-trigger-when-file-created.png new file mode 100644 index 000000000000..997483b5e4e8 Binary files /dev/null and b/articles/logic-apps/media/logic-apps-using-file-connector/file-system-trigger-when-file-created.png differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/find-file-system-action.png b/articles/logic-apps/media/logic-apps-using-file-connector/find-file-system-action.png deleted file mode 100644 index 8c0050cfe4cf..000000000000 Binary files a/articles/logic-apps/media/logic-apps-using-file-connector/find-file-system-action.png and /dev/null differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/select-dropbox-trigger.png b/articles/logic-apps/media/logic-apps-using-file-connector/select-dropbox-trigger.png deleted file mode 100644 index 81f9e8b241cd..000000000000 Binary files a/articles/logic-apps/media/logic-apps-using-file-connector/select-dropbox-trigger.png and /dev/null differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/select-file-system-action-consumption.png b/articles/logic-apps/media/logic-apps-using-file-connector/select-file-system-action-consumption.png new file mode 100644 index 000000000000..019b1c8413a0 Binary files /dev/null and b/articles/logic-apps/media/logic-apps-using-file-connector/select-file-system-action-consumption.png differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/select-file-system-trigger-consumption.png b/articles/logic-apps/media/logic-apps-using-file-connector/select-file-system-trigger-consumption.png new file mode 100644 index 000000000000..c72af193d16f Binary files /dev/null and b/articles/logic-apps/media/logic-apps-using-file-connector/select-file-system-trigger-consumption.png differ diff --git a/articles/logic-apps/media/logic-apps-using-file-connector/send-email.png b/articles/logic-apps/media/logic-apps-using-file-connector/send-email.png deleted file mode 100644 index 6af7824709f7..000000000000 Binary files a/articles/logic-apps/media/logic-apps-using-file-connector/send-email.png and /dev/null differ diff --git a/articles/logic-apps/set-up-zone-redundancy-availability-zones.md b/articles/logic-apps/set-up-zone-redundancy-availability-zones.md index 34bb7a06ac1d..6031ad78c306 100644 --- a/articles/logic-apps/set-up-zone-redundancy-availability-zones.md +++ b/articles/logic-apps/set-up-zone-redundancy-availability-zones.md @@ -30,8 +30,12 @@ During preview, the following considerations apply: * The following list includes the Azure regions where you can currently enable availability zones with the list expanding as available: + * Australia East * Brazil South * Canada Central + * Central US + * East US + * East US 2 * France Central * Japan East * South Central US diff --git a/articles/machine-learning/concept-model-management-and-deployment.md b/articles/machine-learning/concept-model-management-and-deployment.md index a1e0e7afe500..20f0231df371 100644 --- a/articles/machine-learning/concept-model-management-and-deployment.md +++ b/articles/machine-learning/concept-model-management-and-deployment.md @@ -1,7 +1,7 @@ --- -title: 'MLOps: ML model management' +title: 'MLOps: Machine learning model management' titleSuffix: Azure Machine Learning -description: 'Learn about model management (MLOps) with Azure Machine Learning. Deploy, manage, track lineage and monitor your models to continuously improve them. ' +description: 'Learn about model management (MLOps) with Azure Machine Learning. Deploy, manage, track lineage, and monitor your models to continuously improve them.' services: machine-learning ms.service: machine-learning ms.subservice: mlops @@ -14,72 +14,75 @@ ms.date: 11/04/2021 # MLOps: Model management, deployment, lineage, and monitoring with Azure Machine Learning -In this article, learn about how do Machine Learning Operations (MLOps) in Azure Machine Learning to manage the lifecycle of your models. MLOps improves the quality and consistency of your machine learning solutions. +In this article, you'll learn how to use machine learning operations (MLOps) in Azure Machine Learning to manage the lifecycle of your models. MLOps improves the quality and consistency of your machine learning solutions. ## What is MLOps? -Machine Learning Operations (MLOps) is based on [DevOps](https://azure.microsoft.com/overview/what-is-devops/) principles and practices that increase the efficiency of workflows. For example, continuous integration, delivery, and deployment. MLOps applies these principles to the machine learning process, with the goal of: +MLOps is based on [DevOps](https://azure.microsoft.com/overview/what-is-devops/) principles and practices that increase the efficiency of workflows. Examples include continuous integration, delivery, and deployment. MLOps applies these principles to the machine learning process, with the goal of: -* Faster experimentation and development of models -* Faster deployment of models into production -* Quality assurance and end-to-end lineage tracking +* Faster experimentation and development of models. +* Faster deployment of models into production. +* Quality assurance and end-to-end lineage tracking. -## MLOps in Azure Machine Learning +## MLOps in Machine Learning -Azure Machine Learning provides the following MLOps capabilities: +Machine Learning provides the following MLOps capabilities: -- **Create reproducible ML pipelines**. Machine Learning pipelines allow you to define repeatable and reusable steps for your data preparation, training, and scoring processes. -- **Create reusable software environments** for training and deploying models. -- **Register, package, and deploy models from anywhere**. You can also track associated metadata required to use the model. -- **Capture the governance data for the end-to-end ML lifecycle**. The logged lineage information can include who is publishing models, why changes were made, and when models were deployed or used in production. -- **Notify and alert on events in the ML lifecycle**. For example, experiment completion, model registration, model deployment, and data drift detection. -- **Monitor ML applications for operational and ML-related issues**. Compare model inputs between training and inference, explore model-specific metrics, and provide monitoring and alerts on your ML infrastructure. -- **Automate the end-to-end ML lifecycle with Azure Machine Learning and Azure Pipelines**. Using pipelines allows you to frequently update models, test new models, and continuously roll out new ML models alongside your other applications and services. +- **Create reproducible machine learning pipelines.** Use machine learning pipelines to define repeatable and reusable steps for your data preparation, training, and scoring processes. +- **Create reusable software environments.** Use these environments for training and deploying models. +- **Register, package, and deploy models from anywhere.** You can also track associated metadata required to use the model. +- **Capture the governance data for the end-to-end machine learning lifecycle.** The logged lineage information can include who is publishing models and why changes were made. It can also include when models were deployed or used in production. +- **Notify and alert on events in the machine learning lifecycle.** Event examples include experiment completion, model registration, model deployment, and data drift detection. +- **Monitor machine learning applications for operational and machine learning-related issues.** Compare model inputs between training and inference. Explore model-specific metrics. Provide monitoring and alerts on your machine learning infrastructure. +- **Automate the end-to-end machine learning lifecycle with Machine Learning and Azure Pipelines.** By using pipelines, you can frequently update models. You can also test new models. You can continually roll out new machine learning models alongside your other applications and services. -For more information on MLOps, see [Machine Learning DevOps (MLOps)](/azure/cloud-adoption-framework/ready/azure-best-practices/ai-machine-learning-mlops). +For more information on MLOps, see [Machine learning DevOps](/azure/cloud-adoption-framework/ready/azure-best-practices/ai-machine-learning-mlops). -## Create reproducible ML pipelines +## Create reproducible machine learning pipelines -Use ML pipelines from Azure Machine Learning to stitch together all of the steps involved in your model training process. +Use machine learning pipelines from Machine Learning to stitch together all the steps in your model training process. -An ML pipeline can contain steps from data preparation to feature extraction to hyperparameter tuning to model evaluation. For more information, see [ML pipelines](concept-ml-pipelines.md). +A machine learning pipeline can contain steps from data preparation to feature extraction to hyperparameter tuning to model evaluation. For more information, see [Machine learning pipelines](concept-ml-pipelines.md). -If you use the [Designer](concept-designer.md) to create your ML pipelines, you may at any time click the **"..."** at the top-right of the Designer page and then select **Clone**. Cloning your pipeline allows you to iterate your pipeline design without losing your old versions. +If you use the [designer](concept-designer.md) to create your machine learning pipelines, you can at any time select the **...** icon in the upper-right corner of the designer page. Then select **Clone**. When you clone your pipeline, you iterate your pipeline design without losing your old versions. ## Create reusable software environments -Azure Machine Learning environments allow you to track and reproduce your projects' software dependencies as they evolve. Environments allow you to ensure that builds are reproducible without manual software configurations. +By using Machine Learning environments, you can track and reproduce your projects' software dependencies as they evolve. You can use environments to ensure that builds are reproducible without manual software configurations. -Environments describe the pip and Conda dependencies for your projects, and can be used for both training and deployment of models. For more information, see [What are Azure Machine Learning environments](concept-environments.md). +Environments describe the pip and conda dependencies for your projects. You can use them for training and deployment of models. For more information, see [What are Machine Learning environments?](concept-environments.md). ## Register, package, and deploy models from anywhere -### Register and track ML models +The following sections discuss how to register, package, and deploy models. -Model registration allows you to store and version your models in the Azure cloud, in your workspace. The model registry makes it easy to organize and keep track of your trained models. +### Register and track machine learning models + +With model registration, you can store and version your models in the Azure cloud, in your workspace. The model registry makes it easy to organize and keep track of your trained models. > [!TIP] -> A registered model is a logical container for one or more files that make up your model. For example, if you have a model that is stored in multiple files, you can register them as a single model in your Azure Machine Learning workspace. After registration, you can then download or deploy the registered model and receive all the files that were registered. +> A registered model is a logical container for one or more files that make up your model. For example, if you have a model that's stored in multiple files, you can register them as a single model in your Machine Learning workspace. After registration, you can then download or deploy the registered model and receive all the files that were registered. -Registered models are identified by name and version. Each time you register a model with the same name as an existing one, the registry increments the version. Additional metadata tags can be provided during registration. These tags are then used when searching for a model. Azure Machine Learning supports any model that can be loaded using Python 3.5.2 or higher. +Registered models are identified by name and version. Each time you register a model with the same name as an existing one, the registry increments the version. More metadata tags can be provided during registration. These tags are then used when you search for a model. Machine Learning supports any model that can be loaded by using Python 3.5.2 or higher. > [!TIP] -> You can also register models trained outside Azure Machine Learning. +> You can also register models trained outside Machine Learning. -You can't delete a registered model that is being used in an active deployment. -For more information, see the register model section of [Deploy models](how-to-deploy-and-where.md#registermodel). +You can't delete a registered model that's being used in an active deployment. +For more information, see the "Register model" section of [Deploy models](how-to-deploy-and-where.md#registermodel). > [!IMPORTANT] -> When using Filter by `Tags` option on the Models page of Azure Machine Learning Studio, instead of using `TagName : TagValue` customers should use `TagName=TagValue` (without space) +> When you use the **Filter by** `Tags` option on the **Models** page of Azure Machine Learning Studio, instead of using `TagName : TagValue`, use `TagName=TagValue` without spaces. ### Profile models -Azure Machine Learning can help you understand the CPU and memory requirements of the service that will be created when you deploy your model. Profiling tests the service that runs your model and returns information such as the CPU usage, memory usage, and response latency. It also provides a CPU and memory recommendation based on the resource usage. -For more information, see the profiling section of [Deploy models](how-to-deploy-profile-model.md). +Machine Learning can help you understand the CPU and memory requirements of the service that's created when you deploy your model. Profiling tests the service that runs your model and returns information like CPU usage, memory usage, and response latency. It also provides a CPU and memory recommendation based on the resource usage. + +For more information, see [Profile your model to determine resource utilization](how-to-deploy-profile-model.md). ### Package and debug models -Before deploying a model into production, it is packaged into a Docker image. In most cases, image creation happens automatically in the background during deployment. You can manually specify the image. +Before you deploy a model into production, it's packaged into a Docker image. In most cases, image creation happens automatically in the background during deployment. You can manually specify the image. If you run into problems with the deployment, you can deploy on your local development environment for troubleshooting and debugging. @@ -87,114 +90,118 @@ For more information, see [Deploy models](how-to-deploy-and-where.md#registermod ### Convert and optimize models -Converting your model to [Open Neural Network Exchange](https://onnx.ai) (ONNX) may improve performance. On average, converting to ONNX can yield a 2x performance increase. +Converting your model to [Open Neural Network Exchange](https://onnx.ai) (ONNX) might improve performance. On average, converting to ONNX can double performance. -For more information on ONNX with Azure Machine Learning, see the [Create and accelerate ML models](concept-onnx.md) article. +For more information on ONNX with Machine Learning, see [Create and accelerate machine learning models](concept-onnx.md). ### Use models -Trained machine learning models are deployed as web services in the cloud or locally. Deployments use CPU, GPU, or field-programmable gate arrays (FPGA) for inferencing. You can also use models from Power BI. +Trained machine learning models are deployed as web services in the cloud or locally. Deployments use CPU, GPU, or field-programmable gate arrays for inferencing. You can also use models from Power BI. -When using a model as a web service, you provide the following items: +When you use a model as a web service, you provide the following items: -* The model(s) that are used to score data submitted to the service/device. -* An entry script. This script accepts requests, uses the model(s) to score the data, and return a response. -* An Azure Machine Learning environment that describes the pip and Conda dependencies required by the model(s) and entry script. -* Any additional assets such as text, data, etc. that are required by the model(s) and entry script. +* The models that are used to score data submitted to the service or device. +* An entry script. This script accepts requests, uses the models to score the data, and returns a response. +* A Machine Learning environment that describes the pip and conda dependencies required by the models and entry script. +* Any other assets such as text and data that are required by the models and entry script. -You also provide the configuration of the target deployment platform. For example, the VM family type, available memory, and number of cores when deploying to Azure Kubernetes Service. +You also provide the configuration of the target deployment platform. Examples include the VM family type, available memory, and the number of cores when you deploy to Azure Kubernetes Service. -When the image is created, components required by Azure Machine Learning are also added. For example, assets needed to run the web service. +When the image is created, components required by Machine Learning are also added. An example is the assets needed to run the web service. #### Batch scoring -Batch scoring is supported through ML pipelines. For more information, see [Batch predictions on big data](./tutorial-pipeline-batch-scoring-classification.md). + +Batch scoring is supported through machine learning pipelines. For more information, see [Batch predictions on big data](./tutorial-pipeline-batch-scoring-classification.md). #### Real-time web services -You can use your models in **web services** with the following compute targets: +You can use your models in web services with the following compute targets: -* Azure Container Instance +* Azure Container Instances * Azure Kubernetes Service * Local development environment To deploy the model as a web service, you must provide the following items: * The model or ensemble of models. -* Dependencies required to use the model. For example, a script that accepts requests and invokes the model, conda dependencies, etc. +* Dependencies required to use the model. Examples are a script that accepts requests and invokes the model and conda dependencies. * Deployment configuration that describes how and where to deploy the model. For more information, see [Deploy models](how-to-deploy-and-where.md). #### Controlled rollout -When deploying to Azure Kubernetes Service, you can use controlled rollout to enable the following scenarios: +When you deploy to Azure Kubernetes Service, you can use controlled rollout to enable the following scenarios: -* Create multiple versions of an endpoint for a deployment +* Create multiple versions of an endpoint for a deployment. * Perform A/B testing by routing traffic to different versions of the endpoint. * Switch between endpoint versions by updating the traffic percentage in endpoint configuration. -For more information, see [Controlled rollout of ML models](./how-to-safely-rollout-managed-endpoints.md). +For more information, see [Controlled rollout of machine learning models](./how-to-safely-rollout-managed-endpoints.md). ### Analytics -Microsoft Power BI supports using machine learning models for data analytics. For more information, see [Azure Machine Learning integration in Power BI (preview)](/power-bi/service-machine-learning-integration). +Microsoft Power BI supports using machine learning models for data analytics. For more information, see [Machine Learning integration in Power BI (preview)](/power-bi/service-machine-learning-integration). ## Capture the governance data required for MLOps -Azure ML gives you the capability to track the end-to-end audit trail of all of your ML assets by using metadata. +Machine Learning gives you the capability to track the end-to-end audit trail of all your machine learning assets by using metadata. For example: -- Azure ML [integrates with Git](how-to-set-up-training-targets.md#gitintegration) to track information on which repository / branch / commit your code came from. -- [Azure ML Datasets](how-to-create-register-datasets.md) help you track, profile, and version data. -- [Interpretability](how-to-machine-learning-interpretability.md) allows you to explain your models, meet regulatory compliance, and understand how models arrive at a result for given input. -- Azure ML Run history stores a snapshot of the code, data, and computes used to train a model. -- The Azure ML Model Registry captures all of the metadata associated with your model (which experiment trained it, where it is being deployed, if its deployments are healthy). -- [Integration with Azure](how-to-use-event-grid.md) allows you to act on events in the ML lifecycle. For example, model registration, deployment, data drift, and training (run) events. +- Machine Learning [integrates with Git](how-to-set-up-training-targets.md#gitintegration) to track information on which repository, branch, and commit your code came from. +- [Machine Learning datasets](how-to-create-register-datasets.md) help you track, profile, and version data. +- [Interpretability](how-to-machine-learning-interpretability.md) allows you to explain your models, meet regulatory compliance, and understand how models arrive at a result for specific input. +- Machine Learning Run history stores a snapshot of the code, data, and computes used to train a model. +- The Machine Learning Model Registry captures all the metadata associated with your model. For example, metadata includes which experiment trained it, where it's being deployed, and if its deployments are healthy. +- [Integration with Azure](how-to-use-event-grid.md) allows you to act on events in the machine learning lifecycle. Examples are model registration, deployment, data drift, and training (run) events. > [!TIP] -> While some information on models and datasets is automatically captured, you can add additional information by using __tags__. When looking for registered models and datasets in your workspace, you can use tags as a filter. +> While some information on models and datasets is automatically captured, you can add more information by using _tags_. When you look for registered models and datasets in your workspace, you can use tags as a filter. > -> Associating a dataset with a registered model is an optional step. For information on referencing a dataset when registering a model, see the [Model](/python/api/azureml-core/azureml.core.model%28class%29) class reference. +> Associating a dataset with a registered model is an optional step. For information on how to reference a dataset when you register a model, see the [Model](/python/api/azureml-core/azureml.core.model%28class%29) class reference. +## Notify, automate, and alert on events in the machine learning lifecycle -## Notify, automate, and alert on events in the ML lifecycle -Azure ML publishes key events to Azure Event Grid, which can be used to notify and automate on events in the ML lifecycle. For more information, please see [this document](how-to-use-event-grid.md). +Machine Learning publishes key events to Azure Event Grid, which can be used to notify and automate on events in the machine learning lifecycle. For more information, see [Use Event Grid](how-to-use-event-grid.md). - -## Monitor for operational & ML issues +## Monitor for operational and machine learning issues Monitoring enables you to understand what data is being sent to your model, and the predictions that it returns. -This information helps you understand how your model is being used. The collected input data may also be useful in training future versions of the model. +This information helps you understand how your model is being used. The collected input data might also be useful in training future versions of the model. -For more information, see [How to enable model data collection](how-to-enable-data-collection.md). +For more information, see [Enable model data collection](how-to-enable-data-collection.md). ## Retrain your model on new data -Often, you'll want to validate your model, update it, or even retrain it from scratch, as you receive new information. Sometimes, receiving new data is an expected part of the domain. Other times, as discussed in [Detect data drift (preview) on datasets](how-to-monitor-datasets.md), model performance can degrade in the face of such things as changes to a particular sensor, natural data changes such as seasonal effects, or features shifting in their relation to other features. +Often, you'll want to validate your model, update it, or even retrain it from scratch, as you receive new information. Sometimes, receiving new data is an expected part of the domain. Other times, as discussed in [Detect data drift (preview) on datasets](how-to-monitor-datasets.md), model performance can degrade because of: + +- Changes to a particular sensor. +- Natural data changes such as seasonal effects. +- Features shifting in their relation to other features. -There is no universal answer to "How do I know if I should retrain?" but Azure ML event and monitoring tools previously discussed are good starting points for automation. Once you have decided to retrain, you should: +There's no universal answer to "How do I know if I should retrain?" The Machine Learning event and monitoring tools previously discussed are good starting points for automation. After you've decided to retrain, you should: -- Preprocess your data using a repeatable, automated process -- Train your new model -- Compare the outputs of your new model to those of your old model -- Use predefined criteria to choose whether to replace your old model +- Preprocess your data by using a repeatable, automated process. +- Train your new model. +- Compare the outputs of your new model to the outputs of your old model. +- Use predefined criteria to choose whether to replace your old model. -A theme of the above steps is that your retraining should be automated, not ad hoc. [Azure Machine Learning pipelines](concept-ml-pipelines.md) are a good answer for creating workflows relating to data preparation, training, validation, and deployment. Read [Retrain models with Azure Machine Learning designer](how-to-retrain-designer.md) to see how pipelines and the Azure Machine Learning designer fit into a retraining scenario. +A theme of the preceding steps is that your retraining should be automated, not improvised. [Machine Learning pipelines](concept-ml-pipelines.md) are a good answer for creating workflows that relate to data preparation, training, validation, and deployment. Read [Retrain models with Machine Learning designer](how-to-retrain-designer.md) to see how pipelines and the Machine Learning designer fit into a retraining scenario. -## Automate the ML lifecycle +## Automate the machine learning lifecycle -You can use GitHub and Azure Pipelines to create a continuous integration process that trains a model. In a typical scenario, when a Data Scientist checks a change into the Git repo for a project, the Azure Pipeline will start a training run. The results of the run can then be inspected to see the performance characteristics of the trained model. You can also create a pipeline that deploys the model as a web service. +You can use GitHub and Azure Pipelines to create a continuous integration process that trains a model. In a typical scenario, when a data scientist checks a change into the Git repo for a project, Azure Pipelines starts a training run. The results of the run can then be inspected to see the performance characteristics of the trained model. You can also create a pipeline that deploys the model as a web service. -The [Azure Machine Learning extension](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml) makes it easier to work with Azure Pipelines. It provides the following enhancements to Azure Pipelines: +The [Machine Learning extension](https://marketplace.visualstudio.com/items?itemName=ms-air-aiagility.vss-services-azureml) makes it easier to work with Azure Pipelines. It provides the following enhancements to Azure Pipelines: -* Enables workspace selection when defining a service connection. +* Enables workspace selection when you define a service connection. * Enables release pipelines to be triggered by trained models created in a training pipeline. -For more information on using Azure Pipelines with Azure Machine Learning, see the following links: +For more information on using Azure Pipelines with Machine Learning, see: -* [Continuous integration and deployment of ML models with Azure Pipelines](/azure/devops/pipelines/targets/azure-machine-learning) -* [Azure Machine Learning MLOps](https://aka.ms/mlops) repository -* [Azure Machine Learning MLOpsPython](https://github.com/Microsoft/MLOpspython) repository +* [Continuous integration and deployment of machine learning models with Azure Pipelines](/azure/devops/pipelines/targets/azure-machine-learning) +* [Machine Learning MLOps](https://aka.ms/mlops) repository +* [Machine Learning MLOpsPython](https://github.com/Microsoft/MLOpspython) repository You can also use Azure Data Factory to create a data ingestion pipeline that prepares data for use with training. For more information, see [Data ingestion pipeline](how-to-cicd-data-ingestion.md). @@ -202,16 +209,10 @@ You can also use Azure Data Factory to create a data ingestion pipeline that pre Learn more by reading and exploring the following resources: -+ [How & where to deploy models](how-to-deploy-and-where.md) with Azure Machine Learning - -+ [Tutorial: Train and deploy a model](tutorial-train-deploy-notebook.md). - ++ [How and where to deploy models](how-to-deploy-and-where.md) with Machine Learning ++ [Tutorial: Train and deploy a model](tutorial-train-deploy-notebook.md) + [End-to-end MLOps examples repo](https://github.com/microsoft/MLOps) - -+ [CI/CD of ML models with Azure Pipelines](/azure/devops/pipelines/targets/azure-machine-learning) - ++ [CI/CD of machine learning models with Azure Pipelines](/azure/devops/pipelines/targets/azure-machine-learning) + Create clients that [consume a deployed model](how-to-consume-web-service.md) - + [Machine learning at scale](/azure/architecture/data-guide/big-data/machine-learning-at-scale) - -+ [Azure AI reference architectures & best practices rep](https://github.com/microsoft/AI) ++ [Azure AI reference architectures and best practices repo](https://github.com/microsoft/AI) diff --git a/articles/machine-learning/how-to-use-automlstep-in-pipelines.md b/articles/machine-learning/how-to-use-automlstep-in-pipelines.md index 598b16717f23..ad243be21762 100644 --- a/articles/machine-learning/how-to-use-automlstep-in-pipelines.md +++ b/articles/machine-learning/how-to-use-automlstep-in-pipelines.md @@ -490,4 +490,4 @@ Finally, the actual metrics and model are downloaded to your local machine, as w - Run this Jupyter notebook showing a [complete example of automated ML in a pipeline](https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/nyc-taxi-data-regression-model-building/nyc-taxi-data-regression-model-building.ipynb) that uses regression to predict taxi fares - [Create automated ML experiments without writing code](how-to-use-automated-ml-for-ml-models.md) - Explore a variety of [Jupyter notebooks demonstrating automated ML](https://github.com/Azure/MachineLearningNotebooks/tree/master/how-to-use-azureml/automated-machine-learning) -- Read about integrating your pipeline in to [End-to-end MLOps](./concept-model-management-and-deployment.md#automate-the-ml-lifecycle) or investigate the [MLOps GitHub repository](https://github.com/Microsoft/MLOpspython) +- Read about integrating your pipeline in to [End-to-end MLOps](./concept-model-management-and-deployment.md#automate-the-machine-learning-lifecycle) or investigate the [MLOps GitHub repository](https://github.com/Microsoft/MLOpspython) diff --git a/articles/machine-learning/how-to-use-event-grid.md b/articles/machine-learning/how-to-use-event-grid.md index 8f88a0fd70fc..d18643618f06 100644 --- a/articles/machine-learning/how-to-use-event-grid.md +++ b/articles/machine-learning/how-to-use-event-grid.md @@ -45,7 +45,7 @@ Azure Machine Learning provides events in the various points of machine learning | `Microsoft.MachineLearningServices.ModelRegistered` | Raised when a machine learning model is registered in the workspace | | `Microsoft.MachineLearningServices.ModelDeployed` | Raised when a deployment of inference service with one or more models is completed | | `Microsoft.MachineLearningServices.DatasetDriftDetected` | Raised when a data drift detection job for two datasets is completed | -| `Microsoft.MachineLearningServices.RunStatusChanged` | Raised when a run status changed, currently only raised when a run status is 'failed' | +| `Microsoft.MachineLearningServices.RunStatusChanged` | Raised when a run status is changed | ### Filter & subscribe to events diff --git a/articles/mysql/TOC.yml b/articles/mysql/TOC.yml index d29bdd744a8c..4246b51c9126 100644 --- a/articles/mysql/TOC.yml +++ b/articles/mysql/TOC.yml @@ -287,6 +287,9 @@ - name: Azure PowerShell href: quickstart-create-mysql-server-database-using-azure-powershell.md displayName: powershell, create, server + - name: Bicep + href: quickstart-create-mysql-server-database-using-bicep.md + displayName: ARM, Resource Manager, Template - name: ARM template href: quickstart-create-mysql-server-database-using-arm-template.md displayName: deploy azure resource manager template diff --git a/articles/mysql/app-development-best-practices.md b/articles/mysql/app-development-best-practices.md index 7d3368772432..ef392505cd40 100644 --- a/articles/mysql/app-development-best-practices.md +++ b/articles/mysql/app-development-best-practices.md @@ -4,6 +4,7 @@ description: Learn about best practices for building an app by using Azure Datab author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 08/11/2020 --- diff --git a/articles/mysql/concept-monitoring-best-practices.md b/articles/mysql/concept-monitoring-best-practices.md index 09caf24c6852..f779dd0fe57a 100644 --- a/articles/mysql/concept-monitoring-best-practices.md +++ b/articles/mysql/concept-monitoring-best-practices.md @@ -4,6 +4,7 @@ description: This article describes the best practices to monitor your Azure Dat author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.custom: ms.date: 11/23/2020 diff --git a/articles/mysql/concept-operation-excellence-best-practices.md b/articles/mysql/concept-operation-excellence-best-practices.md index b0752f4b7bf4..6dce30a88259 100644 --- a/articles/mysql/concept-operation-excellence-best-practices.md +++ b/articles/mysql/concept-operation-excellence-best-practices.md @@ -4,6 +4,7 @@ description: This article describes the best practices to operate your MySQL dat author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 11/23/2020 --- diff --git a/articles/mysql/concept-performance-best-practices.md b/articles/mysql/concept-performance-best-practices.md index 2f21799fa1ec..87ec6807bf8f 100644 --- a/articles/mysql/concept-performance-best-practices.md +++ b/articles/mysql/concept-performance-best-practices.md @@ -4,6 +4,7 @@ description: This article describes some recommendations to monitor and tune per author: Bashar-MSFT ms.author: bahusse ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 1/28/2021 --- diff --git a/articles/mysql/concept-reserved-pricing.md b/articles/mysql/concept-reserved-pricing.md index cec4b3004892..946bd52eeba7 100644 --- a/articles/mysql/concept-reserved-pricing.md +++ b/articles/mysql/concept-reserved-pricing.md @@ -4,6 +4,7 @@ description: Prepay for Azure Database for MySQL compute resources with reserved author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 10/06/2021 --- diff --git a/articles/mysql/concepts-aks.md b/articles/mysql/concepts-aks.md index 068ff6a614dd..0ebfa54cef1a 100644 --- a/articles/mysql/concepts-aks.md +++ b/articles/mysql/concepts-aks.md @@ -4,6 +4,7 @@ description: Learn about connecting Azure Kubernetes Service with Azure Database author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 07/14/2020 --- diff --git a/articles/mysql/concepts-audit-logs.md b/articles/mysql/concepts-audit-logs.md index 5274e64c67f0..088001482409 100644 --- a/articles/mysql/concepts-audit-logs.md +++ b/articles/mysql/concepts-audit-logs.md @@ -4,6 +4,7 @@ description: Describes the audit logs available in Azure Database for MySQL, and author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 6/24/2020 --- diff --git a/articles/mysql/concepts-azure-ad-authentication.md b/articles/mysql/concepts-azure-ad-authentication.md index e5cafe27e1b9..ef248c9a7e55 100644 --- a/articles/mysql/concepts-azure-ad-authentication.md +++ b/articles/mysql/concepts-azure-ad-authentication.md @@ -4,6 +4,7 @@ description: Learn about the concepts of Azure Active Directory for authenticati author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 07/23/2020 --- diff --git a/articles/mysql/concepts-azure-advisor-recommendations.md b/articles/mysql/concepts-azure-advisor-recommendations.md index 08687f71897f..1782cad22a59 100644 --- a/articles/mysql/concepts-azure-advisor-recommendations.md +++ b/articles/mysql/concepts-azure-advisor-recommendations.md @@ -4,6 +4,7 @@ description: Learn about Azure Advisor recommendations for MySQL. author: alau-ms ms.author: alau ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 04/08/2021 --- diff --git a/articles/mysql/concepts-backup.md b/articles/mysql/concepts-backup.md index 1699c9b96458..1135c60acb06 100644 --- a/articles/mysql/concepts-backup.md +++ b/articles/mysql/concepts-backup.md @@ -4,6 +4,7 @@ description: Learn about automatic backups and restoring your Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 3/27/2020 ms.custom: references_regions diff --git a/articles/mysql/concepts-business-continuity.md b/articles/mysql/concepts-business-continuity.md index 3eb53d305128..0b2692590e27 100644 --- a/articles/mysql/concepts-business-continuity.md +++ b/articles/mysql/concepts-business-continuity.md @@ -4,6 +4,7 @@ description: Learn about business continuity (point-in-time restore, data center author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 7/7/2020 --- diff --git a/articles/mysql/concepts-certificate-rotation.md b/articles/mysql/concepts-certificate-rotation.md index 60a92fd535aa..3778c68dbe81 100644 --- a/articles/mysql/concepts-certificate-rotation.md +++ b/articles/mysql/concepts-certificate-rotation.md @@ -4,6 +4,7 @@ description: Learn about the upcoming changes of root certificate changes that w author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 04/08/2021 --- diff --git a/articles/mysql/concepts-compatibility.md b/articles/mysql/concepts-compatibility.md index ef6523769fff..7d5dc3538b39 100644 --- a/articles/mysql/concepts-compatibility.md +++ b/articles/mysql/concepts-compatibility.md @@ -4,6 +4,7 @@ description: This article describes the MySQL drivers and management tools that author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 11/4/2021 --- diff --git a/articles/mysql/concepts-connection-libraries.md b/articles/mysql/concepts-connection-libraries.md index 45e16c41db34..16d7dc9f09c7 100644 --- a/articles/mysql/concepts-connection-libraries.md +++ b/articles/mysql/concepts-connection-libraries.md @@ -4,6 +4,7 @@ description: This article lists each library or driver that client programs can author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 8/3/2020 --- diff --git a/articles/mysql/concepts-connectivity-architecture.md b/articles/mysql/concepts-connectivity-architecture.md index bf0a58b65c86..f727860e6bd4 100644 --- a/articles/mysql/concepts-connectivity-architecture.md +++ b/articles/mysql/concepts-connectivity-architecture.md @@ -4,6 +4,7 @@ description: Describes the connectivity architecture for your Azure Database for author: Bashar-MSFT ms.author: bahusse ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 10/15/2021 --- @@ -12,29 +13,29 @@ ms.date: 10/15/2021 [!INCLUDE[applies-to-mysql-single-server](includes/applies-to-mysql-single-server.md)] -This article explains the Azure Database for MySQL connectivity architecture as well as how the traffic is directed to your Azure Database for MySQL instance from clients both within and outside Azure. +This article explains the Azure Database for MySQL connectivity architecture and how the traffic is directed to your Azure Database for MySQL instance from clients both within and outside Azure. ## Connectivity architecture Connection to your Azure Database for MySQL is established through a gateway that is responsible for routing incoming connections to the physical location of your server in our clusters. The following diagram illustrates the traffic flow. :::image type="content" source="./media/concepts-connectivity-architecture/connectivity-architecture-overview-proxy.png" alt-text="Overview of the connectivity architecture"::: -As client connects to the database, the connection string to the server resolves to the gateway IP address. The gateway listens on the IP address on port 3306. Inside the database cluster, traffic is forwarded to appropriate Azure Database for MySQL. Therefore, in order to connect to your server, such as from corporate networks, it is necessary to open up the **client-side firewall to allow outbound traffic to be able to reach our gateways**. Below you can find a complete list of the IP addresses used by our gateways per region. +As client connects to the database, the connection string to the server resolves to the gateway IP address. The gateway listens on the IP address on port 3306. Inside the database cluster, traffic is forwarded to appropriate Azure Database for MySQL. Therefore, in order to connect to your server, such as from corporate networks, it's necessary to open up the **client-side firewall to allow outbound traffic to be able to reach our gateways**. Below you can find a complete list of the IP addresses used by our gateways per region. ## Azure Database for MySQL gateway IP addresses The gateway service is hosted on group of stateless compute nodes sitting behind an IP address, which your client would reach first when trying to connect to an Azure Database for MySQL server. -As part of ongoing service maintenance, we will periodically refresh compute hardware hosting the gateways to ensure we provide the most secure and performant experience. When the gateway hardware is refreshed, a new ring of the compute nodes is built out first. This new ring serves the traffic for all the newly created Azure Database for MySQL servers and it will have a different IP address from older gateway rings in the same region to differentiate the traffic. Once the new ring is fully functional, the older gateway hardware serving existing servers are planned for decommissioning. Before decommissioning a gateway hardware, customers running their servers and connecting to older gateway rings will be notified via email and in the Azure portal, three months in advance before decommissioning. The decommissioning of gateways can impact the connectivity to your servers if +As part of ongoing service maintenance, we'll periodically refresh compute hardware hosting the gateways to ensure we provide the most secure and performant experience. When the gateway hardware is refreshed, a new ring of the compute nodes is built out first. This new ring serves the traffic for all the newly created Azure Database for MySQL servers and it will have a different IP address from older gateway rings in the same region to differentiate the traffic. Once the new ring is fully functional, the older gateway hardware serving existing servers are planned for decommissioning. Before decommissioning a gateway hardware, customers running their servers and connecting to older gateway rings will be notified via email and in the Azure portal, three months in advance before decommissioning. The decommissioning of gateways can impact the connectivity to your servers if * You hard code the gateway IP addresses in the connection string of your application. It is **not recommended**. You should use fully qualified domain name (FQDN) of your server in the format `.mysql.database.azure.com`, in the connection string for your application. -* You do not update the newer gateway IP addresses in the client-side firewall to allow outbound traffic to be able to reach our new gateway rings. +* You don't update the newer gateway IP addresses in the client-side firewall to allow outbound traffic to be able to reach our new gateway rings. The following table lists the gateway IP addresses of the Azure Database for MySQL gateway for all data regions. The most up-to-date information of the gateway IP addresses for each region is maintained in the table below. In the table below, the columns represent following: -* **Gateway IP addresses:** This column lists the current IP addresses of the gateways hosted on the latest generation of hardware. If you are provisioning a new server, we recommend that you open the client-side firewall to allow outbound traffic for the IP addresses listed in this column. -* **Gateway IP addresses (decommissioning):** This column lists the IP addresses of the gateways hosted on an older generation of hardware that is being decommissioned right now. If you are provisioning a new server, you can ignore these IP addresses. If you have an existing server, continue to retain the outbound rule for the firewall for these IP addresses as we have not decommissioned it yet. If you drop the firewall rules for these IP addresses, you may get connectivity errors. Instead, you are expected to proactively add the new IP addresses listed in Gateway IP addresses column to the outbound firewall rule as soon as you receive the notification for decommissioning. This will ensure when your server is migrated to latest gateway hardware, there is no interruptions in connectivity to your server. -* **Gateway IP addresses (decommissioned):** This columns lists the IP addresses of the gateway rings, which are decommissioned and are no longer in operations. You can safely remove these IP addresses from your outbound firewall rule. +* **Gateway IP addresses:** This column lists the current IP addresses of the gateways hosted on the latest generation of hardware. If you're provisioning a new server, we recommend that you open the client-side firewall to allow outbound traffic for the IP addresses listed in this column. +* **Gateway IP addresses (decommissioning):** This column lists the IP addresses of the gateways hosted on an older generation of hardware that is being decommissioned right now. If you're provisioning a new server, you can ignore these IP addresses. If you have an existing server, continue to retain the outbound rule for the firewall for these IP addresses as we haven't decommissioned it yet. If you drop the firewall rules for these IP addresses, you may get connectivity errors. Instead, you're expected to proactively add the new IP addresses listed in Gateway IP addresses column to the outbound firewall rule as soon as you receive the notification for decommissioning. This will ensure when your server is migrated to latest gateway hardware, there's no interruptions in connectivity to your server. +* **Gateway IP addresses (decommissioned):** This column lists the IP addresses of the gateway rings, which are decommissioned and are no longer in operations. You can safely remove these IP addresses from your outbound firewall rule. | **Region name** | **Gateway IP addresses** | **Gateway IP addresses (decommissioning)** | **Gateway IP addresses (decommissioned)** | |------------------------|------------------------------------------------------------|-----------------------------------------------|-----------------------------------------------| @@ -100,10 +101,10 @@ Support for redirection is available in the PHP [mysqlnd_azure](https://github.c ## Frequently asked questions ### What you need to know about this planned maintenance? -This is a DNS change only which makes it transparent to clients. While the IP address for FQDN is changed in the DNS server, the local DNS cache will be refreshed within 5 minutes, and it is automatically done by the operating systems. After the local DNS refresh, all the new connections will connect to the new IP address, all existing connections will remain connected to the old IP address with no interruption until the old IP addresses are fully decommissioned. The old IP address will roughly take three to four weeks before getting decommissioned; therefore, it should have no effect on the client applications. +This is a DNS change only, which makes it transparent to clients. While the IP address for FQDN is changed in the DNS server, the local DNS cache will be refreshed within 5 minutes, and it's automatically done by the operating systems. After the local DNS refresh, all the new connections will connect to the new IP address, all existing connections will remain connected to the old IP address with no interruption until the old IP addresses are fully decommissioned. The old IP address will roughly take three to four weeks before getting decommissioned; therefore, it should have no effect on the client applications. ### What are we decommissioning? -Only Gateway nodes will be decommissioned. When users connect to their servers, the first stop of the connection is to gateway node, before connection is forwarded to server. We are decommissioning old gateway rings (not tenant rings where the server is running) refer to the [connectivity architecture](#connectivity-architecture) for more clarification. +Only Gateway nodes will be decommissioned. When users connect to their servers, the first stop of the connection is to gateway node, before connection is forwarded to server. We're decommissioning old gateway rings (not tenant rings where the server is running) refer to the [connectivity architecture](#connectivity-architecture) for more clarification. ### How can you validate if your connections are going to old gateway nodes or new gateway nodes? Ping your server's FQDN, for example ``ping xxx.mysql.database.azure.com``. If the returned IP address is one of the IPs listed under Gateway IP addresses (decommissioning) in the document above, it means your connection is going through the old gateway. Contrarily, if the returned Ip address is one of the IPs listed under Gateway IP addresses, it means your connection is going through the new gateway. @@ -111,19 +112,19 @@ Ping your server's FQDN, for example ``ping xxx.mysql.database.azure.com``. If You may also test by [PSPing](/sysinternals/downloads/psping) or TCPPing the database server from your client application with port 3306 and ensure that return IP address isn't one of the decommissioning IP addresses ### How do I know when the maintenance is over and will I get another notification when old IP addresses are decommissioned? -You will receive an email to inform you when we will start the maintenance work. The maintenance can take up to one month depending on the number of servers we need to migrate in al regions. Please prepare your client to connect to the database server using the FQDN or using the new IP address from the table above. +You'll receive an email to inform you when we'll start the maintenance work. The maintenance can take up to one month depending on the number of servers we need to migrate in al regions. Prepare your client to connect to the database server using the FQDN or using the new IP address from the table above. -### What do I do if my client applications are still connecting to old gateway server ? +### What do I do if my client applications are still connecting to old gateway server? This indicates that your applications connect to server using static IP address instead of FQDN. Review connection strings and connection pooling setting, AKS setting, or even in the source code. ### Is there any impact for my application connections? -This maintenance is just a DNS change, so it is transparent to the client. Once the DNS cache is refreshed in the client (automatically done by operation system), all the new connection will connect to the new IP address and all the existing connection will still working fine until the old IP address fully get decommissioned, which usually several weeks later. And the retry logic is not required for this case, but it is good to see the application have retry logic configured. Please either use FQDN to connect to the database server or enable list the new 'Gateway IP addresses' in your application connection string. -This maintenance operation will not drop the existing connections. It only makes the new connection requests go to new gateway ring. +This maintenance is just a DNS change, so it's transparent to the client. Once the DNS cache is refreshed in the client (automatically done by operation system), all the new connection will connect to the new IP address and all the existing connection will still working fine until the old IP address fully get decommissioned, which several weeks later. And the retry logic isn't required for this case, but it's good to see the application have retry logic configured. Either use FQDN to connect to the database server or enable list the new 'Gateway IP addresses' in your application connection string. +This maintenance operation won't drop the existing connections. It only makes the new connection requests go to new gateway ring. ### Can I request for a specific time window for the maintenance? -As the migration should be transparent and no impact to customer's connectivity, we expect there will be no issue for majority of users. Review your application proactively and ensure that you either use FQDN to connect to the database server or enable list the new 'Gateway IP addresses' in your application connection string. +As the migration should be transparent and no impact to customer's connectivity, we expect there will be no issue for Most users. Review your application proactively and ensure that you either use FQDN to connect to the database server or enable list the new 'Gateway IP addresses' in your application connection string. -### I am using private link, will my connections get affected? +### I'm using private link, will my connections get affected? No, this is a gateway hardware decommission and have no relation to private link or private IP addresses, it will only affect public IP addresses mentioned under the decommissioning IP addresses. diff --git a/articles/mysql/concepts-connectivity.md b/articles/mysql/concepts-connectivity.md index 25e0bfabc28d..c8e6ffd28917 100644 --- a/articles/mysql/concepts-connectivity.md +++ b/articles/mysql/concepts-connectivity.md @@ -5,6 +5,7 @@ keywords: mysql connection,connection string,connectivity issues,transient error author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 3/18/2020 --- diff --git a/articles/mysql/concepts-data-access-and-security-vnet.md b/articles/mysql/concepts-data-access-and-security-vnet.md index 5a2168ef2479..60cd60cb3726 100644 --- a/articles/mysql/concepts-data-access-and-security-vnet.md +++ b/articles/mysql/concepts-data-access-and-security-vnet.md @@ -4,6 +4,7 @@ description: 'Describes how VNet service endpoints work for your Azure Database author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 7/17/2020 --- diff --git a/articles/mysql/concepts-data-access-security-private-link.md b/articles/mysql/concepts-data-access-security-private-link.md index c2d1794bcc81..e5063cc35cdd 100644 --- a/articles/mysql/concepts-data-access-security-private-link.md +++ b/articles/mysql/concepts-data-access-security-private-link.md @@ -4,6 +4,7 @@ description: Learn how Private link works for Azure Database for MySQL. author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 03/10/2020 --- diff --git a/articles/mysql/concepts-data-encryption-mysql.md b/articles/mysql/concepts-data-encryption-mysql.md index bca9ff136043..9aa616200839 100644 --- a/articles/mysql/concepts-data-encryption-mysql.md +++ b/articles/mysql/concepts-data-encryption-mysql.md @@ -4,6 +4,7 @@ description: Azure Database for MySQL data encryption with a customer-managed ke author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 01/13/2020 --- diff --git a/articles/mysql/concepts-data-in-replication.md b/articles/mysql/concepts-data-in-replication.md index 7900e4834675..01b672672606 100644 --- a/articles/mysql/concepts-data-in-replication.md +++ b/articles/mysql/concepts-data-in-replication.md @@ -4,6 +4,7 @@ description: Learn about using Data-in Replication to synchronize from an extern author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 04/08/2021 --- diff --git a/articles/mysql/concepts-database-application-development.md b/articles/mysql/concepts-database-application-development.md index d888ecb7d9e7..55e8d0a7bb58 100644 --- a/articles/mysql/concepts-database-application-development.md +++ b/articles/mysql/concepts-database-application-development.md @@ -4,6 +4,7 @@ description: Introduces design considerations that a developer should follow whe author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 3/18/2020 --- diff --git a/articles/mysql/concepts-firewall-rules.md b/articles/mysql/concepts-firewall-rules.md index 478a9713d5d5..b9e6262ceda1 100644 --- a/articles/mysql/concepts-firewall-rules.md +++ b/articles/mysql/concepts-firewall-rules.md @@ -4,6 +4,7 @@ description: Learn about using firewall rules to enable connections to your Azur author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 07/17/2020 --- diff --git a/articles/mysql/concepts-high-availability.md b/articles/mysql/concepts-high-availability.md index 11ab92e05a13..473be5e8883f 100644 --- a/articles/mysql/concepts-high-availability.md +++ b/articles/mysql/concepts-high-availability.md @@ -4,6 +4,7 @@ description: This article provides information on high availability in Azure Dat author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 7/7/2020 --- diff --git a/articles/mysql/concepts-infrastructure-double-encryption.md b/articles/mysql/concepts-infrastructure-double-encryption.md index f1f47b82a6d9..960c15a5fe3f 100644 --- a/articles/mysql/concepts-infrastructure-double-encryption.md +++ b/articles/mysql/concepts-infrastructure-double-encryption.md @@ -4,6 +4,7 @@ description: Learn about using Infrastructure double encryption to add a second author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 6/30/2020 --- diff --git a/articles/mysql/concepts-limits.md b/articles/mysql/concepts-limits.md index 0ec0f759e931..4d4ee9f947ce 100644 --- a/articles/mysql/concepts-limits.md +++ b/articles/mysql/concepts-limits.md @@ -4,6 +4,7 @@ description: This article describes limitations in Azure Database for MySQL, suc author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 10/1/2020 --- diff --git a/articles/mysql/concepts-migrate-dbforge-studio-for-mysql.md b/articles/mysql/concepts-migrate-dbforge-studio-for-mysql.md index d7007446df14..2ca957861bfb 100644 --- a/articles/mysql/concepts-migrate-dbforge-studio-for-mysql.md +++ b/articles/mysql/concepts-migrate-dbforge-studio-for-mysql.md @@ -4,6 +4,7 @@ description: The article demonstrates how to migrate to Azure Database for MySQL author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 03/03/2021 --- diff --git a/articles/mysql/concepts-migrate-dump-restore.md b/articles/mysql/concepts-migrate-dump-restore.md index e4331fae1b7b..37369654b0ad 100644 --- a/articles/mysql/concepts-migrate-dump-restore.md +++ b/articles/mysql/concepts-migrate-dump-restore.md @@ -4,6 +4,7 @@ description: This article explains two common ways to back up and restore databa author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 10/30/2020 --- diff --git a/articles/mysql/concepts-migrate-mydumper-myloader.md b/articles/mysql/concepts-migrate-mydumper-myloader.md index 45426af89166..07e047894f8c 100644 --- a/articles/mysql/concepts-migrate-mydumper-myloader.md +++ b/articles/mysql/concepts-migrate-mydumper-myloader.md @@ -4,6 +4,7 @@ description: This article explains two common ways to back up and restore databa author: SudheeshGH ms.author: sunaray ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 06/18/2021 --- diff --git a/articles/mysql/concepts-monitoring.md b/articles/mysql/concepts-monitoring.md index af7e4021772d..412604bdaaee 100644 --- a/articles/mysql/concepts-monitoring.md +++ b/articles/mysql/concepts-monitoring.md @@ -4,6 +4,7 @@ description: This article describes the metrics for monitoring and alerting for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.custom: references_regions ms.date: 10/21/2020 diff --git a/articles/mysql/concepts-performance-recommendations.md b/articles/mysql/concepts-performance-recommendations.md index 5fc50d62512a..959685c8f1dc 100644 --- a/articles/mysql/concepts-performance-recommendations.md +++ b/articles/mysql/concepts-performance-recommendations.md @@ -4,6 +4,7 @@ description: This article describes the Performance Recommendation feature in Az author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 6/3/2020 --- diff --git a/articles/mysql/concepts-planned-maintenance-notification.md b/articles/mysql/concepts-planned-maintenance-notification.md index fc699628f716..dd8d889723c4 100644 --- a/articles/mysql/concepts-planned-maintenance-notification.md +++ b/articles/mysql/concepts-planned-maintenance-notification.md @@ -4,6 +4,7 @@ description: This article describes the Planned maintenance notification feature author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 10/21/2020 --- diff --git a/articles/mysql/concepts-pricing-tiers.md b/articles/mysql/concepts-pricing-tiers.md index 8278a21a26a9..d166dbf70f2a 100644 --- a/articles/mysql/concepts-pricing-tiers.md +++ b/articles/mysql/concepts-pricing-tiers.md @@ -4,6 +4,7 @@ description: Learn about the various pricing tiers for Azure Database for MySQL author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 02/07/2022 --- diff --git a/articles/mysql/concepts-query-performance-insight.md b/articles/mysql/concepts-query-performance-insight.md index 79caa1a27da6..18196f6aa2af 100644 --- a/articles/mysql/concepts-query-performance-insight.md +++ b/articles/mysql/concepts-query-performance-insight.md @@ -4,6 +4,7 @@ description: This article describes the Query Performance Insight feature in Azu author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 01/12/2022 --- diff --git a/articles/mysql/concepts-query-store.md b/articles/mysql/concepts-query-store.md index 0859b6123ca5..559f5a030f72 100644 --- a/articles/mysql/concepts-query-store.md +++ b/articles/mysql/concepts-query-store.md @@ -4,6 +4,7 @@ description: Learn about the Query Store feature in Azure Database for MySQL to author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 5/12/2020 --- diff --git a/articles/mysql/concepts-read-replicas.md b/articles/mysql/concepts-read-replicas.md index 43deb57585b7..8bf8423e34f1 100644 --- a/articles/mysql/concepts-read-replicas.md +++ b/articles/mysql/concepts-read-replicas.md @@ -4,6 +4,7 @@ description: 'Learn about read replicas in Azure Database for MySQL: choosing re author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 06/17/2021 ms.custom: references_regions diff --git a/articles/mysql/concepts-security.md b/articles/mysql/concepts-security.md index 80e737245b45..558643075ecc 100644 --- a/articles/mysql/concepts-security.md +++ b/articles/mysql/concepts-security.md @@ -4,6 +4,7 @@ description: An overview of the security features in Azure Database for MySQL. author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 3/18/2020 --- diff --git a/articles/mysql/concepts-server-logs.md b/articles/mysql/concepts-server-logs.md index c612105bf5d9..0ff4ac3bc8ad 100644 --- a/articles/mysql/concepts-server-logs.md +++ b/articles/mysql/concepts-server-logs.md @@ -4,6 +4,7 @@ description: Describes the slow query logs available in Azure Database for MySQL author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 11/6/2020 --- diff --git a/articles/mysql/concepts-server-parameters.md b/articles/mysql/concepts-server-parameters.md index 4bfeb825fd8e..5e62ee5df766 100644 --- a/articles/mysql/concepts-server-parameters.md +++ b/articles/mysql/concepts-server-parameters.md @@ -4,6 +4,7 @@ description: This topic provides guidelines for configuring server parameters in author: Bashar-MSFT ms.author: bahusse ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 1/26/2021 --- diff --git a/articles/mysql/concepts-servers.md b/articles/mysql/concepts-servers.md index e9cd56449fd6..bcbb35106bea 100644 --- a/articles/mysql/concepts-servers.md +++ b/articles/mysql/concepts-servers.md @@ -4,6 +4,7 @@ description: This topic provides considerations and guidelines for working with author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 3/18/2020 --- diff --git a/articles/mysql/concepts-ssl-connection-security.md b/articles/mysql/concepts-ssl-connection-security.md index 2a3ec6476a6c..de884d6aed2c 100644 --- a/articles/mysql/concepts-ssl-connection-security.md +++ b/articles/mysql/concepts-ssl-connection-security.md @@ -4,6 +4,7 @@ description: Information for configuring Azure Database for MySQL and associated author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 07/09/2020 --- diff --git a/articles/mysql/concepts-supported-versions.md b/articles/mysql/concepts-supported-versions.md index c0093c644643..a2c02eac2819 100644 --- a/articles/mysql/concepts-supported-versions.md +++ b/articles/mysql/concepts-supported-versions.md @@ -4,6 +4,7 @@ description: Learn which versions of the MySQL server are supported in the Azure author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.custom: ms.date: 11/4/2021 diff --git a/articles/mysql/concepts-version-policy.md b/articles/mysql/concepts-version-policy.md index 45b16a7acad1..d6da4db77062 100644 --- a/articles/mysql/concepts-version-policy.md +++ b/articles/mysql/concepts-version-policy.md @@ -4,6 +4,7 @@ description: Describes the policy around MySQL major and minor versions in Azure author: sr-msft ms.author: srranga ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.custom: fasttrack-edit ms.date: 11/03/2020 diff --git a/articles/mysql/connect-cpp.md b/articles/mysql/connect-cpp.md index ed52600ddce4..5972f3287bf6 100644 --- a/articles/mysql/connect-cpp.md +++ b/articles/mysql/connect-cpp.md @@ -4,6 +4,7 @@ description: This quickstart provides a C++ code sample you can use to connect a author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: mvc, mode-api ms.devlang: cpp ms.topic: quickstart diff --git a/articles/mysql/connect-csharp.md b/articles/mysql/connect-csharp.md index f0dbfe765784..63cf33745888 100644 --- a/articles/mysql/connect-csharp.md +++ b/articles/mysql/connect-csharp.md @@ -4,6 +4,7 @@ description: "This quickstart provides a C# (.NET) code sample you can use to co author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: mvc, devx-track-csharp, mode-other ms.devlang: csharp ms.topic: quickstart diff --git a/articles/mysql/connect-go.md b/articles/mysql/connect-go.md index d3df2f159314..54eb17dbd553 100644 --- a/articles/mysql/connect-go.md +++ b/articles/mysql/connect-go.md @@ -4,6 +4,7 @@ description: This quickstart provides several Go code samples you can use to con author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: mvc, mode-api ms.devlang: golang ms.topic: quickstart diff --git a/articles/mysql/connect-java.md b/articles/mysql/connect-java.md index 01523b71575d..90b67c7b66ad 100644 --- a/articles/mysql/connect-java.md +++ b/articles/mysql/connect-java.md @@ -4,6 +4,7 @@ description: Learn how to use Java and JDBC with an Azure Database for MySQL dat author: jdubois ms.author: judubois ms.service: mysql +ms.subservice: single-server ms.custom: mvc, devcenter, devx-track-azurecli, mode-api ms.topic: quickstart ms.devlang: java diff --git a/articles/mysql/connect-nodejs.md b/articles/mysql/connect-nodejs.md index e32c1acdb052..316310242aa5 100644 --- a/articles/mysql/connect-nodejs.md +++ b/articles/mysql/connect-nodejs.md @@ -4,6 +4,7 @@ description: This quickstart provides several Node.js code samples you can use t author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: mvc, seo-javascript-september2019, seo-javascript-october2019, devx-track-js, mode-api ms.devlang: javascript ms.topic: quickstart diff --git a/articles/mysql/connect-php.md b/articles/mysql/connect-php.md index 455cbad91e03..26952abb0d73 100644 --- a/articles/mysql/connect-php.md +++ b/articles/mysql/connect-php.md @@ -4,6 +4,7 @@ description: This quickstart provides several PHP code samples you can use to co author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: mvc, mode-other ms.topic: quickstart ms.date: 10/28/2020 diff --git a/articles/mysql/connect-python.md b/articles/mysql/connect-python.md index d91a018715ce..1aad427b0d1b 100644 --- a/articles/mysql/connect-python.md +++ b/articles/mysql/connect-python.md @@ -4,6 +4,7 @@ description: This quickstart provides several Python code samples you can use to author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: mvc, seo-python-october2019, devx-track-python, mode-api ms.devlang: python ms.topic: quickstart diff --git a/articles/mysql/connect-ruby.md b/articles/mysql/connect-ruby.md index e2df90e1b085..1058209eafda 100644 --- a/articles/mysql/connect-ruby.md +++ b/articles/mysql/connect-ruby.md @@ -4,6 +4,7 @@ description: This quickstart provides several Ruby code samples you can use to c author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: ruby ms.topic: quickstart ms.custom: mvc, mode-other diff --git a/articles/mysql/connect-workbench.md b/articles/mysql/connect-workbench.md index 58d3be091e6b..bdbd6d7b8a6c 100644 --- a/articles/mysql/connect-workbench.md +++ b/articles/mysql/connect-workbench.md @@ -4,6 +4,7 @@ description: This Quickstart provides the steps to use MySQL Workbench to connec author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: mvc, mode-other ms.topic: quickstart ms.date: 5/26/2020 diff --git a/articles/mysql/flexible-server/azure-pipelines-deploy-database-task.md b/articles/mysql/flexible-server/azure-pipelines-deploy-database-task.md index 7aa4d27e8da9..9c1eebfbeb1d 100644 --- a/articles/mysql/flexible-server/azure-pipelines-deploy-database-task.md +++ b/articles/mysql/flexible-server/azure-pipelines-deploy-database-task.md @@ -3,10 +3,11 @@ title: Azure Pipelines task for Azure Database for MySQL Flexible Server description: Enable Azure Database for MySQL Flexible Server CLI task for using with Azure Pipelines ms.topic: how-to ms.service: mysql +ms.subservice: flexible-server ms.custom: seodec18, devx-track-azurecli ms.author: sumuth author: mksuni -ms.date: 08/09/2021 +ms.date: 08/09/2021 --- # Azure Pipelines for Azure Database for MySQL Flexible Server diff --git a/articles/mysql/flexible-server/concept-servers.md b/articles/mysql/flexible-server/concept-servers.md index 229f6f72815c..98c85d561148 100644 --- a/articles/mysql/flexible-server/concept-servers.md +++ b/articles/mysql/flexible-server/concept-servers.md @@ -4,6 +4,7 @@ description: This topic provides considerations and guidelines for working with author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 09/21/2020 --- diff --git a/articles/mysql/flexible-server/concepts-audit-logs.md b/articles/mysql/flexible-server/concepts-audit-logs.md index 6a7c1bef0de9..8d88d5c08a2d 100644 --- a/articles/mysql/flexible-server/concepts-audit-logs.md +++ b/articles/mysql/flexible-server/concepts-audit-logs.md @@ -4,6 +4,7 @@ description: Describes the audit logs available in Azure Database for MySQL Flex author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/concepts-backup-restore.md b/articles/mysql/flexible-server/concepts-backup-restore.md index c35063cc10f5..73bf5fe37ae5 100644 --- a/articles/mysql/flexible-server/concepts-backup-restore.md +++ b/articles/mysql/flexible-server/concepts-backup-restore.md @@ -4,6 +4,7 @@ description: Learn about the concepts of backup and restore with Azure Database author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 09/21/2020 --- diff --git a/articles/mysql/flexible-server/concepts-business-continuity.md b/articles/mysql/flexible-server/concepts-business-continuity.md index 77f834d8d411..4a4a43b13f31 100644 --- a/articles/mysql/flexible-server/concepts-business-continuity.md +++ b/articles/mysql/flexible-server/concepts-business-continuity.md @@ -4,6 +4,7 @@ description: Learn about the concepts of business continuity with Azure Database author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 09/21/2020 --- diff --git a/articles/mysql/flexible-server/concepts-compute-storage.md b/articles/mysql/flexible-server/concepts-compute-storage.md index 8ff1b45936d3..ff52ec82efa4 100644 --- a/articles/mysql/flexible-server/concepts-compute-storage.md +++ b/articles/mysql/flexible-server/concepts-compute-storage.md @@ -4,6 +4,7 @@ description: This article describes the compute and storage options in Azure Dat author: Bashar-MSFT ms.author: bahusse ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 1/28/2021 --- diff --git a/articles/mysql/flexible-server/concepts-data-in-replication.md b/articles/mysql/flexible-server/concepts-data-in-replication.md index 5b0fe87c2198..b97981dd88f3 100644 --- a/articles/mysql/flexible-server/concepts-data-in-replication.md +++ b/articles/mysql/flexible-server/concepts-data-in-replication.md @@ -4,6 +4,7 @@ description: Learn about using Data-in replication to synchronize from an extern author: SudheeshGH ms.author: sunaray ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 06/08/2021 --- diff --git a/articles/mysql/flexible-server/concepts-high-availability.md b/articles/mysql/flexible-server/concepts-high-availability.md index a9918b154a4a..f9f86feed49f 100644 --- a/articles/mysql/flexible-server/concepts-high-availability.md +++ b/articles/mysql/flexible-server/concepts-high-availability.md @@ -4,6 +4,7 @@ description: Get a conceptual overview of zone-redundant high availability in Az author: SudheeshGH ms.author: sunaray ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 08/26/2021 --- diff --git a/articles/mysql/flexible-server/concepts-limitations.md b/articles/mysql/flexible-server/concepts-limitations.md index 5722bf665cf3..71a32e749e56 100644 --- a/articles/mysql/flexible-server/concepts-limitations.md +++ b/articles/mysql/flexible-server/concepts-limitations.md @@ -4,6 +4,7 @@ description: This article describes Limitations in Azure Database for MySQL - Fl author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 10/1/2020 --- diff --git a/articles/mysql/flexible-server/concepts-maintenance.md b/articles/mysql/flexible-server/concepts-maintenance.md index caee3f8880ba..2ace6c6c4f7b 100644 --- a/articles/mysql/flexible-server/concepts-maintenance.md +++ b/articles/mysql/flexible-server/concepts-maintenance.md @@ -4,6 +4,7 @@ description: This article describes the scheduled maintenance feature in Azure D author: niklarin ms.author: nlarin ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 09/21/2020 --- diff --git a/articles/mysql/flexible-server/concepts-monitoring.md b/articles/mysql/flexible-server/concepts-monitoring.md index 374e516a2cc4..0e2f650fc2a0 100644 --- a/articles/mysql/flexible-server/concepts-monitoring.md +++ b/articles/mysql/flexible-server/concepts-monitoring.md @@ -4,6 +4,7 @@ description: This article describes the metrics for monitoring and alerting for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/concepts-networking-public.md b/articles/mysql/flexible-server/concepts-networking-public.md index c67cc155d687..523e509b5802 100644 --- a/articles/mysql/flexible-server/concepts-networking-public.md +++ b/articles/mysql/flexible-server/concepts-networking-public.md @@ -4,6 +4,7 @@ description: Learn about public access networking option in the Flexible Server author: Madhusoodanan ms.author: dimadhus ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 8/6/2021 --- diff --git a/articles/mysql/flexible-server/concepts-networking-vnet.md b/articles/mysql/flexible-server/concepts-networking-vnet.md index 0177446ddf26..a40be0db6641 100644 --- a/articles/mysql/flexible-server/concepts-networking-vnet.md +++ b/articles/mysql/flexible-server/concepts-networking-vnet.md @@ -4,6 +4,7 @@ description: Learn about private access networking option in the Flexible Server author: Madhusoodanan ms.author: dimadhus ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 8/6/2021 --- diff --git a/articles/mysql/flexible-server/concepts-networking.md b/articles/mysql/flexible-server/concepts-networking.md index aa5795a34b29..624bffaec7b9 100644 --- a/articles/mysql/flexible-server/concepts-networking.md +++ b/articles/mysql/flexible-server/concepts-networking.md @@ -4,6 +4,7 @@ description: Learn about connectivity and networking options in the Flexible Ser author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 9/23/2020 --- diff --git a/articles/mysql/flexible-server/concepts-read-replicas.md b/articles/mysql/flexible-server/concepts-read-replicas.md index 9dcd0edfb57e..8321bbcea054 100644 --- a/articles/mysql/flexible-server/concepts-read-replicas.md +++ b/articles/mysql/flexible-server/concepts-read-replicas.md @@ -4,6 +4,7 @@ description: 'Learn about read replicas in Azure Database for MySQL Flexible Ser author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 06/17/2021 --- diff --git a/articles/mysql/flexible-server/concepts-server-parameters.md b/articles/mysql/flexible-server/concepts-server-parameters.md index 8a3aa94e7b8d..7c85c2410f70 100644 --- a/articles/mysql/flexible-server/concepts-server-parameters.md +++ b/articles/mysql/flexible-server/concepts-server-parameters.md @@ -4,6 +4,7 @@ description: This topic provides guidelines for configuring server parameters in author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 11/10/2020 --- diff --git a/articles/mysql/flexible-server/concepts-slow-query-logs.md b/articles/mysql/flexible-server/concepts-slow-query-logs.md index 4503b9543f8a..fe8e8b29e000 100644 --- a/articles/mysql/flexible-server/concepts-slow-query-logs.md +++ b/articles/mysql/flexible-server/concepts-slow-query-logs.md @@ -4,6 +4,7 @@ description: Describes the slow query logs available in Azure Database for MySQL author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/concepts-supported-versions.md b/articles/mysql/flexible-server/concepts-supported-versions.md index 7e2f3c65ce01..6569d6542e00 100644 --- a/articles/mysql/flexible-server/concepts-supported-versions.md +++ b/articles/mysql/flexible-server/concepts-supported-versions.md @@ -4,6 +4,7 @@ description: Learn which versions of the MySQL server are supported in the Azure author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 09/21/2020 --- diff --git a/articles/mysql/flexible-server/concepts-workbooks.md b/articles/mysql/flexible-server/concepts-workbooks.md index 97dfe741c6af..a221e0a270e3 100644 --- a/articles/mysql/flexible-server/concepts-workbooks.md +++ b/articles/mysql/flexible-server/concepts-workbooks.md @@ -4,6 +4,7 @@ description: This article describes how you can monitor Azure Database for MySQL author: SudheeshGH ms.author: sunaray ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 10/01/2021 --- diff --git a/articles/mysql/flexible-server/connect-azure-cli.md b/articles/mysql/flexible-server/connect-azure-cli.md index b9fe34a6397a..f27d2785a8e2 100644 --- a/articles/mysql/flexible-server/connect-azure-cli.md +++ b/articles/mysql/flexible-server/connect-azure-cli.md @@ -4,6 +4,7 @@ description: This quickstart provides several ways to connect with Azure CLI wit author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.custom: mvc, devx-track-azurecli, mode-api ms.topic: quickstart ms.date: 03/01/2021 diff --git a/articles/mysql/flexible-server/connect-csharp.md b/articles/mysql/flexible-server/connect-csharp.md index 1eeccf35f6d0..f09bc8deebd9 100644 --- a/articles/mysql/flexible-server/connect-csharp.md +++ b/articles/mysql/flexible-server/connect-csharp.md @@ -4,6 +4,7 @@ description: "This quickstart provides a C# (.NET) code sample you can use to co author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.custom: mvc, devx-track-csharp, mode-other ms.devlang: csharp ms.topic: quickstart diff --git a/articles/mysql/flexible-server/connect-java.md b/articles/mysql/flexible-server/connect-java.md index f985267844e0..e9a8a0aab82e 100644 --- a/articles/mysql/flexible-server/connect-java.md +++ b/articles/mysql/flexible-server/connect-java.md @@ -4,6 +4,7 @@ description: Learn how to use Java and JDBC with an Azure Database for MySQL Fle author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.custom: mvc, devcenter, devx-track-azurecli, mode-api ms.topic: quickstart ms.devlang: java diff --git a/articles/mysql/flexible-server/connect-nodejs.md b/articles/mysql/flexible-server/connect-nodejs.md index 85d862dedb2a..c2dd7e60d467 100644 --- a/articles/mysql/flexible-server/connect-nodejs.md +++ b/articles/mysql/flexible-server/connect-nodejs.md @@ -4,6 +4,7 @@ description: This quickstart provides several Node.js code samples you can use t author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.custom: mvc, seo-javascript-september2019, seo-javascript-october2019, devx-track-js, mode-api ms.devlang: javascript ms.topic: quickstart diff --git a/articles/mysql/flexible-server/connect-php.md b/articles/mysql/flexible-server/connect-php.md index dc602852a99b..834c9ea68b58 100644 --- a/articles/mysql/flexible-server/connect-php.md +++ b/articles/mysql/flexible-server/connect-php.md @@ -4,6 +4,7 @@ description: This quickstart provides several PHP code samples you can use to co author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.custom: mvc, mode-other ms.topic: quickstart ms.date: 9/21/2020 diff --git a/articles/mysql/flexible-server/connect-python.md b/articles/mysql/flexible-server/connect-python.md index a383f253e29f..8562b28d9c26 100644 --- a/articles/mysql/flexible-server/connect-python.md +++ b/articles/mysql/flexible-server/connect-python.md @@ -4,6 +4,7 @@ description: This quickstart provides several Python code samples you can use to author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.custom: mvc, mode-api ms.devlang: python ms.topic: quickstart diff --git a/articles/mysql/flexible-server/connect-workbench.md b/articles/mysql/flexible-server/connect-workbench.md index 3f9b563c5e88..b26633419f72 100644 --- a/articles/mysql/flexible-server/connect-workbench.md +++ b/articles/mysql/flexible-server/connect-workbench.md @@ -4,6 +4,7 @@ description: This Quickstart provides the steps to use MySQL Workbench to connec author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.custom: mvc, mode-other ms.topic: quickstart ms.date: 9/21/2020 diff --git a/articles/mysql/flexible-server/how-to-alert-on-metric.md b/articles/mysql/flexible-server/how-to-alert-on-metric.md index ccc2ae5d79b0..0a4325c3085e 100644 --- a/articles/mysql/flexible-server/how-to-alert-on-metric.md +++ b/articles/mysql/flexible-server/how-to-alert-on-metric.md @@ -4,6 +4,7 @@ description: This article describes how to configure and access metric alerts fo author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 05/06/2022 ms.custom: kr2b-contr-experiment diff --git a/articles/mysql/flexible-server/how-to-configure-high-availability-cli.md b/articles/mysql/flexible-server/how-to-configure-high-availability-cli.md index a2d7cf473b1d..c19a9e40b6fd 100644 --- a/articles/mysql/flexible-server/how-to-configure-high-availability-cli.md +++ b/articles/mysql/flexible-server/how-to-configure-high-availability-cli.md @@ -4,6 +4,7 @@ description: This article describes how to configure zone redundant high availab author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 04/1/2021 ms.custom: references_regions, devx-track-azurecli diff --git a/articles/mysql/flexible-server/how-to-configure-high-availability.md b/articles/mysql/flexible-server/how-to-configure-high-availability.md index 74ad67b38f68..ddd0eccd97ca 100644 --- a/articles/mysql/flexible-server/how-to-configure-high-availability.md +++ b/articles/mysql/flexible-server/how-to-configure-high-availability.md @@ -4,6 +4,7 @@ description: This article describes how to enable or disable zone redundant high author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 09/21/2020 ms.custom: references_regions diff --git a/articles/mysql/flexible-server/how-to-configure-server-parameters-cli.md b/articles/mysql/flexible-server/how-to-configure-server-parameters-cli.md index a42eff9977e2..0358deef0c45 100644 --- a/articles/mysql/flexible-server/how-to-configure-server-parameters-cli.md +++ b/articles/mysql/flexible-server/how-to-configure-server-parameters-cli.md @@ -4,6 +4,7 @@ description: This article describes how to configure the service parameters in A author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: how-to ms.date: 11/10/2020 diff --git a/articles/mysql/flexible-server/how-to-configure-server-parameters-portal.md b/articles/mysql/flexible-server/how-to-configure-server-parameters-portal.md index 3dd533ef384f..821a71056a4c 100644 --- a/articles/mysql/flexible-server/how-to-configure-server-parameters-portal.md +++ b/articles/mysql/flexible-server/how-to-configure-server-parameters-portal.md @@ -4,6 +4,7 @@ description: This article describes how to configure MySQL server parameters in author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 11/10/2020 --- diff --git a/articles/mysql/flexible-server/how-to-connect-tls-ssl.md b/articles/mysql/flexible-server/how-to-connect-tls-ssl.md index a12ce700e81c..97def7b9c58b 100644 --- a/articles/mysql/flexible-server/how-to-connect-tls-ssl.md +++ b/articles/mysql/flexible-server/how-to-connect-tls-ssl.md @@ -4,6 +4,7 @@ description: Instructions and information on how to connect using TLS/SSL in Azu author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: conceptual ms.date: 09/21/2020 ms.devlang: csharp, golang, java, javascript, php, python, ruby diff --git a/articles/mysql/flexible-server/how-to-create-manage-databases.md b/articles/mysql/flexible-server/how-to-create-manage-databases.md index 7973d4f200a2..d9a8ec436e92 100644 --- a/articles/mysql/flexible-server/how-to-create-manage-databases.md +++ b/articles/mysql/flexible-server/how-to-create-manage-databases.md @@ -4,6 +4,7 @@ description: This article describes how to create and manage databases on Azure author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 02/17/2022 --- diff --git a/articles/mysql/flexible-server/how-to-data-in-replication.md b/articles/mysql/flexible-server/how-to-data-in-replication.md index e0e280b0d5a0..a672ac094fc9 100644 --- a/articles/mysql/flexible-server/how-to-data-in-replication.md +++ b/articles/mysql/flexible-server/how-to-data-in-replication.md @@ -4,6 +4,7 @@ description: This article describes how to set up Data-in replication for Azure author: SudheeshGH ms.author: sunaray ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 06/08/2021 --- diff --git a/articles/mysql/flexible-server/how-to-deploy-on-azure-free-account.md b/articles/mysql/flexible-server/how-to-deploy-on-azure-free-account.md index 67b3c831eee3..e2eb3538d939 100644 --- a/articles/mysql/flexible-server/how-to-deploy-on-azure-free-account.md +++ b/articles/mysql/flexible-server/how-to-deploy-on-azure-free-account.md @@ -3,7 +3,8 @@ title: Use an Azure free account to try Azure Database for MySQL - Flexible Serv description: Guidance on how to deploy an Azure Database for MySQL - Flexible Server for free using an Azure Free Account. author: shreyaaithal ms.author: shaithal -ms.service: mysql +ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 08/16/2021 ms.custom: template-how-to diff --git a/articles/mysql/flexible-server/how-to-maintenance-portal.md b/articles/mysql/flexible-server/how-to-maintenance-portal.md index 8fb308a7650f..7be535a1ced2 100644 --- a/articles/mysql/flexible-server/how-to-maintenance-portal.md +++ b/articles/mysql/flexible-server/how-to-maintenance-portal.md @@ -4,6 +4,7 @@ description: Learn how to configure scheduled maintenance settings for an Azure author: niklarin ms.author: nlarin ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/how-to-manage-firewall-cli.md b/articles/mysql/flexible-server/how-to-manage-firewall-cli.md index 2840fa1eab20..7748b50ebfb1 100644 --- a/articles/mysql/flexible-server/how-to-manage-firewall-cli.md +++ b/articles/mysql/flexible-server/how-to-manage-firewall-cli.md @@ -4,6 +4,7 @@ description: Create and manage firewall rules for Azure Database for MySQL - Fle author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: how-to ms.custom: devx-track-azurecli diff --git a/articles/mysql/flexible-server/how-to-manage-firewall-portal.md b/articles/mysql/flexible-server/how-to-manage-firewall-portal.md index 60b0a52d210b..2f4da07788cd 100644 --- a/articles/mysql/flexible-server/how-to-manage-firewall-portal.md +++ b/articles/mysql/flexible-server/how-to-manage-firewall-portal.md @@ -4,6 +4,7 @@ description: Create and manage firewall rules for Azure Database for MySQL - Fle author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/how-to-manage-server-cli.md b/articles/mysql/flexible-server/how-to-manage-server-cli.md index 000938c2b355..16f034186f72 100644 --- a/articles/mysql/flexible-server/how-to-manage-server-cli.md +++ b/articles/mysql/flexible-server/how-to-manage-server-cli.md @@ -4,6 +4,7 @@ description: Learn how to manage an Azure Database for MySQL Flexible server fro author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/how-to-manage-server-portal.md b/articles/mysql/flexible-server/how-to-manage-server-portal.md index b4cc3ab2727f..cdb108dfbe8c 100644 --- a/articles/mysql/flexible-server/how-to-manage-server-portal.md +++ b/articles/mysql/flexible-server/how-to-manage-server-portal.md @@ -4,6 +4,7 @@ description: Learn how to manage an Azure Database for MySQL Flexible server fro author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/how-to-manage-virtual-network-cli.md b/articles/mysql/flexible-server/how-to-manage-virtual-network-cli.md index 86322810ae50..c4002abd69a8 100644 --- a/articles/mysql/flexible-server/how-to-manage-virtual-network-cli.md +++ b/articles/mysql/flexible-server/how-to-manage-virtual-network-cli.md @@ -4,6 +4,7 @@ description: Create and manage virtual networks for Azure Database for MySQL - F author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/how-to-manage-virtual-network-portal.md b/articles/mysql/flexible-server/how-to-manage-virtual-network-portal.md index 4d8de906f882..3a8e91ede603 100644 --- a/articles/mysql/flexible-server/how-to-manage-virtual-network-portal.md +++ b/articles/mysql/flexible-server/how-to-manage-virtual-network-portal.md @@ -4,6 +4,7 @@ description: Create and manage virtual networks for Azure Database for MySQL - F author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/how-to-move-regions.md b/articles/mysql/flexible-server/how-to-move-regions.md index eb3a627dc0bf..2b4bbac13240 100644 --- a/articles/mysql/flexible-server/how-to-move-regions.md +++ b/articles/mysql/flexible-server/how-to-move-regions.md @@ -4,6 +4,7 @@ description: Move an Azure Database for MySQL Flexible server from one Azure reg author: aditivgupta ms.author: adig ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.custom: subject-moving-resources ms.date: 04/08/2022 diff --git a/articles/mysql/flexible-server/how-to-read-replicas-cli.md b/articles/mysql/flexible-server/how-to-read-replicas-cli.md index e33b741b47e8..f029867bce9a 100644 --- a/articles/mysql/flexible-server/how-to-read-replicas-cli.md +++ b/articles/mysql/flexible-server/how-to-read-replicas-cli.md @@ -4,6 +4,7 @@ description: Learn how to set up and manage read replicas in Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 10/23/2021 ms.custom: devx-track-azurecli diff --git a/articles/mysql/flexible-server/how-to-read-replicas-portal.md b/articles/mysql/flexible-server/how-to-read-replicas-portal.md index c456b3f3bd76..52e58972d725 100644 --- a/articles/mysql/flexible-server/how-to-read-replicas-portal.md +++ b/articles/mysql/flexible-server/how-to-read-replicas-portal.md @@ -4,6 +4,7 @@ description: Learn how to set up and manage read replicas in Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 06/17/2021 --- diff --git a/articles/mysql/flexible-server/how-to-restart-server-portal.md b/articles/mysql/flexible-server/how-to-restart-server-portal.md index 45244c39d86a..1a2f787d2c2b 100644 --- a/articles/mysql/flexible-server/how-to-restart-server-portal.md +++ b/articles/mysql/flexible-server/how-to-restart-server-portal.md @@ -4,6 +4,7 @@ description: This article describes how you can restart an Azure Database for My author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 10/26/2020 --- diff --git a/articles/mysql/flexible-server/how-to-restart-stop-start-server-cli.md b/articles/mysql/flexible-server/how-to-restart-stop-start-server-cli.md index 6e4074c3a4f3..da283b769db8 100644 --- a/articles/mysql/flexible-server/how-to-restart-stop-start-server-cli.md +++ b/articles/mysql/flexible-server/how-to-restart-stop-start-server-cli.md @@ -4,6 +4,7 @@ description: This article describes how to restart/stop/start operations in Azur author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 03/30/2021 --- diff --git a/articles/mysql/flexible-server/how-to-restore-dropped-server.md b/articles/mysql/flexible-server/how-to-restore-dropped-server.md index ab549180e80f..e3a293b479f9 100644 --- a/articles/mysql/flexible-server/how-to-restore-dropped-server.md +++ b/articles/mysql/flexible-server/how-to-restore-dropped-server.md @@ -4,6 +4,7 @@ description: This article describes how to restore a deleted server in Azure Dat author: adig ms.author: adig ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 11/10/2021 --- diff --git a/articles/mysql/flexible-server/how-to-restore-server-cli.md b/articles/mysql/flexible-server/how-to-restore-server-cli.md index 33a6947a3f75..6b755982e5e7 100644 --- a/articles/mysql/flexible-server/how-to-restore-server-cli.md +++ b/articles/mysql/flexible-server/how-to-restore-server-cli.md @@ -4,6 +4,7 @@ description: This article describes how to perform restore operations in Azure D author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 04/01/2021 --- diff --git a/articles/mysql/flexible-server/how-to-restore-server-portal.md b/articles/mysql/flexible-server/how-to-restore-server-portal.md index d7f9add0e4fe..cb9ec78d41c5 100644 --- a/articles/mysql/flexible-server/how-to-restore-server-portal.md +++ b/articles/mysql/flexible-server/how-to-restore-server-portal.md @@ -4,6 +4,7 @@ description: This article describes how to perform restore operations in Azure D author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 04/01/2021 --- diff --git a/articles/mysql/flexible-server/how-to-stop-start-server-portal.md b/articles/mysql/flexible-server/how-to-stop-start-server-portal.md index d2ef75da302c..e69fa1334502 100644 --- a/articles/mysql/flexible-server/how-to-stop-start-server-portal.md +++ b/articles/mysql/flexible-server/how-to-stop-start-server-portal.md @@ -4,6 +4,7 @@ description: This article describes how to stop/start operations in Azure Databa author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: how-to ms.date: 09/29/2020 --- diff --git a/articles/mysql/flexible-server/how-to-troubleshoot-cli-errors.md b/articles/mysql/flexible-server/how-to-troubleshoot-cli-errors.md index b9ade9c5f712..ab5db5dcf093 100644 --- a/articles/mysql/flexible-server/how-to-troubleshoot-cli-errors.md +++ b/articles/mysql/flexible-server/how-to-troubleshoot-cli-errors.md @@ -4,6 +4,7 @@ description: This topic gives guidance on troubleshooting common issues with Azu author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: troubleshooting ms.date: 08/24/2021 --- diff --git a/articles/mysql/flexible-server/how-to-troubleshoot-common-connection-issues.md b/articles/mysql/flexible-server/how-to-troubleshoot-common-connection-issues.md index db1094759059..963d250afaea 100644 --- a/articles/mysql/flexible-server/how-to-troubleshoot-common-connection-issues.md +++ b/articles/mysql/flexible-server/how-to-troubleshoot-common-connection-issues.md @@ -5,6 +5,7 @@ keywords: mysql connection,connection string,connectivity issues,persistent erro author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.topic: troubleshooting ms.date: 9/21/2020 --- diff --git a/articles/mysql/flexible-server/overview.md b/articles/mysql/flexible-server/overview.md index 6a1f64b4ce17..6208dd4f2b32 100644 --- a/articles/mysql/flexible-server/overview.md +++ b/articles/mysql/flexible-server/overview.md @@ -2,6 +2,7 @@ title: Overview - Azure Database for MySQL - Flexible Server description: Learn about the Azure Database for MySQL Flexible server, a relational database service in the Microsoft cloud based on the MySQL Community Edition. ms.service: mysql +ms.subservice: flexible-server ms.topic: overview author: savjani ms.author: pariks diff --git a/articles/mysql/flexible-server/quickstart-create-arm-template.md b/articles/mysql/flexible-server/quickstart-create-arm-template.md index ecc547309f43..ed4bd8fee7dc 100644 --- a/articles/mysql/flexible-server/quickstart-create-arm-template.md +++ b/articles/mysql/flexible-server/quickstart-create-arm-template.md @@ -3,6 +3,7 @@ title: 'Quickstart: Create an Azure DB for MySQL - Flexible Server - ARM templat description: In this Quickstart, learn how to create an Azure Database for MySQL - Flexible Server using ARM template. author: mksuni ms.service: mysql +ms.subservice: flexible-server ms.topic: quickstart ms.custom: subject-armqs, devx-track-azurepowershell, mode-arm ms.author: sumuth diff --git a/articles/mysql/flexible-server/quickstart-create-connect-server-vnet.md b/articles/mysql/flexible-server/quickstart-create-connect-server-vnet.md index c3847f8de135..b39ccc1e0d93 100644 --- a/articles/mysql/flexible-server/quickstart-create-connect-server-vnet.md +++ b/articles/mysql/flexible-server/quickstart-create-connect-server-vnet.md @@ -4,6 +4,7 @@ description: This article walks you through using the Azure portal to create and author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.custom: mvc, mode-ui ms.topic: quickstart ms.date: 04/18/2021 diff --git a/articles/mysql/flexible-server/quickstart-create-server-cli.md b/articles/mysql/flexible-server/quickstart-create-server-cli.md index 7712e68bff4e..335495b20d84 100644 --- a/articles/mysql/flexible-server/quickstart-create-server-cli.md +++ b/articles/mysql/flexible-server/quickstart-create-server-cli.md @@ -4,6 +4,7 @@ description: This quickstart describes how to use the Azure CLI to create an Azu author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: quickstart ms.date: 9/21/2020 diff --git a/articles/mysql/flexible-server/quickstart-create-server-portal.md b/articles/mysql/flexible-server/quickstart-create-server-portal.md index 65e688b2c740..46859e363247 100644 --- a/articles/mysql/flexible-server/quickstart-create-server-portal.md +++ b/articles/mysql/flexible-server/quickstart-create-server-portal.md @@ -4,6 +4,7 @@ description: This article walks you through using the Azure portal to create an author: savjani ms.author: pariks ms.service: mysql +ms.subservice: flexible-server ms.custom: mvc, mode-ui ms.topic: quickstart ms.date: 10/22/2020 diff --git a/articles/mysql/flexible-server/sample-scripts-azure-cli.md b/articles/mysql/flexible-server/sample-scripts-azure-cli.md index 8488936ec32a..b1511e381536 100644 --- a/articles/mysql/flexible-server/sample-scripts-azure-cli.md +++ b/articles/mysql/flexible-server/sample-scripts-azure-cli.md @@ -4,6 +4,7 @@ description: This article lists the Azure CLI code samples available for interac author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-audit-logs.md b/articles/mysql/flexible-server/scripts/sample-cli-audit-logs.md index 08cecf7043a9..26d39574ae51 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-audit-logs.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-audit-logs.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to configure audit logs on a author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-change-server-parameters.md b/articles/mysql/flexible-server/scripts/sample-cli-change-server-parameters.md index 50b89f4fed5a..164f6acb6bc3 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-change-server-parameters.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-change-server-parameters.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to list and change server pa author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-create-connect-private-access.md b/articles/mysql/flexible-server/scripts/sample-cli-create-connect-private-access.md index 504414335bba..cffb1f8bac63 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-create-connect-private-access.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-create-connect-private-access.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to create a Azure Database f author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-create-connect-public-access.md b/articles/mysql/flexible-server/scripts/sample-cli-create-connect-public-access.md index 467cf9f9cd61..dd92acfdd6d3 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-create-connect-public-access.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-create-connect-public-access.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to create a Azure Database f author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-monitor-and-scale.md b/articles/mysql/flexible-server/scripts/sample-cli-monitor-and-scale.md index 4aedf7ba9fd6..2693baffe370 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-monitor-and-scale.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-monitor-and-scale.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to monitor and scale a singl author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-read-replicas.md b/articles/mysql/flexible-server/scripts/sample-cli-read-replicas.md index 2374b807bdd7..af223becc2c1 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-read-replicas.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-read-replicas.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to create and manage read re author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-restart-stop-start.md b/articles/mysql/flexible-server/scripts/sample-cli-restart-stop-start.md index 1db2af3ff6bf..ff684be3bdc3 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-restart-stop-start.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-restart-stop-start.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to Restart/Stop/Start an Azu author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-restore-server.md b/articles/mysql/flexible-server/scripts/sample-cli-restore-server.md index 28081988db57..ed6755069476 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-restore-server.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-restore-server.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to restore a single Azure Da author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-same-zone-ha.md b/articles/mysql/flexible-server/scripts/sample-cli-same-zone-ha.md index 97b085eaae21..de1e553ee377 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-same-zone-ha.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-same-zone-ha.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to configure Same-Zone high author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-slow-query-logs.md b/articles/mysql/flexible-server/scripts/sample-cli-slow-query-logs.md index dfc8713d7693..f472083fe4ed 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-slow-query-logs.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-slow-query-logs.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to configure slow query logs author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/scripts/sample-cli-zone-redundant-ha.md b/articles/mysql/flexible-server/scripts/sample-cli-zone-redundant-ha.md index c52f8efbc1e0..3659c6571c9c 100644 --- a/articles/mysql/flexible-server/scripts/sample-cli-zone-redundant-ha.md +++ b/articles/mysql/flexible-server/scripts/sample-cli-zone-redundant-ha.md @@ -4,6 +4,7 @@ description: This Azure CLI sample script shows how to configure Zone-Redundant author: shreyaaithal ms.author: shaithal ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/flexible-server/tutorial-configure-audit.md b/articles/mysql/flexible-server/tutorial-configure-audit.md index 340c394e4eb6..8aba60064a45 100644 --- a/articles/mysql/flexible-server/tutorial-configure-audit.md +++ b/articles/mysql/flexible-server/tutorial-configure-audit.md @@ -4,6 +4,7 @@ description: 'This tutorial shows you how to configure audit logs by using Azure author: SudheeshGH ms.author: sunaray ms.service: mysql +ms.subservice: flexible-server ms.topic: tutorial ms.date: 10/01/2021 --- diff --git a/articles/mysql/flexible-server/tutorial-deploy-springboot-on-aks-vnet.md b/articles/mysql/flexible-server/tutorial-deploy-springboot-on-aks-vnet.md index 1aaf21386e4b..fa1b7a0444a5 100644 --- a/articles/mysql/flexible-server/tutorial-deploy-springboot-on-aks-vnet.md +++ b/articles/mysql/flexible-server/tutorial-deploy-springboot-on-aks-vnet.md @@ -2,6 +2,7 @@ title: 'Tutorial: Deploy Spring Boot Application on AKS cluster with MySQL Flexible Server within a VNet' description: Learn how to quickly build and deploy a Spring Boot Application on AKS with Azure Database for MySQL - Flexible Server, with secure connectivity within a VNet. ms.service: mysql +ms.subservice: flexible-server author: shreyaaithal ms.author: shaithal ms.topic: tutorial diff --git a/articles/mysql/flexible-server/tutorial-deploy-wordpress-on-aks.md b/articles/mysql/flexible-server/tutorial-deploy-wordpress-on-aks.md index c5c46fea361e..52705f4939fc 100644 --- a/articles/mysql/flexible-server/tutorial-deploy-wordpress-on-aks.md +++ b/articles/mysql/flexible-server/tutorial-deploy-wordpress-on-aks.md @@ -2,6 +2,7 @@ title: 'Tutorial: Deploy WordPress on AKS cluster with MySQL Flexible Server by using Azure CLI' description: Learn how to quickly build and deploy WordPress on AKS with Azure Database for MySQL - Flexible Server. ms.service: mysql +ms.subservice: flexible-server author: mksuni ms.author: sumuth ms.topic: tutorial diff --git a/articles/mysql/flexible-server/tutorial-php-database-app.md b/articles/mysql/flexible-server/tutorial-php-database-app.md index 6348934e87f6..1a2f9e0fa309 100644 --- a/articles/mysql/flexible-server/tutorial-php-database-app.md +++ b/articles/mysql/flexible-server/tutorial-php-database-app.md @@ -4,6 +4,7 @@ description: This tutorial explains how to build a PHP app with flexible server. author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.topic: tutorial ms.devlang: php ms.date: 9/21/2020 diff --git a/articles/mysql/flexible-server/tutorial-query-performance-insights.md b/articles/mysql/flexible-server/tutorial-query-performance-insights.md index 20729754babc..4c7141733aef 100644 --- a/articles/mysql/flexible-server/tutorial-query-performance-insights.md +++ b/articles/mysql/flexible-server/tutorial-query-performance-insights.md @@ -4,6 +4,7 @@ description: 'This article shows you the tools to help visualize Query Performan author: SudheeshGH ms.author: sunaray ms.service: mysql +ms.subservice: flexible-server ms.topic: tutorial ms.date: 10/01/2021 --- diff --git a/articles/mysql/flexible-server/tutorial-webapp-server-vnet.md b/articles/mysql/flexible-server/tutorial-webapp-server-vnet.md index 193d815d2919..23ea104cde6d 100644 --- a/articles/mysql/flexible-server/tutorial-webapp-server-vnet.md +++ b/articles/mysql/flexible-server/tutorial-webapp-server-vnet.md @@ -4,6 +4,7 @@ description: Quickstart guide to create Azure Database for MySQL Flexible Server author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: flexible-server ms.devlang: azurecli ms.topic: tutorial ms.date: 03/18/2021 diff --git a/articles/mysql/flexible-server/whats-new.md b/articles/mysql/flexible-server/whats-new.md index 3b9c4d175f48..c9b880835e44 100644 --- a/articles/mysql/flexible-server/whats-new.md +++ b/articles/mysql/flexible-server/whats-new.md @@ -3,6 +3,7 @@ title: What's new in Azure Database for MySQL - Flexible Server description: Learn about recent updates to Azure Database for MySQL - Flexible Server, a relational database service in the Microsoft cloud based on the MySQL Community Edition. author: hjtoland3 ms.service: mysql +ms.subservice: flexible-server ms.author: jtoland ms.custom: mvc, references_regions ms.topic: conceptual diff --git a/articles/mysql/how-to-connect-overview-single-server.md b/articles/mysql/how-to-connect-overview-single-server.md index 0bd51c575483..2dfda9bf690c 100644 --- a/articles/mysql/how-to-connect-overview-single-server.md +++ b/articles/mysql/how-to-connect-overview-single-server.md @@ -3,6 +3,7 @@ title: Connect and query - Single Server MySQL description: Links to quickstarts showing how to connect to your Azure My SQL Database Single Server and run queries. services: mysql ms.service: mysql +ms.subservice: single-server ms.topic: how-to author: mksuni ms.author: sumuth diff --git a/articles/mysql/how-to-decide-on-right-migration-tools.md b/articles/mysql/how-to-decide-on-right-migration-tools.md index 691ced63f506..5a3446729838 100644 --- a/articles/mysql/how-to-decide-on-right-migration-tools.md +++ b/articles/mysql/how-to-decide-on-right-migration-tools.md @@ -2,6 +2,7 @@ title: "Select the right tools for migration to Azure Database for MySQL" description: "This topic provides a decision table which helps customers in picking the right tools for migrating into Azure Database for MySQL" ms.service: mysql +ms.subservice: single-server author: shriram-muthukrishnan ms.author: shriramm ms.reviewer: maghan diff --git a/articles/mysql/how-to-fix-corrupt-database.md b/articles/mysql/how-to-fix-corrupt-database.md index 41a6fe94b635..129b4cfedd0a 100644 --- a/articles/mysql/how-to-fix-corrupt-database.md +++ b/articles/mysql/how-to-fix-corrupt-database.md @@ -4,6 +4,7 @@ description: In this article, you'll learn about how to fix database corruption author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: troubleshooting ms.date: 09/21/2020 --- diff --git a/articles/mysql/how-to-major-version-upgrade.md b/articles/mysql/how-to-major-version-upgrade.md index 994d619ab390..33c2b2b51835 100644 --- a/articles/mysql/how-to-major-version-upgrade.md +++ b/articles/mysql/how-to-major-version-upgrade.md @@ -4,6 +4,7 @@ description: This article describes how you can upgrade major version for Azure author: Bashar-MSFT ms.author: bahusse ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 1/28/2021 --- diff --git a/articles/mysql/how-to-manage-single-server-cli.md b/articles/mysql/how-to-manage-single-server-cli.md index 5ae0de2a4240..b6361e2cdb1b 100644 --- a/articles/mysql/how-to-manage-single-server-cli.md +++ b/articles/mysql/how-to-manage-single-server-cli.md @@ -4,6 +4,7 @@ description: Learn how to manage an Azure Database for MySQL server from the Azu author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 9/22/2020 --- diff --git a/articles/mysql/how-to-migrate-rds-mysql-data-in-replication.md b/articles/mysql/how-to-migrate-rds-mysql-data-in-replication.md index b3364da691c1..b6cb49d3707c 100644 --- a/articles/mysql/how-to-migrate-rds-mysql-data-in-replication.md +++ b/articles/mysql/how-to-migrate-rds-mysql-data-in-replication.md @@ -4,6 +4,7 @@ description: This article describes how to migrate Amazon RDS for MySQL to Azure author: SudheeshGH ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 09/24/2021 --- diff --git a/articles/mysql/how-to-migrate-rds-mysql-workbench.md b/articles/mysql/how-to-migrate-rds-mysql-workbench.md index 8e167ed22da5..28d29b33cd21 100644 --- a/articles/mysql/how-to-migrate-rds-mysql-workbench.md +++ b/articles/mysql/how-to-migrate-rds-mysql-workbench.md @@ -4,6 +4,7 @@ description: This article describes how to migrate Amazon RDS for MySQL to Azure author: HJToland3 ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 05/21/2021 --- diff --git a/articles/mysql/how-to-stop-start-server.md b/articles/mysql/how-to-stop-start-server.md index b0866ed6c83b..a28d84c98dcb 100644 --- a/articles/mysql/how-to-stop-start-server.md +++ b/articles/mysql/how-to-stop-start-server.md @@ -4,6 +4,7 @@ description: This article describes how to stop/start operations in Azure Databa author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 09/21/2020 --- diff --git a/articles/mysql/howto-alert-on-metric.md b/articles/mysql/howto-alert-on-metric.md index e295c1bc3857..3fa2e13a8fde 100644 --- a/articles/mysql/howto-alert-on-metric.md +++ b/articles/mysql/howto-alert-on-metric.md @@ -4,6 +4,7 @@ description: This article describes how to configure and access metric alerts fo author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/18/2020 --- diff --git a/articles/mysql/howto-auto-grow-storage-cli.md b/articles/mysql/howto-auto-grow-storage-cli.md index 6076b41e1d07..3fd5ddace010 100644 --- a/articles/mysql/howto-auto-grow-storage-cli.md +++ b/articles/mysql/howto-auto-grow-storage-cli.md @@ -4,6 +4,7 @@ description: This article describes how you can enable auto grow storage using t author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/18/2020 ms.custom: devx-track-azurecli diff --git a/articles/mysql/howto-auto-grow-storage-portal.md b/articles/mysql/howto-auto-grow-storage-portal.md index e53aa0983542..c6741b4ececb 100644 --- a/articles/mysql/howto-auto-grow-storage-portal.md +++ b/articles/mysql/howto-auto-grow-storage-portal.md @@ -4,6 +4,7 @@ description: This article describes how you can enable auto grow storage for Azu author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/18/2020 --- diff --git a/articles/mysql/howto-auto-grow-storage-powershell.md b/articles/mysql/howto-auto-grow-storage-powershell.md index 1c68f0aaa4af..98fc9ecf398e 100644 --- a/articles/mysql/howto-auto-grow-storage-powershell.md +++ b/articles/mysql/howto-auto-grow-storage-powershell.md @@ -4,6 +4,7 @@ description: This article describes how you can enable auto grow storage using P author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 4/28/2020 ms.custom: devx-track-azurepowershell diff --git a/articles/mysql/howto-configure-audit-logs-cli.md b/articles/mysql/howto-configure-audit-logs-cli.md index fd3c0818271c..da4c36ae56bc 100644 --- a/articles/mysql/howto-configure-audit-logs-cli.md +++ b/articles/mysql/howto-configure-audit-logs-cli.md @@ -4,6 +4,7 @@ description: This article describes how to configure and access the audit logs i author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.custom: devx-track-azurecli ms.date: 6/24/2020 diff --git a/articles/mysql/howto-configure-audit-logs-portal.md b/articles/mysql/howto-configure-audit-logs-portal.md index adfde27d1fd1..b6c96b6922ac 100644 --- a/articles/mysql/howto-configure-audit-logs-portal.md +++ b/articles/mysql/howto-configure-audit-logs-portal.md @@ -4,6 +4,7 @@ description: This article describes how to configure and access the audit logs i author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 9/29/2020 --- diff --git a/articles/mysql/howto-configure-privatelink-cli.md b/articles/mysql/howto-configure-privatelink-cli.md index a3e1f738107a..8eb4c17abb9c 100644 --- a/articles/mysql/howto-configure-privatelink-cli.md +++ b/articles/mysql/howto-configure-privatelink-cli.md @@ -4,6 +4,7 @@ description: Learn how to configure private link for Azure Database for MySQL fr author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.custom: devx-track-azurecli ms.date: 01/09/2020 diff --git a/articles/mysql/howto-configure-privatelink-portal.md b/articles/mysql/howto-configure-privatelink-portal.md index 7326afd4f90b..b08a8b79ea08 100644 --- a/articles/mysql/howto-configure-privatelink-portal.md +++ b/articles/mysql/howto-configure-privatelink-portal.md @@ -4,6 +4,7 @@ description: Learn how to configure private link for Azure Database for MySQL fr author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 01/09/2020 --- diff --git a/articles/mysql/howto-configure-server-logs-in-cli.md b/articles/mysql/howto-configure-server-logs-in-cli.md index 9f36028a8f48..c4d26489302a 100644 --- a/articles/mysql/howto-configure-server-logs-in-cli.md +++ b/articles/mysql/howto-configure-server-logs-in-cli.md @@ -4,6 +4,7 @@ description: This article describes how to access the slow query logs in Azure D author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: how-to ms.date: 4/13/2020 diff --git a/articles/mysql/howto-configure-server-logs-in-portal.md b/articles/mysql/howto-configure-server-logs-in-portal.md index 61bce4b732a8..1b42c050856a 100644 --- a/articles/mysql/howto-configure-server-logs-in-portal.md +++ b/articles/mysql/howto-configure-server-logs-in-portal.md @@ -4,6 +4,7 @@ description: This article describes how to configure and access the slow logs in author: Bashar-MSFT ms.author: bahusse ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/15/2021 --- diff --git a/articles/mysql/howto-configure-server-parameters-using-cli.md b/articles/mysql/howto-configure-server-parameters-using-cli.md index ef1a52967dca..d65e0a9bb2c6 100644 --- a/articles/mysql/howto-configure-server-parameters-using-cli.md +++ b/articles/mysql/howto-configure-server-parameters-using-cli.md @@ -4,6 +4,7 @@ description: This article describes how to configure the service parameters in A author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: how-to ms.date: 10/1/2020 diff --git a/articles/mysql/howto-configure-server-parameters-using-powershell.md b/articles/mysql/howto-configure-server-parameters-using-powershell.md index 17a662f366ac..b22884ce559c 100644 --- a/articles/mysql/howto-configure-server-parameters-using-powershell.md +++ b/articles/mysql/howto-configure-server-parameters-using-powershell.md @@ -4,6 +4,7 @@ description: This article describes how to configure the service parameters in A author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurepowershell ms.topic: how-to ms.date: 10/1/2020 diff --git a/articles/mysql/howto-configure-sign-in-azure-ad-authentication.md b/articles/mysql/howto-configure-sign-in-azure-ad-authentication.md index 1a7caada876d..125da57bf596 100644 --- a/articles/mysql/howto-configure-sign-in-azure-ad-authentication.md +++ b/articles/mysql/howto-configure-sign-in-azure-ad-authentication.md @@ -4,6 +4,7 @@ description: Learn about how to set up Azure Active Directory (Azure AD) for aut author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 07/23/2020 ms.custom: devx-track-azurepowershell diff --git a/articles/mysql/howto-configure-ssl.md b/articles/mysql/howto-configure-ssl.md index 68b66ead63a1..0eae0e9cc348 100644 --- a/articles/mysql/howto-configure-ssl.md +++ b/articles/mysql/howto-configure-ssl.md @@ -4,6 +4,7 @@ description: Instructions for how to properly configure Azure Database for MySQL author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.devlang: csharp, golang, java, javascript, php, python, ruby ms.custom: "devx-track-python, devx-track-csharp" diff --git a/articles/mysql/howto-connect-webapp.md b/articles/mysql/howto-connect-webapp.md index 2dbcaddf1a5e..be21ae40ad63 100644 --- a/articles/mysql/howto-connect-webapp.md +++ b/articles/mysql/howto-connect-webapp.md @@ -4,6 +4,7 @@ description: Instructions for how to properly connect an existing Azure App Serv author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/18/2020 --- diff --git a/articles/mysql/howto-connect-with-managed-identity.md b/articles/mysql/howto-connect-with-managed-identity.md index 386260bec2da..d3743451dcbf 100644 --- a/articles/mysql/howto-connect-with-managed-identity.md +++ b/articles/mysql/howto-connect-with-managed-identity.md @@ -4,6 +4,7 @@ description: Learn about how to connect and authenticate using Managed Identity author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 05/19/2020 ms.custom: devx-track-csharp, devx-track-azurecli diff --git a/articles/mysql/howto-connection-string-powershell.md b/articles/mysql/howto-connection-string-powershell.md index 813dfc776949..db89fabc13e1 100644 --- a/articles/mysql/howto-connection-string-powershell.md +++ b/articles/mysql/howto-connection-string-powershell.md @@ -4,6 +4,7 @@ description: This article provides an Azure PowerShell example to generate a con author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: mvc, devx-track-azurepowershell ms.topic: how-to ms.date: 8/5/2020 diff --git a/articles/mysql/howto-connection-string.md b/articles/mysql/howto-connection-string.md index a64b1180696d..e6ee3fc87d0a 100644 --- a/articles/mysql/howto-connection-string.md +++ b/articles/mysql/howto-connection-string.md @@ -4,6 +4,7 @@ description: This document lists the currently supported connection strings for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/18/2020 ms.custom: devx-track-python, devx-track-js diff --git a/articles/mysql/howto-create-manage-server-portal.md b/articles/mysql/howto-create-manage-server-portal.md index 84e5e9eac926..ddc2ce7c52ce 100644 --- a/articles/mysql/howto-create-manage-server-portal.md +++ b/articles/mysql/howto-create-manage-server-portal.md @@ -4,6 +4,7 @@ description: Learn how to manage an Azure Database for MySQL server from the Azu author: Bashar-MSFT ms.author: bahusse ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 1/26/2021 --- diff --git a/articles/mysql/howto-create-users.md b/articles/mysql/howto-create-users.md index fe0dc5f8a53f..807bb8d2f16b 100644 --- a/articles/mysql/howto-create-users.md +++ b/articles/mysql/howto-create-users.md @@ -4,6 +4,7 @@ description: This article describes how to create new user accounts to interact author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 02/17/2022 --- diff --git a/articles/mysql/howto-data-encryption-cli.md b/articles/mysql/howto-data-encryption-cli.md index 43c1ede3e385..e9e0530f4f7e 100644 --- a/articles/mysql/howto-data-encryption-cli.md +++ b/articles/mysql/howto-data-encryption-cli.md @@ -4,6 +4,7 @@ description: Learn how to set up and manage data encryption for your Azure Datab author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 03/30/2020 ms.custom: devx-track-azurecli diff --git a/articles/mysql/howto-data-encryption-portal.md b/articles/mysql/howto-data-encryption-portal.md index afd839fa4c8b..fca87a35431b 100644 --- a/articles/mysql/howto-data-encryption-portal.md +++ b/articles/mysql/howto-data-encryption-portal.md @@ -4,6 +4,7 @@ description: Learn how to set up and manage data encryption for your Azure Datab author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 01/13/2020 ms.custom: devx-track-azurecli diff --git a/articles/mysql/howto-data-encryption-troubleshoot.md b/articles/mysql/howto-data-encryption-troubleshoot.md index eff54d9693e9..d4b98c9471fa 100644 --- a/articles/mysql/howto-data-encryption-troubleshoot.md +++ b/articles/mysql/howto-data-encryption-troubleshoot.md @@ -4,6 +4,7 @@ description: Learn how to troubleshoot data encryption in Azure Database for MyS author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: troubleshooting ms.date: 02/13/2020 --- diff --git a/articles/mysql/howto-data-encryption-validation.md b/articles/mysql/howto-data-encryption-validation.md index ec8218d90693..65cc66c99037 100644 --- a/articles/mysql/howto-data-encryption-validation.md +++ b/articles/mysql/howto-data-encryption-validation.md @@ -4,6 +4,7 @@ description: Learn how to validate the encryption of the Azure Database for MySQ author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 04/28/2020 --- diff --git a/articles/mysql/howto-data-in-replication.md b/articles/mysql/howto-data-in-replication.md index 336fb3f34558..15b1c106c451 100644 --- a/articles/mysql/howto-data-in-replication.md +++ b/articles/mysql/howto-data-in-replication.md @@ -4,6 +4,7 @@ description: This article describes how to set up Data-in Replication for Azure author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 04/08/2021 --- diff --git a/articles/mysql/howto-deny-public-network-access.md b/articles/mysql/howto-deny-public-network-access.md index 7f744713b695..10ae4ccb9da0 100644 --- a/articles/mysql/howto-deny-public-network-access.md +++ b/articles/mysql/howto-deny-public-network-access.md @@ -4,6 +4,7 @@ description: Learn how to configure Deny Public Network Access using Azure porta author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 03/10/2020 --- diff --git a/articles/mysql/howto-double-encryption.md b/articles/mysql/howto-double-encryption.md index 049da5bff328..6e39c50c4397 100644 --- a/articles/mysql/howto-double-encryption.md +++ b/articles/mysql/howto-double-encryption.md @@ -4,6 +4,7 @@ description: Learn how to set up and manage Infrastructure double encryption for author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 06/30/2020 --- diff --git a/articles/mysql/howto-manage-firewall-using-cli.md b/articles/mysql/howto-manage-firewall-using-cli.md index 43c6cfb942e9..f570ebbe7ff3 100644 --- a/articles/mysql/howto-manage-firewall-using-cli.md +++ b/articles/mysql/howto-manage-firewall-using-cli.md @@ -4,6 +4,7 @@ description: This article describes how to create and manage Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: how-to ms.date: 3/18/2020 diff --git a/articles/mysql/howto-manage-firewall-using-portal.md b/articles/mysql/howto-manage-firewall-using-portal.md index 20805a23dcce..e50228469397 100644 --- a/articles/mysql/howto-manage-firewall-using-portal.md +++ b/articles/mysql/howto-manage-firewall-using-portal.md @@ -4,6 +4,7 @@ description: Create and manage Azure Database for MySQL firewall rules using the author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/18/2020 --- diff --git a/articles/mysql/howto-manage-vnet-using-cli.md b/articles/mysql/howto-manage-vnet-using-cli.md index 8f61af9ead69..6fe6a578a9c5 100644 --- a/articles/mysql/howto-manage-vnet-using-cli.md +++ b/articles/mysql/howto-manage-vnet-using-cli.md @@ -4,6 +4,7 @@ description: This article describes how to create and manage Azure Database for author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: how-to ms.date: 02/10/2022 diff --git a/articles/mysql/howto-manage-vnet-using-portal.md b/articles/mysql/howto-manage-vnet-using-portal.md index 5a62bfad82b6..ae19c9c18f3f 100644 --- a/articles/mysql/howto-manage-vnet-using-portal.md +++ b/articles/mysql/howto-manage-vnet-using-portal.md @@ -4,6 +4,7 @@ description: Create and manage Azure Database for MySQL VNet service endpoints a author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/18/2020 --- diff --git a/articles/mysql/howto-migrate-online.md b/articles/mysql/howto-migrate-online.md index 4154acc20c47..586c67cb6c84 100644 --- a/articles/mysql/howto-migrate-online.md +++ b/articles/mysql/howto-migrate-online.md @@ -4,6 +4,7 @@ description: This article describes how to perform a minimal-downtime migration author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.custom: ms.date: 6/19/2021 diff --git a/articles/mysql/howto-migrate-single-flexible-minimum-downtime.md b/articles/mysql/howto-migrate-single-flexible-minimum-downtime.md index 3eb843b56c5e..d0f7809553ea 100644 --- a/articles/mysql/howto-migrate-single-flexible-minimum-downtime.md +++ b/articles/mysql/howto-migrate-single-flexible-minimum-downtime.md @@ -4,6 +4,7 @@ description: This article describes how to perform a minimal-downtime migration author: SudheeshGH ms.author: sunaray ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 06/18/2021 --- diff --git a/articles/mysql/howto-move-regions-portal.md b/articles/mysql/howto-move-regions-portal.md index 5662823ed655..ffd1657aa157 100644 --- a/articles/mysql/howto-move-regions-portal.md +++ b/articles/mysql/howto-move-regions-portal.md @@ -4,6 +4,7 @@ description: Move an Azure Database for MySQL server from one Azure region to an author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.custom: subject-moving-resources ms.date: 06/26/2020 diff --git a/articles/mysql/howto-read-replicas-cli.md b/articles/mysql/howto-read-replicas-cli.md index 6d3a1aa98641..42505839aa3b 100644 --- a/articles/mysql/howto-read-replicas-cli.md +++ b/articles/mysql/howto-read-replicas-cli.md @@ -4,6 +4,7 @@ description: Learn how to set up and manage read replicas in Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 06/17/2020 ms.custom: devx-track-azurecli diff --git a/articles/mysql/howto-read-replicas-portal.md b/articles/mysql/howto-read-replicas-portal.md index f9aeed9a5cb6..6ee3375bee06 100644 --- a/articles/mysql/howto-read-replicas-portal.md +++ b/articles/mysql/howto-read-replicas-portal.md @@ -4,6 +4,7 @@ description: Learn how to set up and manage read replicas in Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 06/17/2020 --- diff --git a/articles/mysql/howto-read-replicas-powershell.md b/articles/mysql/howto-read-replicas-powershell.md index 6cd975235786..d629f8a8b411 100644 --- a/articles/mysql/howto-read-replicas-powershell.md +++ b/articles/mysql/howto-read-replicas-powershell.md @@ -4,6 +4,7 @@ description: Learn how to set up and manage read replicas in Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 06/17/2020 ms.custom: devx-track-azurepowershell diff --git a/articles/mysql/howto-redirection.md b/articles/mysql/howto-redirection.md index b42ce55275e0..9ced15774ec5 100644 --- a/articles/mysql/howto-redirection.md +++ b/articles/mysql/howto-redirection.md @@ -4,6 +4,7 @@ description: This article describes how you can configure you application to con author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 6/8/2020 --- diff --git a/articles/mysql/howto-restart-server-cli.md b/articles/mysql/howto-restart-server-cli.md index d8f1e7658e71..79a746a645e0 100644 --- a/articles/mysql/howto-restart-server-cli.md +++ b/articles/mysql/howto-restart-server-cli.md @@ -4,6 +4,7 @@ description: This article describes how you can restart an Azure Database for My author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/18/2020 ms.custom: devx-track-azurecli diff --git a/articles/mysql/howto-restart-server-portal.md b/articles/mysql/howto-restart-server-portal.md index 452d162e2209..6af393e36c9f 100644 --- a/articles/mysql/howto-restart-server-portal.md +++ b/articles/mysql/howto-restart-server-portal.md @@ -4,6 +4,7 @@ description: This article describes how you can restart an Azure Database for My author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 3/18/2020 --- diff --git a/articles/mysql/howto-restart-server-powershell.md b/articles/mysql/howto-restart-server-powershell.md index 86f9253a7e1f..d309a0d80d16 100644 --- a/articles/mysql/howto-restart-server-powershell.md +++ b/articles/mysql/howto-restart-server-powershell.md @@ -4,6 +4,7 @@ description: This article describes how you can restart an Azure Database for My author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 4/28/2020 ms.custom: devx-track-azurepowershell diff --git a/articles/mysql/howto-restore-dropped-server.md b/articles/mysql/howto-restore-dropped-server.md index 5b2261825741..f9a8bff6cc14 100644 --- a/articles/mysql/howto-restore-dropped-server.md +++ b/articles/mysql/howto-restore-dropped-server.md @@ -4,6 +4,7 @@ description: This article describes how to restore a deleted server in Azure Dat author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 10/09/2020 --- diff --git a/articles/mysql/howto-restore-server-cli.md b/articles/mysql/howto-restore-server-cli.md index 00cfdcfe6e73..5d4eb7250af4 100644 --- a/articles/mysql/howto-restore-server-cli.md +++ b/articles/mysql/howto-restore-server-cli.md @@ -4,6 +4,7 @@ description: Learn how to backup and restore a server in Azure Database for MySQ author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: how-to ms.date: 3/27/2020 diff --git a/articles/mysql/howto-restore-server-portal.md b/articles/mysql/howto-restore-server-portal.md index 5d922f2b9c3f..1f666ed8eb3d 100644 --- a/articles/mysql/howto-restore-server-portal.md +++ b/articles/mysql/howto-restore-server-portal.md @@ -4,6 +4,7 @@ description: This article describes how to restore a server in Azure Database fo author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 6/30/2020 --- diff --git a/articles/mysql/howto-restore-server-powershell.md b/articles/mysql/howto-restore-server-powershell.md index a82278406eb5..8f77804f892f 100644 --- a/articles/mysql/howto-restore-server-powershell.md +++ b/articles/mysql/howto-restore-server-powershell.md @@ -4,6 +4,7 @@ description: Learn how to backup and restore a server in Azure Database for MySQ author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurepowershell ms.topic: how-to ms.date: 4/28/2020 diff --git a/articles/mysql/howto-server-parameters.md b/articles/mysql/howto-server-parameters.md index 19fa5858ae88..1a1cbace4a86 100644 --- a/articles/mysql/howto-server-parameters.md +++ b/articles/mysql/howto-server-parameters.md @@ -4,6 +4,7 @@ description: This article describes how to configure MySQL server parameters in author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 10/1/2020 --- diff --git a/articles/mysql/howto-tls-configurations.md b/articles/mysql/howto-tls-configurations.md index b47513cdd360..3b21999956ba 100644 --- a/articles/mysql/howto-tls-configurations.md +++ b/articles/mysql/howto-tls-configurations.md @@ -4,6 +4,7 @@ description: Learn how to set TLS configuration using Azure portal for your Azur author: mksuni ms.author: sumuth ms.service: mysql +ms.subservice: single-server ms.topic: how-to ms.date: 06/02/2020 --- diff --git a/articles/mysql/howto-troubleshoot-common-connection-issues.md b/articles/mysql/howto-troubleshoot-common-connection-issues.md index 755b02772bf4..23da4ff6cb94 100644 --- a/articles/mysql/howto-troubleshoot-common-connection-issues.md +++ b/articles/mysql/howto-troubleshoot-common-connection-issues.md @@ -5,6 +5,7 @@ keywords: mysql connection,connection string,connectivity issues,transient error author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: troubleshooting ms.date: 3/18/2020 --- diff --git a/articles/mysql/howto-troubleshoot-common-errors.md b/articles/mysql/howto-troubleshoot-common-errors.md index ac8a3d6c803a..9a4f5f5bed10 100644 --- a/articles/mysql/howto-troubleshoot-common-errors.md +++ b/articles/mysql/howto-troubleshoot-common-errors.md @@ -3,6 +3,7 @@ title: Troubleshoot common errors - Azure Database for MySQL description: Learn how to troubleshoot common migration errors encountered by users new to the Azure Database for MySQL service author: savjani ms.service: mysql +ms.subservice: single-server ms.author: pariks ms.custom: mvc ms.topic: troubleshooting diff --git a/articles/mysql/howto-troubleshoot-high-cpu-utilization.md b/articles/mysql/howto-troubleshoot-high-cpu-utilization.md index abe823ede3f2..c013c691a6f9 100644 --- a/articles/mysql/howto-troubleshoot-high-cpu-utilization.md +++ b/articles/mysql/howto-troubleshoot-high-cpu-utilization.md @@ -4,6 +4,7 @@ description: Learn how to troubleshoot high CPU utilization in Azure Database fo author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: troubleshooting ms.date: 4/27/2022 --- diff --git a/articles/mysql/howto-troubleshoot-low-memory-issues.md b/articles/mysql/howto-troubleshoot-low-memory-issues.md index 1be4e4ea1c41..94a28e22f2e7 100644 --- a/articles/mysql/howto-troubleshoot-low-memory-issues.md +++ b/articles/mysql/howto-troubleshoot-low-memory-issues.md @@ -4,6 +4,7 @@ description: Learn how to troubleshoot low memory issues in Azure Database for M author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: troubleshooting ms.date: 4/22/2022 --- diff --git a/articles/mysql/howto-troubleshoot-query-performance-new.md b/articles/mysql/howto-troubleshoot-query-performance-new.md index 3f7be3d7f79c..5f89bbe2a719 100644 --- a/articles/mysql/howto-troubleshoot-query-performance-new.md +++ b/articles/mysql/howto-troubleshoot-query-performance-new.md @@ -4,6 +4,7 @@ description: Learn how to troubleshoot query performance in Azure Database for M author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: troubleshooting ms.date: 4/22/2022 --- diff --git a/articles/mysql/howto-troubleshoot-query-performance.md b/articles/mysql/howto-troubleshoot-query-performance.md index 716aa0f25630..470dbe3ddff2 100644 --- a/articles/mysql/howto-troubleshoot-query-performance.md +++ b/articles/mysql/howto-troubleshoot-query-performance.md @@ -4,6 +4,7 @@ description: Learn how to profile query performance in Azure Database for MySQL author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: troubleshooting ms.date: 3/30/2022 --- diff --git a/articles/mysql/howto-troubleshoot-replication-latency.md b/articles/mysql/howto-troubleshoot-replication-latency.md index d87af52589e0..c5a33b8c7e82 100644 --- a/articles/mysql/howto-troubleshoot-replication-latency.md +++ b/articles/mysql/howto-troubleshoot-replication-latency.md @@ -5,6 +5,7 @@ keywords: mysql, troubleshoot, replication latency in seconds author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: troubleshooting ms.date: 01/13/2021 --- diff --git a/articles/mysql/howto-troubleshoot-sys-schema.md b/articles/mysql/howto-troubleshoot-sys-schema.md index 1e8351b0b090..71b4292a4c36 100644 --- a/articles/mysql/howto-troubleshoot-sys-schema.md +++ b/articles/mysql/howto-troubleshoot-sys-schema.md @@ -4,6 +4,7 @@ description: Learn how to use the sys_schema to find performance issues and main author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: troubleshooting ms.date: 3/10/2022 --- diff --git a/articles/mysql/overview.md b/articles/mysql/overview.md index 321519ea867f..0d7964953a21 100644 --- a/articles/mysql/overview.md +++ b/articles/mysql/overview.md @@ -3,6 +3,7 @@ title: Overview - Azure Database for MySQL description: Learn about the Azure Database for MySQL service, a relational database service in the Microsoft cloud based on the MySQL Community Edition. author: savjani ms.service: mysql +ms.subservice: single-server ms.author: pariks ms.custom: mvc ms.topic: overview diff --git a/articles/mysql/partners-migration-mysql.md b/articles/mysql/partners-migration-mysql.md index a14c23c41c43..c7962231df77 100644 --- a/articles/mysql/partners-migration-mysql.md +++ b/articles/mysql/partners-migration-mysql.md @@ -4,6 +4,7 @@ description: Lists of third-party migration partners with solutions that support author: HJToland3 ms.author: jtoland ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 08/18/2021 --- diff --git a/articles/mysql/policy-reference.md b/articles/mysql/policy-reference.md index 0f4e028739f4..1c3e509313b4 100644 --- a/articles/mysql/policy-reference.md +++ b/articles/mysql/policy-reference.md @@ -6,6 +6,7 @@ ms.topic: reference author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: subject-policy-reference --- # Azure Policy built-in definitions for Azure Database for MySQL diff --git a/articles/mysql/quickstart-create-mysql-server-database-using-arm-template.md b/articles/mysql/quickstart-create-mysql-server-database-using-arm-template.md index 8d09d1e0fd1a..0a8fe16b3581 100644 --- a/articles/mysql/quickstart-create-mysql-server-database-using-arm-template.md +++ b/articles/mysql/quickstart-create-mysql-server-database-using-arm-template.md @@ -4,6 +4,7 @@ description: In this Quickstart, learn how to create an Azure Database for MySQL author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: quickstart ms.custom: subject-armqs, devx-track-azurepowershell, mode-arm ms.date: 05/19/2020 diff --git a/articles/mysql/quickstart-create-mysql-server-database-using-azure-cli.md b/articles/mysql/quickstart-create-mysql-server-database-using-azure-cli.md index 35a8a8c15da1..ac607463934d 100644 --- a/articles/mysql/quickstart-create-mysql-server-database-using-azure-cli.md +++ b/articles/mysql/quickstart-create-mysql-server-database-using-azure-cli.md @@ -4,6 +4,7 @@ description: This quickstart describes how to use the Azure CLI to create an Azu author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: quickstart ms.date: 07/15/2020 diff --git a/articles/mysql/quickstart-create-mysql-server-database-using-azure-portal.md b/articles/mysql/quickstart-create-mysql-server-database-using-azure-portal.md index c1e8da91ee35..c927955c716a 100644 --- a/articles/mysql/quickstart-create-mysql-server-database-using-azure-portal.md +++ b/articles/mysql/quickstart-create-mysql-server-database-using-azure-portal.md @@ -4,6 +4,7 @@ description: This article walks you through using the Azure portal to create a s author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: mvc, mode-ui ms.topic: quickstart ms.date: 11/04/2020 diff --git a/articles/mysql/quickstart-create-mysql-server-database-using-azure-powershell.md b/articles/mysql/quickstart-create-mysql-server-database-using-azure-powershell.md index d92ceee19e53..81ed83fc9252 100644 --- a/articles/mysql/quickstart-create-mysql-server-database-using-azure-powershell.md +++ b/articles/mysql/quickstart-create-mysql-server-database-using-azure-powershell.md @@ -4,6 +4,7 @@ description: This quickstart describes how to use PowerShell to create an Azure author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurepowershell ms.topic: quickstart ms.date: 04/28/2020 diff --git a/articles/mysql/quickstart-create-mysql-server-database-using-bicep.md b/articles/mysql/quickstart-create-mysql-server-database-using-bicep.md new file mode 100644 index 000000000000..06413e5842b9 --- /dev/null +++ b/articles/mysql/quickstart-create-mysql-server-database-using-bicep.md @@ -0,0 +1,118 @@ +--- +title: 'Quickstart: Create an Azure DB for MySQL - Bicep' +description: In this Quickstart, learn how to create an Azure Database for MySQL server with virtual network integration using Bicep. +author: schaffererin +ms.author: v-eschaffer +ms.service: mysql +ms.topic: quickstart +ms.custom: subject-armqs, devx-track-azurepowershell, mode-arm +ms.date: 05/02/2022 +--- + +# Quickstart: Use Bicep to create an Azure Database for MySQL server + +[!INCLUDE[applies-to-mysql-single-server](includes/applies-to-mysql-single-server.md)] + +Azure Database for MySQL is a managed service that you use to run, manage, and scale highly available MySQL databases in the cloud. In this quickstart, you use Bicep to create an Azure Database for MySQL server with virtual network integration. You can create the server in the Azure portal, Azure CLI, or Azure PowerShell. + +[!INCLUDE [About Bicep](../../includes/resource-manager-quickstart-bicep-introduction.md)] + +## Prerequisites + +You need an Azure account with an active subscription. [Create one for free](https://azure.microsoft.com/free/). + +# [PowerShell](#tab/PowerShell) + +* If you want to run the code locally, [Azure PowerShell](/powershell/azure/). + +# [CLI](#tab/CLI) + +* If you want to run the code locally, [Azure CLI](/cli/azure/). + +--- + +## Review the Bicep file + +You create an Azure Database for MySQL server with a defined set of compute and storage resources. To learn more, see [Azure Database for MySQL pricing tiers](concepts-pricing-tiers.md). You create the server within an [Azure resource group](../azure-resource-manager/management/overview.md). + +The Bicep file used in this quickstart is from [Azure Quickstart Templates](https://azure.microsoft.com/resources/templates/managed-mysql-with-vnet/). + +:::code language="bicep" source="~/quickstart-templates/quickstarts/microsoft.dbformysql/managed-mysql-with-vnet/main.bicep"::: + +The Bicep file defines five Azure resources: + +* [**Microsoft.Network/virtualNetworks**](/azure/templates/microsoft.network/virtualnetworks) +* [**Microsoft.Network/virtualNetworks/subnets**](/azure/templates/microsoft.network/virtualnetworks/subnets) +* [**Microsoft.DBforMySQL/servers**](/azure/templates/microsoft.dbformysql/servers) +* [**Microsoft.DBforMySQL/servers/virtualNetworkRules**](/azure/templates/microsoft.dbformysql/servers/virtualnetworkrules) +* [**Microsoft.DBforMySQL/servers/firewallRules**](/azure/templates/microsoft.dbformysql/servers/firewallrules) + +## Deploy the Bicep file + + +1. Save the Bicep file as **main.bicep** to your local computer. +1. Deploy the Bicep file using either Azure CLI or Azure PowerShell. + + # [CLI](#tab/CLI) + + ```azurecli + az group create --name exampleRG --location eastus + az deployment group create --resource-group exampleRG --template-file main.bicep --parameters serverName= administratorLogin= + ``` + + # [PowerShell](#tab/PowerShell) + + ```azurepowershell + New-AzResourceGroup -Name exampleRG -Location eastus + New-AzResourceGroupDeployment -ResourceGroupName exampleRG -TemplateFile ./main.bicep -serverName "" -administratorLogin "" + ``` + + --- + + > [!NOTE] + > Replace **\** with the server name for Azure database for MySQL. Replace **\** with the database administrator login name. You'll also be prompted to enter **administratorLoginPassword**. The minimum password length is eight characters. + + When the deployment finishes, you should see a message indicating the deployment succeeded. + +## Review deployed resources + +Use the Azure portal, Azure CLI, or Azure PowerShell to list the deployed resources in the resource group. + +# [CLI](#tab/CLI) + +```azurecli-interactive +az resource list --resource-group exampleRG +``` + +# [PowerShell](#tab/PowerShell) + +```azurepowershell-interactive +Get-AzResource -ResourceGroupName exampleRG +``` + +--- + +## Clean up resources + +When no longer needed, use the Azure portal, Azure CLI, or Azure PowerShell to delete the resource group and its resources. + +# [CLI](#tab/CLI) + +```azurecli-interactive +az group delete --name exampleRG +``` + +# [PowerShell](#tab/PowerShell) + +```azurepowershell-interactive +Remove-AzResourceGroup -Name exampleRG +``` + +--- + +## Next steps + +For a step-by-step tutorial that guides you through the process of creating a Bicep file with Visual Studio Code, see: + +> [!div class="nextstepaction"] +> [Quickstart: Create Bicep files with Visual Studio Code](../azure-resource-manager/bicep/quickstart-create-bicep-use-visual-studio-code.md) diff --git a/articles/mysql/quickstart-create-server-up-azure-cli.md b/articles/mysql/quickstart-create-server-up-azure-cli.md index 7b0e7a4354cf..4fa51f00a669 100644 --- a/articles/mysql/quickstart-create-server-up-azure-cli.md +++ b/articles/mysql/quickstart-create-server-up-azure-cli.md @@ -4,6 +4,7 @@ description: Quickstart guide to create Azure Database for MySQL server using Az author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: quickstart ms.date: 3/18/2020 diff --git a/articles/mysql/quickstart-mysql-github-actions.md b/articles/mysql/quickstart-mysql-github-actions.md index d50ccdbdf60a..3b2024ff3b52 100644 --- a/articles/mysql/quickstart-mysql-github-actions.md +++ b/articles/mysql/quickstart-mysql-github-actions.md @@ -3,6 +3,7 @@ title: 'Quickstart: Connect to Azure MySQL with GitHub Actions' description: Use Azure MySQL from a GitHub Actions workflow author: juliakm ms.service: mysql +ms.subservice: single-server ms.topic: quickstart ms.author: jukullam ms.date: 02/14/2022 diff --git a/articles/mysql/reference-stored-procedures.md b/articles/mysql/reference-stored-procedures.md index a6ea252cf73f..bbb5eade6ee6 100644 --- a/articles/mysql/reference-stored-procedures.md +++ b/articles/mysql/reference-stored-procedures.md @@ -4,6 +4,7 @@ description: Learn which stored procedures in Azure Database for MySQL are usefu author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 3/18/2020 --- diff --git a/articles/mysql/sample-scripts-azure-cli.md b/articles/mysql/sample-scripts-azure-cli.md index 313471c802c6..2ea236d10944 100644 --- a/articles/mysql/sample-scripts-azure-cli.md +++ b/articles/mysql/sample-scripts-azure-cli.md @@ -4,6 +4,7 @@ description: This article lists the Azure CLI code samples available for interac author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli, seo-azure-cli diff --git a/articles/mysql/sample-scripts-java-connection-pooling.md b/articles/mysql/sample-scripts-java-connection-pooling.md index db968a330da8..0d2ef927e20b 100644 --- a/articles/mysql/sample-scripts-java-connection-pooling.md +++ b/articles/mysql/sample-scripts-java-connection-pooling.md @@ -5,6 +5,7 @@ author: savjani ms.author: pariks ms.custom: devx-track-java ms.service: mysql +ms.subservice: single-server ms.topic: sample ms.date: 02/28/2018 --- diff --git a/articles/mysql/scripts/sample-change-server-configuration.md b/articles/mysql/scripts/sample-change-server-configuration.md index 27839f8588fd..455a789e166e 100644 --- a/articles/mysql/scripts/sample-change-server-configuration.md +++ b/articles/mysql/scripts/sample-change-server-configuration.md @@ -4,6 +4,7 @@ description: This sample CLI script lists all available server configurations an author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/scripts/sample-create-server-and-firewall-rule.md b/articles/mysql/scripts/sample-create-server-and-firewall-rule.md index eee2a479c36f..bdb073dc793c 100644 --- a/articles/mysql/scripts/sample-create-server-and-firewall-rule.md +++ b/articles/mysql/scripts/sample-create-server-and-firewall-rule.md @@ -4,6 +4,7 @@ description: This sample CLI script creates an Azure Database for MySQL server a author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.custom: mvc, devx-track-azurecli ms.topic: sample diff --git a/articles/mysql/scripts/sample-point-in-time-restore.md b/articles/mysql/scripts/sample-point-in-time-restore.md index c85aad4240af..f74cc452a672 100644 --- a/articles/mysql/scripts/sample-point-in-time-restore.md +++ b/articles/mysql/scripts/sample-point-in-time-restore.md @@ -4,6 +4,7 @@ description: This sample Azure CLI script shows how to restore an Azure Database author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/scripts/sample-scale-server.md b/articles/mysql/scripts/sample-scale-server.md index 5d520c32ba61..60e6065e45c6 100644 --- a/articles/mysql/scripts/sample-scale-server.md +++ b/articles/mysql/scripts/sample-scale-server.md @@ -4,6 +4,7 @@ description: This sample CLI script scales Azure Database for MySQL server to a author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/scripts/sample-server-logs.md b/articles/mysql/scripts/sample-server-logs.md index db4664841d6e..d16296154c98 100644 --- a/articles/mysql/scripts/sample-server-logs.md +++ b/articles/mysql/scripts/sample-server-logs.md @@ -4,6 +4,7 @@ description: This sample Azure CLI script shows how to enable and download the s author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: sample ms.custom: mvc, devx-track-azurecli diff --git a/articles/mysql/security-controls-policy.md b/articles/mysql/security-controls-policy.md index 6f7982336021..f1a7a5c7393e 100644 --- a/articles/mysql/security-controls-policy.md +++ b/articles/mysql/security-controls-policy.md @@ -6,6 +6,7 @@ ms.topic: sample author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.custom: subject-policy-compliancecontrols --- # Azure Policy Regulatory Compliance controls for Azure Database for MySQL diff --git a/articles/mysql/select-right-deployment-type.md b/articles/mysql/select-right-deployment-type.md index 2612dac707ec..06724de218f4 100644 --- a/articles/mysql/select-right-deployment-type.md +++ b/articles/mysql/select-right-deployment-type.md @@ -4,6 +4,7 @@ description: This article describes what factors to consider before you deploy A author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 08/26/2020 --- diff --git a/articles/mysql/single-server-overview.md b/articles/mysql/single-server-overview.md index eb1d8146a318..aecb65b2420f 100644 --- a/articles/mysql/single-server-overview.md +++ b/articles/mysql/single-server-overview.md @@ -3,6 +3,7 @@ title: Overview - Azure Database for MySQL Single Server description: Learn about the Azure Database for MySQL Single server, a relational database service in the Microsoft cloud based on the MySQL Community Edition. author: savjani ms.service: mysql +ms.subservice: single-server ms.author: pariks ms.custom: mvc ms.topic: overview diff --git a/articles/mysql/single-server-whats-new.md b/articles/mysql/single-server-whats-new.md index 34c613336337..6de9be85ca8a 100644 --- a/articles/mysql/single-server-whats-new.md +++ b/articles/mysql/single-server-whats-new.md @@ -3,6 +3,7 @@ title: What's new in Azure Database for MySQL Single Server description: Learn about recent updates to Azure Database for MySQL - Single server, a relational database service in the Microsoft cloud based on the MySQL Community Edition. author: hjtoland3 ms.service: mysql +ms.subservice: single-server ms.author: jtoland ms.custom: mvc ms.topic: conceptual @@ -16,6 +17,11 @@ Azure Database for MySQL is a relational database service in the Microsoft cloud This article summarizes new releases and features in Azure Database for MySQL - Single Server beginning in January 2021. Listings appear in reverse chronological order, with the most recent updates first. +## May 2022 + +Enabled the ability to change the server parameter innodb_ft_server_stopword_table from Portal/CLI. +Users can now change the value of the innodb_ft_server_stopword_table parameter using the Azure portal and CLI. This parameter helps to configure your own InnoDB FULLTEXT index stopword list for all InnoDB tables. For more information, see [innodb_ft_server_stopword_table](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_ft_server_stopword_table). + ## March 2022 This release of Azure Database for MySQL - Single Server includes the following updates. diff --git a/articles/mysql/tutorial-design-database-using-cli.md b/articles/mysql/tutorial-design-database-using-cli.md index ba625c8b29b0..922a7eb35153 100644 --- a/articles/mysql/tutorial-design-database-using-cli.md +++ b/articles/mysql/tutorial-design-database-using-cli.md @@ -4,6 +4,7 @@ description: This tutorial explains how to create and manage Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurecli ms.topic: tutorial ms.date: 12/02/2019 diff --git a/articles/mysql/tutorial-design-database-using-portal.md b/articles/mysql/tutorial-design-database-using-portal.md index 0aa28cde8c1b..c101e02bfa9d 100644 --- a/articles/mysql/tutorial-design-database-using-portal.md +++ b/articles/mysql/tutorial-design-database-using-portal.md @@ -4,6 +4,7 @@ description: This tutorial explains how to create and manage Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: tutorial ms.date: 3/20/2020 ms.custom: mvc diff --git a/articles/mysql/tutorial-design-database-using-powershell.md b/articles/mysql/tutorial-design-database-using-powershell.md index 75f135d3adfb..87d2d513bcf9 100644 --- a/articles/mysql/tutorial-design-database-using-powershell.md +++ b/articles/mysql/tutorial-design-database-using-powershell.md @@ -4,6 +4,7 @@ description: This tutorial explains how to create and manage Azure Database for author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.devlang: azurepowershell ms.topic: tutorial ms.date: 04/29/2020 diff --git a/articles/mysql/tutorial-provision-mysql-server-using-Azure-Resource-Manager-templates.md b/articles/mysql/tutorial-provision-mysql-server-using-Azure-Resource-Manager-templates.md index c50d825832ba..d5f7b4830e04 100644 --- a/articles/mysql/tutorial-provision-mysql-server-using-Azure-Resource-Manager-templates.md +++ b/articles/mysql/tutorial-provision-mysql-server-using-Azure-Resource-Manager-templates.md @@ -4,6 +4,7 @@ description: This tutorial explains how to provision and automate Azure Database author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: tutorial ms.date: 12/02/2019 ms.custom: mvc, devx-track-azurepowershell diff --git a/articles/mysql/videos.md b/articles/mysql/videos.md index f2d6f18d6fe0..a78afec85c9c 100644 --- a/articles/mysql/videos.md +++ b/articles/mysql/videos.md @@ -4,6 +4,7 @@ description: This page lists video content relevant for learning Azure Database author: savjani ms.author: pariks ms.service: mysql +ms.subservice: single-server ms.topic: conceptual ms.date: 02/28/2018 --- diff --git a/articles/postgresql/overview-postgres-choose-server-options.md b/articles/postgresql/overview-postgres-choose-server-options.md index 9a5c747df5ae..3aafff8737e5 100644 --- a/articles/postgresql/overview-postgres-choose-server-options.md +++ b/articles/postgresql/overview-postgres-choose-server-options.md @@ -16,7 +16,7 @@ With Azure, your PostgreSQL Server workloads can run in a hosted virtual machine When making your decision, consider the following three options in PaaS or alternatively running on Azure VMs (IaaS) - [Azure Database for PostgreSQL Single Server](./overview-single-server.md) - [Azure Database for PostgreSQL Flexible Server](./flexible-server/overview.md) -- [Azure Database for PostgreSQL Hyperscale (Citus)](hyperscale/index.yml) +- [Azure Database for PostgreSQL Hyperscale (Citus)](./hyperscale/overview.md) **PostgreSQL on Azure VMs** option falls into the industry category of IaaS. With this service, you can run PostgreSQL Server inside a fully managed virtual machine on the Azure cloud platform. All recent versions and editions of PostgreSQL can be installed on an IaaS virtual machine. In the most significant difference from Azure Database for PostgreSQL, PostgreSQL on Azure VMs offers control over the database engine. However, this control comes at the cost of responsibility to manage the VMs and many database administration (DBA) tasks. These tasks include maintaining and patching database servers, database recovery, and high-availability design. diff --git a/articles/purview/apply-classifications.md b/articles/purview/apply-classifications.md index 2302de700ca6..4e2c3e24b8c1 100644 --- a/articles/purview/apply-classifications.md +++ b/articles/purview/apply-classifications.md @@ -14,7 +14,7 @@ This article discusses how to apply classifications on assets. ## Introduction -Classifications can be system or custom types. System classifications are present in Microsoft Purview by default. Custom classifications can be created based on a regular expression pattern. Classifications can be applied to assets either automatically or manually. +Classifications can be system or custom types. System classifications are present in Microsoft Purview by default. Custom classifications can be created based on a regular expression pattern and keyword lists. Classifications can be applied to assets either automatically via scanning or manually. This document explains how to apply classifications to your data. @@ -27,9 +27,9 @@ This document explains how to apply classifications to your data. In Microsoft Purview, you can apply system or custom classifications on a file, table, or column asset. This article describes the steps to manually apply classifications on your assets. ### Apply classification to a file asset -Microsoft Purview can scan and automatically classify documentation files. For example, if you have a file named *multiple.docx* and it has a National ID number in its content, Microsoft Purview adds the classification **EU National Identification Number** to the file asset's detail page. +Microsoft Purview can scan and automatically classify documents. For example, if you have a file named *multiple.docx* and it has a National ID number in its content, Microsoft Purview adds the classification **EU National Identification Number** to the file asset's detail page. -In some scenarios, you might want to manually add classifications to your file asset. If you have multiple files that are grouped into a resource set, add classifications at the resource set level. +In some scenarios, you might want to manually add classifications to your file asset or if you have multiple files that are grouped into a resource set, add classifications at the resource set level. Follow these steps to add a custom or system classification to a partition resource set: @@ -93,6 +93,17 @@ To add a classification to a column: :::image type="content" source="./media/apply-classifications/confirm-classification-added.png" alt-text="Screenshot showing how to confirm that a classification was added to a column schema."::: +## View classification details +Microsoft Purview captures important details like who applied a classification and when it was applied. To view the details, hover over the classification to revel the Classification details card. The classification details card shows the following information: +- Classification name - Name of the classification applied on the asset or column. +- Applied by - Who applied the classification. Possible values are scan and user name. +- Applied time - Local timestamp when the classification was applied via scan or manually. +- Classification type - System or custom. + +Users with *Data Curator* role will see additional details for classifications that were applied automatically via scan. These details will include sample count that the scanner read to classify the data and distinct data count in the sample that the scanner found. + +:::image type="content" source="./media/apply-classifications/view-classification-detail.png" alt-text="Screenshot showing how to view classification detail."::: + ## Impact of rescanning on existing classifications Classifications are applied the first time, based on sample set check on your data and matching it against the set regex pattern. At the time of rescan, if new classifications apply, the column gets additional classifications on it. Existing classifications stay on the column, and must be removed manually. diff --git a/articles/purview/catalog-permissions.md b/articles/purview/catalog-permissions.md index aca9c82f991b..b494d08b6ad3 100644 --- a/articles/purview/catalog-permissions.md +++ b/articles/purview/catalog-permissions.md @@ -1,6 +1,6 @@ --- -title: Understand access and permissions -description: This article gives an overview permission, access control, and collections in Microsoft Purview. Role-based access control is managed within Microsoft Purview itself, so this guide will cover the basics to secure your information. +title: Understand access and permissions in the Microsoft Purview Data Map +description: This article gives an overview permission, access control, and collections in the Microsoft Purview Data Map. Role-based access control is managed within the Microsoft Purview Data Map itself, so this guide will cover the basics to secure your information. author: viseshag ms.author: viseshag ms.service: purview @@ -8,12 +8,12 @@ ms.topic: conceptual ms.date: 03/09/2022 --- -# Access control in Microsoft Purview +# Access control in the Microsoft Purview Data Map -Microsoft Purview uses **Collections** to organize and manage access across its sources, assets, and other artifacts. This article describes collections and access management in your Microsoft Purview account. +The Microsoft Purview Data Map uses **Collections** to organize and manage access across its sources, assets, and other artifacts. This article describes collections and access management in your Microsoft Purview Data Map. > [!IMPORTANT] -> This article refers to permissions required for the Microsoft Purview governance portal. If you are looking for permissions information for the Microsoft Purview compliance center, follow [the article for permissions in the Microsoft Purview compliance portal](/microsoft-365/compliance/microsoft-365-compliance-center-permissions). +> This article refers to permissions required for the Microsoft Purview governance portal, and applications like the Microsoft Purview Data Map, Data Catalog, Data Estate Insights, etc. If you are looking for permissions information for the Microsoft Purview compliance center, follow [the article for permissions in the Microsoft Purview compliance portal](/microsoft-365/compliance/microsoft-365-compliance-center-permissions). ## Collections diff --git a/articles/purview/how-to-manage-quotas.md b/articles/purview/how-to-manage-quotas.md index 79ef5a3d7f7c..4dab4bdf51e3 100644 --- a/articles/purview/how-to-manage-quotas.md +++ b/articles/purview/how-to-manage-quotas.md @@ -2,8 +2,8 @@ title: Manage resources and quotas titleSuffix: Microsoft Purview description: Learn about the quotas and limits on resources for Microsoft Purview and how to request quota increases. -author: chandrakavya -ms.author: kchandra +author: whhender +ms.author: whhender ms.service: purview ms.topic: conceptual ms.date: 03/21/2022 diff --git a/articles/purview/media/apply-classifications/view-classification-detail.png b/articles/purview/media/apply-classifications/view-classification-detail.png new file mode 100644 index 000000000000..39e65cc0ccd2 Binary files /dev/null and b/articles/purview/media/apply-classifications/view-classification-detail.png differ diff --git a/articles/purview/register-scan-power-bi-tenant.md b/articles/purview/register-scan-power-bi-tenant.md index bad734fcf0f5..ce859d0a9be6 100644 --- a/articles/purview/register-scan-power-bi-tenant.md +++ b/articles/purview/register-scan-power-bi-tenant.md @@ -86,8 +86,8 @@ Use any of the following deployment checklists during the setup or for troublesh 3. If user is recently created, login with the user at least once to make sure password is reset successfully and user can successfully initiate the session. 4. There is no MFA or Conditional Access Policies are enforced on the user. 9. Validate App registration settings to make sure: - 1. App registration exists in your Azure Active Directory tenant. - 2. Under **API permissions**, the following **delegated permissions** and **grant admin consent for the tenant** is set up with read for the following APIs: + 5. App registration exists in your Azure Active Directory tenant. + 6. Under **API permissions**, the following **delegated permissions** and **grant admin consent for the tenant** is set up with read for the following APIs: 1. Power BI Service Tenant.Read.All 2. Microsoft Graph openid 3. Microsoft Graph User.Read diff --git a/articles/purview/toc.yml b/articles/purview/toc.yml index 3fefe04fd889..b275fa40e4b5 100644 --- a/articles/purview/toc.yml +++ b/articles/purview/toc.yml @@ -80,7 +80,7 @@ items: href: concept-best-practices-scanning.md - name: Security best practices href: concept-best-practices-security.md - - name: Microsoft Purview permissions + - name: Permissions and access href: catalog-permissions.md - name: Data map items: diff --git a/articles/security/develop/threat-modeling-tool-input-validation.md b/articles/security/develop/threat-modeling-tool-input-validation.md index 03d76082548e..40eae2b58eb8 100644 --- a/articles/security/develop/threat-modeling-tool-input-validation.md +++ b/articles/security/develop/threat-modeling-tool-input-validation.md @@ -415,7 +415,7 @@ In the preceding code example, the input value cannot be longer than 11 characte | **Applicable Technologies** | Generic | | **Attributes** | N/A | | **References** | N/A | -| **Steps** | Many javascript functions don't do encoding by default. When assigning untrusted input to DOM elements via such functions, may result in cross site script (XSS) executions.| +| **Steps** | Many JavaScript functions don't do encoding by default. When assigning untrusted input to DOM elements via such functions, may result in cross site script (XSS) executions.| ### Example Following are insecure examples: diff --git a/articles/service-fabric/faq-managed-cluster.yml b/articles/service-fabric/faq-managed-cluster.yml index f77c278e0ed7..30e8942676a3 100644 --- a/articles/service-fabric/faq-managed-cluster.yml +++ b/articles/service-fabric/faq-managed-cluster.yml @@ -48,7 +48,7 @@ sections: - question: | Where can I see planned features or suggest one? answer: | - Please see our github project for [managed clusters](https://github.com/microsoft/service-fabric/projects/17) + Please see our GitHub project for [managed clusters](https://github.com/microsoft/service-fabric/projects/17) - name: Cluster Deployment and Management questions: diff --git a/articles/spring-cloud/how-to-migrate-standard-tier-to-enterprise-tier.md b/articles/spring-cloud/how-to-migrate-standard-tier-to-enterprise-tier.md new file mode 100644 index 000000000000..ec34d596ded5 --- /dev/null +++ b/articles/spring-cloud/how-to-migrate-standard-tier-to-enterprise-tier.md @@ -0,0 +1,221 @@ +--- +title: How to migrate an Azure Spring Cloud Basic or Standard tier instance to Enterprise tier +titleSuffix: Azure Spring Cloud Enterprise tier +description: How to migrate an Azure Spring Cloud Basic or Standard tier instance to Enterprise tier +author: karlerickson +ms.author: xiading +ms.service: spring-cloud +ms.topic: how-to +ms.date: 05/09/2022 +ms.custom: devx-track-java, devx-track-azurecli +--- + +# Migrate an Azure Spring Cloud Basic or Standard tier instance to Enterprise tier + +**This article applies to:** ✔️ Basic/Standard tier ✔️ Enterprise tier + +This article shows you how to migrate an existing application in Basic or Standard tier to Enterprise tier. When you migrate from Basic or Standard tier to Enterprise tier, VMware Tanzu components will replace the OSS Spring Cloud components to provide more feature support. + +## Prerequisites + +- An already provisioned Azure Spring Cloud Enterprise tier service instance with Spring Cloud Gateway for Tanzu enabled. For more information, see [Quickstart: Provision an Azure Spring Cloud service instance using Enterprise tier](./quickstart-provision-service-instance-enterprise.md). However, you won't need to change any code in your applications. +- [Azure CLI version 2.0.67 or later](/cli/azure/install-azure-cli). + +## Using Application Configuration Service for configuration + +In Enterprise tier, Application Configuration Service provides external configuration support for your apps. Managed Spring Cloud Config Server is only available in Basic and Standard tiers and is not available in Enterprise tier. + +## Configure Application Configuration Service for Tanzu settings + +Follow these steps to use Application Configuration Service for Tanzu as a centralized configuration service. + +# [Azure portal](#tab/azure-portal) + +1. Select **Application Configuration Service**. +1. Select **Overview** to view the running state and resources allocated to Application Configuration Service for Tanzu. + + :::image type="content" source="./media/enterprise/getting-started-enterprise/config-service-overview.png" alt-text="Application Configuration Service Overview screen" lightbox="./media/enterprise/getting-started-enterprise/config-service-overview.png"::: + +1. Select **Settings**, then add a new entry in the **Repositories** section with the Git backend information. + +1. Select **Validate** to validate access to the target URI. After validation completes successfully, select **Apply** to update the configuration settings. + + :::image type="content" source="./media/enterprise/getting-started-enterprise/config-service-settings.png" alt-text="Application Configuration Service Settings overview" lightbox="./media/enterprise/getting-started-enterprise/config-service-settings.png"::: + +# [Azure CLI](#tab/azure-cli) + +```azurecli +az spring-cloud application-configuration-service git repo add \ + --name \ + --patterns \ + --uri \ + --label +``` + +--- + +### Bind application to Application Configuration Service for Tanzu and configure patterns + +When you use Application Configuration Service for Tanzu with a Git backend, you must bind the app to Application Configuration Service for Tanzu. After binding the app, you'll need to configure which pattern will be used by the app. Follow these steps to bind and configure the pattern for the app. + +# [Azure portal](#tab/azure-portal) + +1. Open the **App binding** tab. + +1. Select **Bind app** and choose one app in the dropdown, then select **Apply** to bind. + + :::image type="content" source="./media/enterprise/how-to-enterprise-application-configuration-service/config-service-app-bind-dropdown.png" alt-text="How to bind Application Configuration Service screenshot"::: + + > [!NOTE] + > When you change the bind/unbind status, you must restart or redeploy the app for the binding to take effect. + +1. Select **Apps**, then select the [pattern(s)](./how-to-enterprise-application-configuration-service.md#pattern) to be used by the apps. + + 1. In the left navigation menu, select **Apps** to view the list of apps. + + 1. Select the target app to configure patterns for from the `name` column. + + 1. In the left navigation pane, select **Configuration**, then select **General settings**. + + 1. In the **Config file patterns** dropdown, choose one or more patterns from the list. + + :::image type="content" source="./media/enterprise/how-to-enterprise-application-configuration-service/config-service-pattern.png" alt-text="Bind Application Configuration Service in deployment screenshot"::: + + 1. Select **Save**. + +# [Azure CLI](#tab/azure-cli) + +```azurecli +az spring-cloud application-configuration-service bind --app +az spring-cloud app deploy \ + --name \ + --artifact-path \ + --config-file-pattern +``` + +--- + +For more information, see [Use Application Configuration Service for Tanzu](./how-to-enterprise-application-configuration-service.md). + +## Bind an application to Tanzu Service Registry + +[Service Registry](https://docs.pivotal.io/spring-cloud-services/2-1/common/service-registry/index.html) is one of the proprietary VMware Tanzu components. It provides your apps with an implementation of the Service Discovery pattern, one of the key concepts of a microservice-based architecture. + +Use the following steps to bind an application to Tanzu Service Registry. + +1. Open the **App binding** tab. + +1. Select **Bind app** and choose one app in the dropdown, then select **Apply** to bind. + + :::image type="content" source="./media/enterprise/how-to-enterprise-service-registry/service-reg-app-bind-dropdown.png" alt-text="Bind Service Registry dropdown screenshot"::: + + > [!NOTE] + > When you change the bind/unbind status, you must restart or redeploy the app to make the change take effect. + +For more information, see [Use Tanzu Service Registry](./how-to-enterprise-service-registry.md). + +## Create and configure an application using Spring Cloud Gateway for Tanzu + +[Spring Cloud Gateway for Tanzu](https://docs.vmware.com/en/VMware-Spring-Cloud-Gateway-for-Kubernetes/index.html) is one of the VMware Tanzu components. It's based on the open-source Spring Cloud Gateway project. Spring Cloud Gateway for Tanzu handles cross-cutting concerns for API development teams, such as Single Sign-On (SSO), access control, rate-limiting, resiliency, security, and more. + +Use the following steps to create and configure an application using Spring Cloud Gateway for Tanzu. + +### Create an app for Spring Cloud Gateway to route traffic to + +1. Create an app which Spring Cloud Gateway for Tanzu will route traffic to by following the instructions in [Quickstart: Build and deploy apps to Azure Spring Cloud using the Enterprise tier](quickstart-deploy-apps-enterprise.md). + +1. Assign a public endpoint to the gateway to access it. + + # [Azure portal](#tab/azure-portal) + + 1. Select the **Spring Cloud Gateway** section, then select **Overview** to view the running state and resources given to Spring Cloud Gateway and its operator. + + 1. Select **Yes** next to *Assign endpoint* to assign a public endpoint. You'll get a URL in a few minutes. Save the URL to use later. + + :::image type="content" source="./media/enterprise/getting-started-enterprise/gateway-overview.png" alt-text="Gateway overview screenshot showing assigning endpoint" lightbox="./media/enterprise/getting-started-enterprise/gateway-overview.png"::: + + # [Azure CLI](#tab/azure-cli) + + ```azurecli + az spring-cloud gateway update --assign-endpoint + ``` + --- + +### Configure Spring Cloud Gateway + +1. Configure Spring Cloud Gateway for Tanzu properties using the CLI: + + ```azurecli + az spring-cloud gateway update \ + --api-description "" \ + --api-title "" \ + --api-version "v0.1" \ + --server-url "" \ + --allowed-origins "*" + ``` + + You can view the properties in the portal. + + :::image type="content" source="./media/enterprise/how-to-use-enterprise-spring-cloud-gateway/gateway-configuration.png" alt-text="Gateway Configuration settings screenshot" lightbox="./media/enterprise/how-to-use-enterprise-spring-cloud-gateway/gateway-configuration.png"::: + +1. Configure routing rules to apps. + + Create rules to access apps deployed in the above steps through Spring Cloud Gateway for Tanzu. + + Save the following content to your application's JSON file, changing the placeholders to your application's information. + + ```json + [ + { + "title": "", + "description": "Route to ", + "predicates": [ + "Path=/api//owners" + ], + "filters": [ + "StripPrefix=2" + ], + "tags": [ + "" + ] + } + ] + ``` + +1. Apply the rule to your application using the following command: + + ```azurecli + az spring-cloud gateway route-config create \ + --name \ + --app-name \ + --routes-file .json + ``` + + You can view the routes in the portal. + + :::image type="content" source="media/enterprise/how-to-use-enterprise-spring-cloud-gateway/gateway-route.png" alt-text="Example screenshot of gateway routing configuration" lightbox="media/enterprise/how-to-use-enterprise-spring-cloud-gateway/gateway-route.png"::: + +## Access application APIs through the gateway endpoint + +1. Access the application APIs through the gateway endpoint using the following command: + + ```bash + curl https:///api/ + ``` + +1. Query the routing rules using the following commands: + + ```azurecli + az configure --defaults group= spring-cloud= + az spring-cloud gateway route-config show \ + --name \ + --query '{appResourceId:properties.appResourceId, routes:properties.routes}' + az spring-cloud gateway route-config list \ + --query '[].{name:name, appResourceId:properties.appResourceId, routes:properties.routes}' + ``` + +For more information, see [Use Spring Cloud Gateway for Tanzu](./how-to-use-enterprise-spring-cloud-gateway.md). + +## Next steps + +- [Azure Spring Cloud](index.yml) diff --git a/articles/spring-cloud/toc.yml b/articles/spring-cloud/toc.yml index acb80dd5a709..bbea70b914c8 100644 --- a/articles/spring-cloud/toc.yml +++ b/articles/spring-cloud/toc.yml @@ -248,6 +248,8 @@ items: href: how-to-dump-jvm-options.md - name: Migrate items: + - name: Migrate Standard and Basic to Enterprise + href: how-to-migrate-standard-tier-to-enterprise-tier.md - name: Spring Cloud href: /azure/developer/java/migration/migrate-spring-cloud-to-azure-spring-cloud?toc=/azure/spring-cloud/toc.json&bc=/azure/bread/toc.json - name: Spring Boot diff --git a/articles/static-web-apps/get-started-cli.md b/articles/static-web-apps/get-started-cli.md index fc5d50561455..6b1ab8e03ddf 100644 --- a/articles/static-web-apps/get-started-cli.md +++ b/articles/static-web-apps/get-started-cli.md @@ -129,7 +129,7 @@ Now that the repository is created, you can create a static web app from the Azu As you execute this command, the CLI starts GitHub interactive login experience. Look for a line in your console that resembles the following message. - > Please navigate to `https://github.com/login/device` and enter the user code 329B-3945 to activate and retrieve your github personal access token. + > Please navigate to `https://github.com/login/device` and enter the user code 329B-3945 to activate and retrieve your GitHub personal access token. 1. Navigate to **https://github.com/login/device**. diff --git a/articles/storage/common/customer-managed-keys-configure-key-vault-hsm.md b/articles/storage/common/customer-managed-keys-configure-key-vault-hsm.md index 456ec9c59783..8801e003f015 100644 --- a/articles/storage/common/customer-managed-keys-configure-key-vault-hsm.md +++ b/articles/storage/common/customer-managed-keys-configure-key-vault-hsm.md @@ -7,7 +7,7 @@ author: tamram ms.service: storage ms.topic: how-to -ms.date: 03/30/2021 +ms.date: 05/05/2022 ms.author: tamram ms.reviewer: ozgun ms.subservice: common @@ -62,7 +62,9 @@ Finally, configure Azure Storage encryption with customer-managed keys to use a Install Azure CLI 2.12.0 or later to configure encryption to use a customer-managed key in a managed HSM. For more information, see [Install the Azure CLI](/cli/azure/install-azure-cli). -To automatically update the key version for a customer-managed key, omit the key version when you configure encryption with customer-managed keys for the storage account. Call [az storage account update](/cli/azure/storage/account#az-storage-account-update) to update the storage account's encryption settings, as shown in the following example. Include the `--encryption-key-source parameter` and set it to `Microsoft.Keyvault` to enable customer-managed keys for the account. Remember to replace the placeholder values in brackets with your own values. +To automatically update the key version for a customer-managed key, omit the key version when you configure encryption with customer-managed keys for the storage account. For more information about configuring encryption for automatic key rotation, see [Update the key version](customer-managed-keys-overview.md#update-the-key-version). + +Next, call [az storage account update](/cli/azure/storage/account#az-storage-account-update) to update the storage account's encryption settings, as shown in the following example. Include the `--encryption-key-source parameter` and set it to `Microsoft.Keyvault` to enable customer-managed keys for the account. Remember to replace the placeholder values in brackets with your own values. ```azurecli hsmurl = $(az keyvault show \ diff --git a/articles/storage/common/customer-managed-keys-configure-key-vault.md b/articles/storage/common/customer-managed-keys-configure-key-vault.md index e8f2bbaabe0d..dd57e87f05c1 100644 --- a/articles/storage/common/customer-managed-keys-configure-key-vault.md +++ b/articles/storage/common/customer-managed-keys-configure-key-vault.md @@ -7,7 +7,7 @@ author: tamram ms.service: storage ms.topic: how-to -ms.date: 03/07/2022 +ms.date: 05/05/2022 ms.author: tamram ms.reviewer: ozgun ms.subservice: common @@ -298,11 +298,14 @@ When you configure encryption with customer-managed keys for an existing storage You can use either a system-assigned or user-assigned managed identity to authorize access to the key vault when you configure customer-managed keys for an existing storage account. > [!NOTE] -> To rotate a key, create a new version of the key in Azure Key Vault. Azure Storage does not handle the rotation of the key in Azure Key Vault, so you will need to rotate your key manually or create a function to rotate it on a schedule. +> To rotate a key, create a new version of the key in Azure Key Vault. Azure Storage does not handle key rotation, so you will need to manage rotation of the key in the key vault. You can [configure key auto-rotation in Azure Key Vault](../../key-vault/keys/how-to-configure-key-rotation.md) or rotate your key manually. ### Configure encryption for automatic updating of key versions -Azure Storage can automatically update the customer-managed key that is used for encryption to use the latest key version. When the customer-managed key is rotated in Azure Key Vault, Azure Storage will automatically begin using the latest version of the key for encryption. +Azure Storage can automatically update the customer-managed key that is used for encryption to use the latest key version from the key vault. Azure Storage checks the key vault daily for a new version of the key. When a new version becomes available, then Azure Storage automatically begins using the latest version of the key for encryption. + +> [!IMPORTANT] +> Azure Storage checks the key vault for a new key version only once daily. When you rotate a key, be sure to wait 24 hours before disabling the older version. ### [Azure portal](#tab/portal) diff --git a/articles/storage/common/customer-managed-keys-overview.md b/articles/storage/common/customer-managed-keys-overview.md index f22abed282f8..7e24edf59af6 100644 --- a/articles/storage/common/customer-managed-keys-overview.md +++ b/articles/storage/common/customer-managed-keys-overview.md @@ -6,7 +6,7 @@ services: storage author: tamram ms.service: storage -ms.date: 01/24/2022 +ms.date: 05/05/2022 ms.topic: conceptual ms.author: tamram ms.reviewer: ozgun @@ -87,7 +87,10 @@ Using a key vault or managed HSM has associated costs. For more information, see When you configure encryption with customer-managed keys, you have two options for updating the key version: -- **Automatically update the key version:** To automatically update a customer-managed key when a new version is available, omit the key version when you enable encryption with customer-managed keys for the storage account. If the key version is omitted, then Azure Storage checks the key vault or managed HSM daily for a new version of a customer-managed key. Azure Storage automatically uses the latest version of the key. +- **Automatically update the key version:** To automatically update a customer-managed key when a new version is available, omit the key version when you enable encryption with customer-managed keys for the storage account. If the key version is omitted, then Azure Storage checks the key vault or managed HSM daily for a new version of a customer-managed key. If a new key version is available, then Azure Storage automatically uses the latest version of the key. + + Azure Storage checks the key vault for a new key version only once daily. When you rotate a key, be sure to wait 24 hours before disabling the older version. + - **Manually update the key version:** To use a specific version of a key for Azure Storage encryption, specify that key version when you enable encryption with customer-managed keys for the storage account. If you specify the key version, then Azure Storage uses that version for encryption until you manually update the key version. When the key version is explicitly specified, then you must manually update the storage account to use the new key version URI when a new version is created. To learn how to update the storage account to use a new version of the key, see [Configure encryption with customer-managed keys stored in Azure Key Vault](customer-managed-keys-configure-key-vault.md) or [Configure encryption with customer-managed keys stored in Azure Key Vault Managed HSM](customer-managed-keys-configure-key-vault-hsm.md). diff --git a/articles/storage/common/storage-use-azurite.md b/articles/storage/common/storage-use-azurite.md index 2284c02d4b63..46aaf41a8f4f 100644 --- a/articles/storage/common/storage-use-azurite.md +++ b/articles/storage/common/storage-use-azurite.md @@ -23,7 +23,7 @@ There are several different ways to install and run Azurite on your local system ### [Visual Studio](#tab/visual-studio) -Azurite is automatically available with [Visual Studio 2022](https://visualstudio.microsoft.com/vs/). If you are running an earlier version of Visual Studio, you'll need to install Azurite by using either Node Package Manager, DockerHub, or by cloning the Azurite github repository. +Azurite is automatically available with [Visual Studio 2022](https://visualstudio.microsoft.com/vs/). If you are running an earlier version of Visual Studio, you'll need to install Azurite by using either Node Package Manager, DockerHub, or by cloning the Azurite GitHub repository. ### [Visual Studio Code](#tab/visual-studio-code) diff --git a/articles/storage/files/storage-files-migration-linux-hybrid.md b/articles/storage/files/storage-files-migration-linux-hybrid.md index 68d3c9614945..5519b58f6b56 100644 --- a/articles/storage/files/storage-files-migration-linux-hybrid.md +++ b/articles/storage/files/storage-files-migration-linux-hybrid.md @@ -1,11 +1,11 @@ --- title: Linux migration to Azure File Sync description: Learn how to migrate files from a Linux server location to a hybrid cloud deployment with Azure File Sync and Azure file shares. -author: fauhse +author: khdownie ms.service: storage ms.topic: how-to ms.date: 03/19/2020 -ms.author: fauhse +ms.author: kendownie ms.subservice: files --- diff --git a/articles/storage/files/storage-files-migration-nas-cloud-databox.md b/articles/storage/files/storage-files-migration-nas-cloud-databox.md index 46e4de8b59b5..d8b677ec42d0 100644 --- a/articles/storage/files/storage-files-migration-nas-cloud-databox.md +++ b/articles/storage/files/storage-files-migration-nas-cloud-databox.md @@ -1,11 +1,11 @@ --- title: On-premises NAS migration to Azure file shares description: Learn how to migrate files from an on-premises Network Attached Storage (NAS) location to Azure file shares with Azure DataBox. -author: fauhse +author: khdownie ms.service: storage ms.topic: how-to ms.date: 04/02/2021 -ms.author: fauhse +ms.author: kendownie ms.subservice: files --- diff --git a/articles/storage/files/storage-files-migration-nas-hybrid-databox.md b/articles/storage/files/storage-files-migration-nas-hybrid-databox.md index c595da45695b..56e7dde44c5e 100644 --- a/articles/storage/files/storage-files-migration-nas-hybrid-databox.md +++ b/articles/storage/files/storage-files-migration-nas-hybrid-databox.md @@ -1,11 +1,11 @@ --- title: On-premises NAS migration to Azure File Sync via Data Box description: Learn how to migrate files from an on-premises Network Attached Storage (NAS) location to a hybrid cloud deployment by using Azure File Sync via Azure Data Box. -author: fauhse +author: khdownie ms.service: storage ms.topic: how-to ms.date: 03/5/2021 -ms.author: fauhse +ms.author: kendownie ms.subservice: files --- diff --git a/articles/storage/files/storage-files-migration-nas-hybrid.md b/articles/storage/files/storage-files-migration-nas-hybrid.md index cd78b4a270e9..62a1bc79e3d9 100644 --- a/articles/storage/files/storage-files-migration-nas-hybrid.md +++ b/articles/storage/files/storage-files-migration-nas-hybrid.md @@ -1,11 +1,11 @@ --- title: On-premises NAS migration to Azure File Sync description: Learn how to migrate files from an on-premises Network Attached Storage (NAS) location to a hybrid cloud deployment with Azure File Sync and Azure file shares. -author: fauhse +author: khdownie ms.service: storage ms.topic: how-to ms.date: 03/19/2020 -ms.author: fauhse +ms.author: kendownie ms.subservice: files --- diff --git a/articles/storage/files/storage-files-migration-overview.md b/articles/storage/files/storage-files-migration-overview.md index eedb0023f96d..fe3189c164cc 100644 --- a/articles/storage/files/storage-files-migration-overview.md +++ b/articles/storage/files/storage-files-migration-overview.md @@ -1,11 +1,11 @@ --- title: Migrate to Azure file shares description: Learn about migrations to Azure file shares and find your migration guide. -author: fauhse +author: khdownie ms.service: storage ms.topic: conceptual ms.date: 3/18/2020 -ms.author: fauhse +ms.author: kendownie ms.subservice: files --- diff --git a/articles/storage/files/storage-files-migration-robocopy.md b/articles/storage/files/storage-files-migration-robocopy.md index f565be68b769..ca073cbf23e0 100644 --- a/articles/storage/files/storage-files-migration-robocopy.md +++ b/articles/storage/files/storage-files-migration-robocopy.md @@ -1,11 +1,11 @@ --- title: Migrate to Azure file shares using RoboCopy description: Learn how to migrate files from several locations Azure file shares with RoboCopy. -author: fauhse +author: khdownie ms.service: storage ms.topic: how-to ms.date: 04/12/2021 -ms.author: fauhse +ms.author: kendownie ms.subservice: files --- diff --git a/articles/storage/files/storage-files-migration-server-hybrid-databox.md b/articles/storage/files/storage-files-migration-server-hybrid-databox.md index 2a2a2043f5b8..6396afbf49f3 100644 --- a/articles/storage/files/storage-files-migration-server-hybrid-databox.md +++ b/articles/storage/files/storage-files-migration-server-hybrid-databox.md @@ -1,11 +1,11 @@ --- title: Migrate data into Azure File Sync with Azure Data Box description: Migrate bulk data offline that's compatible with Azure File Sync. Avoid file conflicts, and catch up your file share with the latest changes on the server for a zero downtime cloud migration. -author: fauhse +author: khdownie ms.service: storage ms.topic: how-to ms.date: 06/01/2021 -ms.author: fauhse +ms.author: kendownie ms.subservice: files --- diff --git a/articles/storage/files/storage-files-migration-storsimple-1200.md b/articles/storage/files/storage-files-migration-storsimple-1200.md index 80f3dfdeb53a..e3cb23fcdc8d 100644 --- a/articles/storage/files/storage-files-migration-storsimple-1200.md +++ b/articles/storage/files/storage-files-migration-storsimple-1200.md @@ -1,11 +1,11 @@ --- title: StorSimple 1200 migration to Azure File Sync description: Learn how to migrate a StorSimple 1200 series virtual appliance to Azure File Sync. -author: fauhse +author: khdownie ms.service: storage ms.topic: how-to ms.date: 03/09/2020 -ms.author: fauhse +ms.author: kendownie ms.subservice: files --- diff --git a/articles/storage/files/storage-files-migration-storsimple-8000.md b/articles/storage/files/storage-files-migration-storsimple-8000.md index 5a6fd69f4958..f5c579a34975 100644 --- a/articles/storage/files/storage-files-migration-storsimple-8000.md +++ b/articles/storage/files/storage-files-migration-storsimple-8000.md @@ -1,11 +1,11 @@ --- title: StorSimple 8000 series migration to Azure File Sync description: Learn how to migrate a StorSimple 8100 or 8600 appliance to Azure File Sync. -author: fauhse +author: khdownie ms.service: storage ms.topic: how-to ms.date: 10/22/2021 -ms.author: fauhse +ms.author: kendownie ms.subservice: files --- diff --git a/articles/storage/files/storage-how-to-create-file-share.md b/articles/storage/files/storage-how-to-create-file-share.md index 656501a576f2..24a9535295e5 100644 --- a/articles/storage/files/storage-how-to-create-file-share.md +++ b/articles/storage/files/storage-how-to-create-file-share.md @@ -23,7 +23,7 @@ To create an Azure file share, you need to answer three questions about how you Premium file shares are available with locally redundancy and zone redundancy in a subset of regions. To find out if premium file shares are currently available in your region, see the [products available by region](https://azure.microsoft.com/global-infrastructure/services/?products=storage) page for Azure. For information about regions that support ZRS, see [Azure Storage redundancy](../common/storage-redundancy.md?toc=%2fazure%2fstorage%2ffiles%2ftoc.json). - **What size file share do you need?** - In local and zone redundant storage accounts, Azure file shares can span up to 100 TiB, however in geo- and geo-zone redundant storage accounts, Azure file shares can span only up to 5 TiB. + In local and zone redundant storage accounts, Azure file shares can span up to 100 TiB. However, in geo- and geo-zone redundant storage accounts, Azure file shares can span only up to 5 TiB. For more information on these three choices, see [Planning for an Azure Files deployment](storage-files-planning.md). @@ -63,7 +63,7 @@ To create a FileStorage storage account, ensure the **Performance** radio button :::image type="content" source="media/storage-how-to-create-file-share/files-create-smb-share-performance-premium.png" alt-text="A screenshot of the performance radio button with premium selected and account kind with FileStorage selected."::: The other basics fields are independent from the choice of storage account: -- **Storage account name**: The name of the storage account resource to be created. This name must be globally unique, but otherwise can any name you desire. The storage account name will be used as the server name when you mount an Azure file share via SMB. +- **Storage account name**: The name of the storage account resource to be created. This name must be globally unique. The storage account name will be used as the server name when you mount an Azure file share via SMB. Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. - **Location**: The region for the storage account to be deployed into. This can be the region associated with the resource group, or any other available region. - **Replication**: Although this is labeled replication, this field actually means **redundancy**; this is the desired redundancy level: locally redundancy (LRS), zone redundancy (ZRS), geo-redundancy (GRS), and geo-zone-redundancy (GZRS). This drop-down list also contains read-access geo-redundancy (RA-GRS) and read-access geo-zone redundancy (RA-GZRS), which do not apply to Azure file shares; any file share created in a storage account with these selected will actually be either geo-redundant or geo-zone-redundant, respectively. @@ -166,7 +166,7 @@ az storage account create \ --- ### Enable large files shares on an existing account -Before you create an Azure file share on an existing account, you may want to enable it for large file shares if you haven't already. Standard storage accounts using either LRS or ZRS can be upgraded to support large file shares. If you have a GRS, GZRS, RA-GRS, or RA-GZRS account, you will need to convert it to an LRS account before proceeding. +Before you create an Azure file share on an existing storage account, you may want to enable it for large file shares (up to 100 TiB) if you haven't already. Standard storage accounts using either LRS or ZRS can be upgraded to support large file shares without causing downtime for existing file shares on the storage account. If you have a GRS, GZRS, RA-GRS, or RA-GZRS account, you will need to convert it to an LRS account before proceeding. # [Portal](#tab/azure-portal) 1. Open the [Azure portal](https://portal.azure.com), and navigate to the storage account where you want to enable large file shares. @@ -178,7 +178,7 @@ Before you create an Azure file share on an existing account, you may want to en :::image type="content" source="media/storage-files-how-to-create-large-file-share/files-enable-large-file-share-existing-account.png" alt-text="Screenshot of the storage account, file shares blade with 100 TiB shares highlighted."::: # [PowerShell](#tab/azure-powershell) -To enable large file shares on your existing account, use the following command. Replace `` and `` with your information. +To enable large file shares on your existing storage account, use the following command. Replace `` and `` with your information. ```powershell Set-AzStorageAccount ` @@ -188,7 +188,7 @@ Set-AzStorageAccount ` ``` # [Azure CLI](#tab/azure-cli) -To enable large file shares on your existing account, use the following command. Replace `` and `` with your information. +To enable large file shares on your existing storage account, use the following command. Replace `` and `` with your information. ```azurecli-interactive az storage account update --name -g --enable-large-file-share @@ -197,7 +197,7 @@ az storage account update --name -g --- ## Create a file share -Once you've created your storage account, all that is left is to create your file share. This process is mostly the same regardless of whether you're using a premium file share or a standard file share. You should consider the following differences. +Once you've created your storage account, you can create your file share. This process is mostly the same regardless of whether you're using a premium file share or a standard file share. You should consider the following differences: Standard file shares may be deployed into one of the standard tiers: transaction optimized (default), hot, or cool. This is a per file share tier that is not affected by the **blob access tier** of the storage account (this property only relates to Azure Blob storage - it does not relate to Azure Files at all). You can change the tier of the share at any time after it has been deployed. Premium file shares cannot be directly converted to any standard tier. @@ -206,7 +206,7 @@ Standard file shares may be deployed into one of the standard tiers: transaction The **quota** property means something slightly different between premium and standard file shares: -- For standard file shares, it's an upper boundary of the Azure file share, beyond which end-users cannot go. If a quota is not specified, standard file share can span up to 100 TiB or 5 TiB if the large file shares property is not set for a storage account. If you did not create your storage account with large file shares enabled, see [Enable large files shares on an existing account](#enable-large-files-shares-on-an-existing-account) for how to enable 100 TiB file shares. +- For standard file shares, it's an upper boundary of the Azure file share, beyond which end-users cannot go. If a quota is not specified, standard file shares can span up to 100 TiB (or 5 TiB if the large file shares property is not set for a storage account). If you did not create your storage account with large file shares enabled, see [Enable large files shares on an existing account](#enable-large-files-shares-on-an-existing-account) for how to enable 100 TiB file shares. - For premium file shares, quota means **provisioned size**. The provisioned size is the amount that you will be billed for, regardless of actual usage. The IOPS and throughput available on a premium file share is based on the provisioned size. For more information on how to plan for a premium file share, see [provisioning premium file shares](understanding-billing.md#provisioned-model). diff --git a/articles/synapse-analytics/guidance/media/security-white-paper-overview/azure-synapse-components.png b/articles/synapse-analytics/guidance/media/security-white-paper-overview/azure-synapse-components.png new file mode 100644 index 000000000000..c9b19d20c5ce Binary files /dev/null and b/articles/synapse-analytics/guidance/media/security-white-paper-overview/azure-synapse-components.png differ diff --git a/articles/synapse-analytics/guidance/security-white-paper-introduction.md b/articles/synapse-analytics/guidance/security-white-paper-introduction.md index 8cfb2e0699ac..909ba27cc6f6 100644 --- a/articles/synapse-analytics/guidance/security-white-paper-introduction.md +++ b/articles/synapse-analytics/guidance/security-white-paper-introduction.md @@ -20,7 +20,7 @@ ms.date: 01/14/2022 - [Dedicated SQL pool](../sql-data-warehouse/sql-data-warehouse-overview-what-is.md?context=/azure/synapse-analytics/context/context) (formerly SQL DW) for enterprise data warehousing. - Deep integration with [Power BI](https://powerbi.microsoft.com/), [Azure Cosmos DB](../../cosmos-db/synapse-link.md?context=/azure/synapse-analytics/context/context), and [Azure Machine Learning](../machine-learning/what-is-machine-learning.md). -Azure Synapse data security and privacy are non-negotiable. The purpose of this white paper, then, is to provide a comprehensive overview of Azure Synapse security features, which are enterprise-grade and industry-leading. The white paper comprises a series of articles that cover the following five layers of security: +Azure Synapse data security and privacy are non-negotiable. The purpose of this white paper is to provide a comprehensive overview of Azure Synapse security features, which are enterprise-grade and industry-leading. The white paper comprises a series of articles that cover the following five layers of security: - Data protection - Access control @@ -30,9 +30,9 @@ Azure Synapse data security and privacy are non-negotiable. The purpose of this This white paper targets all enterprise security stakeholders. They include security administrators, network administrations, Azure administrators, workspace administrators, and database administrators. -**Writers:** Vengatesh Parasuraman, Fretz Nuson, Ron Dunn, Khendr'a Reid, John Hoang, Nithesh Krishnappa, Mykola Kovalenko, Brad Schacht, Pedro Matinez, Mark Pryce-Maher, and Arshad Ali. +**Writers:** Vengatesh Parasuraman, Fretz Nuson, Ron Dunn, Khendr'a Reid, John Hoang, Nithesh Krishnappa, Mykola Kovalenko, Brad Schacht, Pedro Martinez, Mark Pryce-Maher, and Arshad Ali. -**Technical Reviewers:** Nandita Valsan, Rony Thomas, Daniel Crawford, and Tammy Richter Jones. +**Technical Reviewers:** Nandita Valsan, Rony Thomas, Abhishek Narain, Daniel Crawford, and Tammy Richter Jones. **Applies to:** Azure Synapse Analytics, dedicated SQL pool (formerly SQL DW), serverless SQL pool, and Apache Spark pool. @@ -53,6 +53,30 @@ Some common security questions include: The purpose of this white paper is to provide answers to these common security questions, and many others. +## Component architecture + +Azure Synapse is a Platform-as-a-service (PaaS) analytics service that brings together multiple independent components such as dedicated SQL pools, serverless SQL pools, Apache Spark pools, and data integration pipelines. These components are designed to work together to provide a seamless analytical platform experience. + +[Dedicated SQL pools](../sql/overview-architecture.md) are provisioned clusters that provide enterprise data warehousing capabilities for SQL workloads. Data is ingested into managed storage powered by Azure Storage, which is also a PaaS service. Compute is isolated from storage enabling customers to scale compute independently of their data. Dedicated SQL pools also provide the ability to query data files directly over customer-managed Azure Storage accounts by using external tables. + +[Serverless SQL pools](../sql/on-demand-workspace-overview.md) are on-demand clusters that provide a SQL interface to query and analyze data directly over customer-managed Azure Storage accounts. Since they're serverless, there's no managed storage, and the compute nodes scale automatically in response to the query workload. + +[Apache Spark](../spark/apache-spark-overview.md) in Azure Synapse is one of Microsoft's implementations of open-source Apache Spark in the cloud. Spark instances are provisioned on-demand based on the metadata configurations defined in the Spark pools. Each user gets their own dedicated Spark instance for running their jobs. The data files processed by the Spark instances are managed by the customer in their own Azure Storage accounts. + + [Pipelines](../../data-factory/concepts-pipelines-activities.md) are a logical grouping of activities that perform data movement and data transformation at scale. [Data flow](../../data-factory/concepts-data-flow-overview.md) is a transformation activity in a pipeline that's developed by using a low-code user interface. It can execute data transformations at scale. Behind the scenes, data flows use Apache Spark clusters of Azure Synapse to execute automatically generated code. Pipelines and data flows are compute-only services, and they don't have any managed storage associated with them. + +Pipelines use the Integration Runtime (IR) as the scalable compute infrastructure for performing data movement and dispatch activities. Data movement activities run on the IR whereas the dispatch activities run on variety of other compute engines, including Azure SQL Database, Azure HDInsight, Azure Databricks, Apache Spark clusters of Azure Synapse, and others. Azure Synapse supports two types of IR: Azure Integration Runtime and Self-hosted Integration Runtime. The [Azure IR](/azure/data-factory/concepts-integration-runtime.md#azure-integration-runtime) provides a fully managed, scalable, and on-demand compute infrastructure. The [Self-hosted IR](/azure/data-factory/concepts-integration-runtime.md#self-hosted-integration-runtime) is installed and configured by the customer in their own network, either in on-premises machines or in Azure cloud virtual machines. + +Customers can choose to associate their Synapse workspace with a [managed workspace virtual network](../security/synapse-workspace-managed-vnet.md). When associated with a managed workspace virtual network, Azure IRs and Apache Spark clusters that are used by pipelines, data flows, and the Apache Spark pools are deployed inside the managed workspace virtual network. This setup ensures network isolation between the workspaces for pipelines and Apache Spark workloads. + +The following diagram depicts the various components of Azure Synapse. + +:::image type="content" source="media/security-white-paper-overview/azure-synapse-components.png" border="false" alt-text="Diagram of Azure Synapse components showing dedicated SQL pools, serverless SQL pools, Apache Spark pools, and pipelines."::: + +## Component isolation + +Each individual component of Azure Synapse depicted in the diagram provides its own security features. Security features provide data protection, access control, authentication, network security, and threat protection for securing the compute and the associated data that’s processed. Additionally, Azure Storage, being a PaaS service, provides additional security of its own, that's set up and managed by the customer in their own storage accounts. This level of component isolation limits and minimizes the exposure if there were a security vulnerability in any one of its components. + ## Security layers Azure Synapse implements a multi-layered security architecture for end-to-end protection of your data. There are five layers: diff --git a/articles/synapse-analytics/toc.yml b/articles/synapse-analytics/toc.yml index eeb36b6ac15b..5645a66319f9 100644 --- a/articles/synapse-analytics/toc.yml +++ b/articles/synapse-analytics/toc.yml @@ -864,8 +864,6 @@ items: # items: # - name: Quickstarts # items: - # - name: Tutorials - # items: - name: Quickstarts items: - name: Load data into SQL pools using copy activity @@ -874,6 +872,10 @@ items: href: quickstart-data-flow.md - name: Transform data using Apache Spark job definition href: quickstart-transform-data-using-spark-job-definition.md + - name: Tutorials + items: + - name: Move an existing Azure integration runtime to a managed virtual network + href: ../data-factory/tutorial-managed-virtual-network-migrate.md?context=/azure/synapse-analytics/context/context&tabs=synapse-analytics - name: Concepts items: - name: Pipeline and activity diff --git a/articles/traffic-manager/media/traffic-manager-nested-profiles/figure-11.png b/articles/traffic-manager/media/traffic-manager-nested-profiles/figure-11.png index 9015fae4a9a4..9fba67bb5c13 100644 Binary files a/articles/traffic-manager/media/traffic-manager-nested-profiles/figure-11.png and b/articles/traffic-manager/media/traffic-manager-nested-profiles/figure-11.png differ diff --git a/articles/virtual-machines/TOC.yml b/articles/virtual-machines/TOC.yml index 15dca57ce5f5..78f12732e266 100644 --- a/articles/virtual-machines/TOC.yml +++ b/articles/virtual-machines/TOC.yml @@ -604,6 +604,9 @@ - name: Store scripts displayName: Image builder, images, building, scripts href: ./linux/image-builder-user-assigned-identity.md + - name: What's new in Azure Image Builder + displayName: Image builder, images, building, api, features, updates, change log + href: image-builder-api-update-release-notes.md - name: Troubleshoot displayName: Image builder, images, building href: ./linux/image-builder-troubleshoot.md diff --git a/articles/virtual-machines/dasv5-dadsv5-series.md b/articles/virtual-machines/dasv5-dadsv5-series.md index fdcef107aa45..9cfe685781b1 100644 --- a/articles/virtual-machines/dasv5-dadsv5-series.md +++ b/articles/virtual-machines/dasv5-dadsv5-series.md @@ -1,8 +1,8 @@ --- title: 'Dasv5 and Dadsv5-series - Azure Virtual Machines' description: Specifications for the Dasv5 and Dadsv5-series VMs. -author: brbell -ms.author: brbell +author: mamccrea +ms.author: mamccrea ms.reviewer: mimckitt ms.service: virtual-machines ms.subservice: vm-sizes-general diff --git a/articles/virtual-machines/easv5-eadsv5-series.md b/articles/virtual-machines/easv5-eadsv5-series.md index 36e5e06514e9..cfffe37bf3f1 100644 --- a/articles/virtual-machines/easv5-eadsv5-series.md +++ b/articles/virtual-machines/easv5-eadsv5-series.md @@ -1,8 +1,8 @@ --- title: 'Easv5 and Eadsv5-series - Azure Virtual Machines' description: Specifications for the Easv5 and Eadsv5-series VMs. -author: brbell -ms.author: brbell +author: mamccrea +ms.author: mamccrea ms.reviewer: mimckitt ms.service: virtual-machines ms.subservice: vm-sizes-memory diff --git a/articles/virtual-machines/image-builder-api-update-release-notes.md b/articles/virtual-machines/image-builder-api-update-release-notes.md new file mode 100644 index 000000000000..915b3294f2bc --- /dev/null +++ b/articles/virtual-machines/image-builder-api-update-release-notes.md @@ -0,0 +1,93 @@ +--- +title: What's new in Azure Image Builder +description: Learn what is new with Azure Image Builder; such as the latest release notes, known issues, bug fixes, deprecated functionality, and upcoming changes. +author: kof-f +ms.service: virtual-machines +ms.topic: conceptual +ms.workload: infrastructure +ms.date: 04/04/2022 +ms.reviewer: erd +ms.subservice: image-builder +ms.custom: references_regions + + +--- + +# What's new in Azure Image Builder + +**Applies to:** :heavy_check_mark: Linux VMs :heavy_check_mark: Windows VMs :heavy_check_mark: Flexible scale sets :heavy_check_mark: Uniform scale sets + +This document contains all major API changes and feature updates for the Azure Image Builder service. + +## API Releases + + + + +### 2021-10-01 + +**Breaking Change**: + +Our 2021-10-01 API introduces a change to the error schema that will be part of every future API release. Any Azure Image Builder automations you may have need to take account the new error output when switching to 2021-10-01 or newer API versions (new schema shown below). We recommend that once customers switch to the new API version (2021-10-01 and beyond), they don't revert to older versions as they'll have to change their automation again to expect the older error schema. We don't anticipate changing the error schema again in future releases. + +For API versions 2020-02-14 and older, the error output will look like the following messages: + +``` +{ +"error": { + "code": "ValidationFailed", + "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute//images//imageName'. Please review http://aka.ms/azvmimagebuildertmplref for details on fields requirements in the Image Builder Template." +} +``` + + +For API versions 2021-10-01 and newer, the error output will look like the following messages: + +``` +{ + "error": { + "code": "ValidationFailed", + "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute//images//imageName'. Please review http://aka.ms/azvmimagebuildertmplref for details on fields requirements in the Image Builder Template." + } +} +``` + +**Improvements**: + +- Added support for [Build VM MSIs](linux/image-builder-json.md#user-assigned-identity-for-the-image-builder-build-vm). +- Added support for Proxy VM size customization. + +### 2020-02-14 + + + +**Improvements:** + +- Added support for creating images from the following sources: + - Managed Image + - Azure Compute Gallery + - Platform Image Repository (including Platform Image Purchase Plan) +- Added support for the following customizations: + - Shell (Linux) - Script or Inline + - PowerShell (Windows) - Script or Inline, run elevated, run as system + - File (Linux and Windows) + - Windows Restart (Windows) + - Windows Update (Windows) (with search criteria, filters, and update limit) +- Added support for the following distribution types: + - VHD + - Managed Image + - Azure Compute Gallery +- **Other Features** + - Added support for customers to use their own VNet. + - Added support for customers to customize the build VM (VM size, OS disk size). + - Added support for user assigned MSI (for customize/distribute steps). + - Added support for [Gen2 images.](image-builder-overview.md#hyper-v-generation). + +### Preview APIs + + The following APIs are deprecated, but still supported: +- 2019-05-01-preview + + +## Next steps +Learn more about [Image Builder](image-builder-overview.md). \ No newline at end of file diff --git a/articles/virtual-machines/linux/n-series-driver-setup.md b/articles/virtual-machines/linux/n-series-driver-setup.md index db232db7849d..de73c3ba6486 100644 --- a/articles/virtual-machines/linux/n-series-driver-setup.md +++ b/articles/virtual-machines/linux/n-series-driver-setup.md @@ -55,7 +55,7 @@ Then run installation commands specific for your distribution. wget -O /tmp/${CUDA_REPO_PKG} https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/${CUDA_REPO_PKG} sudo dpkg -i /tmp/${CUDA_REPO_PKG} - sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub + sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/3bf863cc.pub rm -f /tmp/${CUDA_REPO_PKG} sudo apt-get update diff --git a/articles/virtual-machines/sizes-general.md b/articles/virtual-machines/sizes-general.md index 44183632c00a..d49072aebf33 100644 --- a/articles/virtual-machines/sizes-general.md +++ b/articles/virtual-machines/sizes-general.md @@ -1,13 +1,13 @@ --- title: Azure VM sizes - General purpose | Microsoft Docs description: Lists the different general purpose sizes available for virtual machines in Azure. Lists information about the number of vCPUs, data disks, and NICs as well as storage throughput and network bandwidth for sizes in this series. -author: brbell +author: mamccrea ms.service: virtual-machines ms.subservice: vm-sizes-general ms.topic: conceptual ms.workload: infrastructure-services ms.date: 10/20/2021 -ms.author: brbell +ms.author: mamccrea --- # General purpose virtual machine sizes diff --git a/articles/virtual-machines/trusted-launch-portal.md b/articles/virtual-machines/trusted-launch-portal.md index d63e2a7f0e06..77f21b92ab61 100644 --- a/articles/virtual-machines/trusted-launch-portal.md +++ b/articles/virtual-machines/trusted-launch-portal.md @@ -128,7 +128,7 @@ $vm = Set-AzVMOSDisk -VM $vm ` -StorageAccountType "StandardSSD_LRS" ` -CreateOption "FromImage" -$vm = Set-AzVmSecurityProfile -VM $vm ` +$vm = Set-AzVmSecurityType -VM $vm ` -SecurityType "TrustedLaunch" $vm = Set-AzVmUefi -VM $vm ` diff --git a/articles/virtual-machines/windows/change-availability-set.md b/articles/virtual-machines/windows/change-availability-set.md index 6ce518de1676..d490782dd77d 100644 --- a/articles/virtual-machines/windows/change-availability-set.md +++ b/articles/virtual-machines/windows/change-availability-set.md @@ -31,14 +31,12 @@ This article was last tested on 2/12/2019 using the [Azure Cloud Shell](https:// ## Change the availability set The following script provides an example of gathering the required information, deleting the original VM and then recreating it in a new availability set. -The below scenario also covers an optional portion where we create a snapshot of the VM's OS disk in order to create disk from the snapshot to have a backup because when the VM gets deleted, the OS disk will also be deleted along with it. ```powershell # Set variables $resourceGroup = "myResourceGroup" $vmName = "myVM" $newAvailSetName = "myAvailabilitySet" - $snapshotName = "MySnapShot" # Get the details of the VM to be moved to the Availability Set $originalVM = Get-AzVM ` @@ -59,30 +57,10 @@ The below scenario also covers an optional portion where we create a snapshot of -PlatformUpdateDomainCount 2 ` -Sku Aligned } - -# Get Current VM OS Disk metadata - $osDiskid = $originalVM.StorageProfile.OsDisk.ManagedDisk.Id - $osDiskName = $originalVM.StorageProfile.OsDisk.Name - -# Create Disk Snapshot (optional) - $snapshot = New-AzSnapshotConfig -SourceUri $osDiskid ` - -Location $originalVM.Location ` - -CreateOption copy - - $newsnap = New-AzSnapshot ` - -Snapshot $snapshot ` - -SnapshotName $snapshotName ` - -ResourceGroupName $resourceGroup - + # Remove the original VM Remove-AzVM -ResourceGroupName $resourceGroup -Name $vmName -# Create disk out of snapshot (optional) - $osDisk = New-AzDisk -DiskName $osDiskName -Disk ` - (New-AzDiskConfig -Location $originalVM.Location -CreateOption Copy ` - -SourceResourceId $newsnap.Id) ` - -ResourceGroupName $resourceGroup - # Create the basic configuration for the replacement VM. $newVM = New-AzVMConfig ` -VMName $originalVM.Name ` @@ -129,9 +107,6 @@ The below scenario also covers an optional portion where we create a snapshot of -Location $originalVM.Location ` -VM $newVM ` -DisableBginfoExtension - -# Delete Snapshot (optional) - Remove-AzSnapshot -ResourceGroupName $resourceGroup -SnapshotName $snapshotName -Force ``` ## Next steps diff --git a/articles/virtual-machines/workloads/sap/high-availability-guide-rhel-glusterfs.md b/articles/virtual-machines/workloads/sap/high-availability-guide-rhel-glusterfs.md index 60ab19be7f10..e9f91f40bbeb 100644 --- a/articles/virtual-machines/workloads/sap/high-availability-guide-rhel-glusterfs.md +++ b/articles/virtual-machines/workloads/sap/high-availability-guide-rhel-glusterfs.md @@ -79,12 +79,12 @@ To achieve high availability, SAP NetWeaver requires shared storage. GlusterFS i ## Set up GlusterFS -You can either use an Azure Template from github to deploy all required Azure resources, including the virtual machines, availability set and network interfaces or you can deploy the resources manually. +You can either use an Azure Template from GitHub to deploy all required Azure resources, including the virtual machines, availability set and network interfaces or you can deploy the resources manually. ### Deploy Linux via Azure Template The Azure Marketplace contains an image for Red Hat Enterprise Linux that you can use to deploy new virtual machines. -You can use one of the quickstart templates on github to deploy all required resources. The template deploys the virtual machines, availability set etc. +You can use one of the quickstart templates on GitHub to deploy all required resources. The template deploys the virtual machines, availability set etc. Follow these steps to deploy the template: 1. Open the [SAP file server template][template-file-server] in the Azure portal diff --git a/articles/virtual-network-manager/how-to-create-hub-and-spoke-powershell.md b/articles/virtual-network-manager/how-to-create-hub-and-spoke-powershell.md index 03a3bafa7ef0..2ec79c86e9d5 100644 --- a/articles/virtual-network-manager/how-to-create-hub-and-spoke-powershell.md +++ b/articles/virtual-network-manager/how-to-create-hub-and-spoke-powershell.md @@ -142,7 +142,7 @@ Deploy-AzNetworkManagerCommit @deployment ## Confirm deployment -1. Go to one of the virtual networks in the portal and select **Peerings** under *Settings*. You should see a new peering connection create between the hub and the spokes virtual network with *ANM* in the name. +1. Go to one of the virtual networks in the portal and select **Peerings** under *Settings*. You should see a new peering connection create between the hub and the spokes virtual network with *AVNM* in the name. 1. To test *direct connectivity* between spokes, deploy a virtual machine into each spokes virtual network. Then start an ICMP request from one virtual machine to the other. diff --git a/articles/virtual-network-manager/how-to-create-hub-and-spoke.md b/articles/virtual-network-manager/how-to-create-hub-and-spoke.md index 71acdff0c575..a5b0618b9ba8 100644 --- a/articles/virtual-network-manager/how-to-create-hub-and-spoke.md +++ b/articles/virtual-network-manager/how-to-create-hub-and-spoke.md @@ -1,11 +1,11 @@ --- title: 'Create a hub and spoke topology with Azure Virtual Network Manager (Preview)' description: Learn how to create a hub and spoke network topology with Azure Virtual Network Manager. -author: mbender-ms -ms.author: mbender +author: duongau +ms.author: duau ms.service: virtual-network-manager ms.topic: how-to -ms.date: 05/03/2022 +ms.date: 11/02/2021 ms.custom: template-concept, ignite-fall-2021 --- @@ -30,88 +30,69 @@ This section will help you create a network group containing the virtual network 1. Go to your Azure Virtual Network Manager instance. This how-to guide assumes you've created one using the [quickstart](create-virtual-network-manager-portal.md) guide. -1. Select **Network groups** under *Settings*, and then select **+ Create** to create a new network group. +1. Select **Network groups** under *Settings*, and then select **+ Add** to create a new network group. - :::image type="content" source="./media/tutorial-create-secured-hub-and-spoke/add-network-group.png" alt-text="Screenshot of Create a network group button."::: + :::image type="content" source="./media/tutorial-create-secured-hub-and-spoke/add-network-group.png" alt-text="Screenshot of add a network group button."::: -1. On the *Create a network group* page, enter a **Name** and a **Description** for the network group. Then select **Add** to create the network group. +1. On the *Basics* tab, enter a **Name** and a **Description** for the network group. - :::image type="content" source="./media/create-virtual-network-manager-portal/network-group-basics.png" alt-text="Screenshot of create a network group page."::: + :::image type="content" source="./media/how-to-create-hub-and-spoke/basics.png" alt-text="Screenshot of basics tab for add a network group."::: -1. You'll see the new network group added to the *Network Groups* page. - :::image type="content" source="./media/create-virtual-network-manager-portal/network-groups-list.png" alt-text="Screenshot of network group page with list of network groups."::: +1. To add virtual network manually, select the **Static group members** tab. For more information, see [static members](concept-network-groups.md#static-membership). -1. From the list of network groups, select **myNetworkGroup** to manage the network group memberships. + :::image type="content" source="./media/how-to-create-hub-and-spoke/static-group.png" alt-text="Screenshot of static group members tab."::: - :::image type="content" source="media/how-to-create-mesh-network/manage-group-membership.png" alt-text="Screenshot of manage group memberships page."::: +1. To add virtual networks dynamically, select the **Conditional statements** tab. For more information, see [dynamic membership](concept-network-groups.md#dynamic-membership). -1. To add a virtual network manually, select the **Add** button under *Static membership*, and select the virtual networks to add. Then select **Add** to save the static membership. For more information, see [static members](concept-network-groups.md#static-membership). + :::image type="content" source="./media/how-to-create-hub-and-spoke/conditional-statements.png" alt-text="Screenshot of conditional statements tab."::: - :::image type="content" source="./media/how-to-create-hub-and-spoke/add-static-members.png" alt-text="Screenshot of add virtual networks to network group page."::: - -1. To add virtual networks dynamically, select the **Define** button under *Define dynamic membership*, and then enter the conditional statements for membership. Select **Save** to save the dynamic membership conditions. For more information, see [dynamic membership](concept-network-groups.md#dynamic-membership). - - :::image type="content" source="media/how-to-create-mesh-network/define-dynamic-members.png" alt-text="Screenshot of Define dynamic membership page."::: +1. Once you're satisfied with the virtual networks selected for the network group, select **Review + create**. Then select **Create** once validation has passed. ## Create a hub and spoke connectivity configuration This section will guide you through how to create a hub-and-spoke configuration with the network group you created in the previous section. -1. Select **Configuration** under *Settings*, then select **+ Create**. +1. Select **Configuration** under *Settings*, then select **+ Add a configuration**. - :::image type="content" source="./media/create-virtual-network-manager-portal/add-configuration.png" alt-text="Screenshot of the configurations list."::: + :::image type="content" source="./media/how-to-create-hub-and-spoke/configuration-list.png" alt-text="Screenshot of the configurations list."::: -1. Select **Connectivity configuration** from the drop-down menu. +1. Select **Connectivity** from the drop-down menu. :::image type="content" source="./media/create-virtual-network-manager-portal/configuration-menu.png" alt-text="Screenshot of configuration drop-down menu."::: -1. On the *Add a connectivity configuration* page, enter the following information: +1. On the *Add a connectivity configuration* page, enter, or select the following information: - :::image type="content" source="media/how-to-create-mesh-network/add-config-name.png" alt-text="Screenshot of add a connectivity configuration page."::: + :::image type="content" source="./media/how-to-create-hub-and-spoke/connectivity-configuration.png" alt-text="Screenshot of add a connectivity configuration page."::: | Setting | Value | | ------- | ----- | | Name | Enter a *name* for this configuration. | | Description | *Optional* Enter a description about what this configuration will do. | + | Topology | Select the **Hub and spoke** topology. | + | Hub | Select a virtual network that will act as the hub virtual network. | + | Existing peerings | Select this checkbox if you want to remove all previously created VNet peering between virtual networks in the network group defined in this configuration. | -1. Select **Next: Topology >**. Select **Hub and Spoke** under the **Topology** setting. This selection will reveal more settings. - - :::image type="content" source="./media/tutorial-create-secured-hub-and-spoke/hub-configuration.png" alt-text="Screenshot of selecting a hub for the connectivity configuration."::: - -1. Select **Select a hub** under **Hub** setting. Then, select the virtual network to serve as your network hub and click **Select**. +1. Then select **+ Add network groups**. - :::image type="content" source="media/tutorial-create-secured-hub-and-spoke/select-hub.png" alt-text="Screenshot of Select a hub configuration."::: - -1. Under **Spoke network groups**, select **+ add**. Then, select your network group and click **Select**. - - :::image type="content" source="media/how-to-create-hub-and-spoke/add-network-group.png" alt-text="Screenshot of Add network groups page."::: - -1. You'll see the following three options appear next to the network group name under **Spoke network groups**: +1. On the *Add network groups* page, select the network groups you want to add to this configuration. Then select **Add** to save. +1. You'll see the following three options appear next to the network group name under *Spoke network groups*: + :::image type="content" source="./media/how-to-create-hub-and-spoke/spokes-settings.png" alt-text="Screenshot of spoke network groups settings." lightbox="./media/how-to-create-hub-and-spoke/spokes-settings-expanded.png"::: - | Setting | Value | - | ------- | ----- | - | Direct connectivity | Select **Enable peering within network group** if you want to establish VNet peering between virtual networks in the network group of the same region. | - | Gateway | Select **Hub as a gateway** if you have a virtual network gateway in the hub virtual network that you want this network group to use to pass traffic to on-premises. This option won't be available unless a virtual network gateway is deployed in the hub virtual network. | - | Global Mesh | Select **Enable mesh connectivity across regions** if you want to establish VNet peering for all virtual networks in the network group across regions. This option requires you select **Enable peering within network group** first. | + * *Direct connectivity*: Select **Enable peering within network group** if you want to establish VNet peering between virtual networks in the network group of the same region. + * *Global Mesh*: Select **Enable mesh connectivity across regions** if you want to establish VNet peering for all virtual networks in the network group across regions. + * *Gateway*: Select **Use hub as a gateway** if you have a virtual network gateway in the hub virtual network that you want this network group to use to pass traffic to on-premises. Select the settings you want to enable for each network group. -1. Finally, Select **Next: Review + create >** and then **Create** to create the hub-and-spoke connectivity configuration. +1. Finally, select **Add** to create the hub-and-spoke connectivity configuration. ## Deploy the hub and spoke configuration -To have this configuration take effect in your environment, you'll need to deploy the configuration to the regions where your selected virtual networks are created. - -> [!NOTE] -> Make sure the virtual network gateway has been successfully deployed before deploying the connectivity configuration. If you deploy a hub and spoke configuration with **Use the hub as a gateway** enabled and there's no gateway, the deployment will fail. For more information, see [use hub as a gateway](concept-connectivity-configuration.md#use-hub-as-a-gateway). -> - -1. Select **Deployments** under *Settings*, then select **Deploy configuration**. - - :::image type="content" source="./media/create-virtual-network-manager-portal/deployments.png" alt-text="Screenshot of deployments page in Network Manager."::: +To have this configuration take effect in your environment, you'll need to deploy the configuration to the regions where your selected virtual network are created. +1. Select **Deployments** under *Settings*, then select **Deploy a configuration**. 1. On the *Deploy a configuration* select the following settings: @@ -119,22 +100,20 @@ To have this configuration take effect in your environment, you'll need to deplo | Setting | Value | | ------- | ----- | - | Configurations | Select elect **Include connectivity configurations in your goal state**. This will reveal more options. | - | Connectivity Configurations | Select the name of the connectivity configuration you created in the previous section. | - | Target regions | Select all the regions that include virtual networks you need configuration applied to. | + | Configuration type | Select **Connectivity**. | + | Configurations | Select the name of the configuration you created in the previous section. | + | Target regions | Select all the regions that apply to virtual networks you select for the configuration. | -1. Select **Deploy**. You'll see the deployment shows up in the list for those regions. The deployment of the configuration can take several minutes to complete. You can select the **Refresh** button to check on the status of the deployment. +1. Select **Deploy** and then select **OK** to commit the configuration to the selected regions. - :::image type="content" source="./media/how-to-create-hub-and-spoke/deploy-status.png" alt-text="Screenshot of deployment status screen." lightbox="./media/how-to-create-hub-and-spoke/deploy-status-expanded.png"::: +1. The deployment of the configuration can take up to 15-20 minutes, select the **Refresh** button to check on the status of the deployment. ## Confirm deployment -1. Go to one of the virtual networks in the portal and select **Peerings** under *Settings*. You should see a new peering connection created between the hub and the spokes virtual network with *ANM* in the name. +1. See [view applied configuration](how-to-view-applied-configurations.md). 1. To test *direct connectivity* between spokes, deploy a virtual machine into each spokes virtual network. Then initiate an ICMP request from one virtual machine to the other. -1. See [view applied configuration](how-to-view-applied-configurations.md). - ## Next steps - Learn about [Security admin rules](concept-security-admins.md) diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/add-network-group.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/add-network-group.png deleted file mode 100644 index c093add20aad..000000000000 Binary files a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/add-network-group.png and /dev/null differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/add-static-members.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/add-static-members.png deleted file mode 100644 index a15bd27e3b52..000000000000 Binary files a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/add-static-members.png and /dev/null differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/basics.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/basics.png new file mode 100644 index 000000000000..2f0080c9c4a9 Binary files /dev/null and b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/basics.png differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/conditional-statements.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/conditional-statements.png new file mode 100644 index 000000000000..c9fa5ba92b13 Binary files /dev/null and b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/conditional-statements.png differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/configuration-list.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/configuration-list.png new file mode 100644 index 000000000000..8c8a4edbd515 Binary files /dev/null and b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/configuration-list.png differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/connectivity-configuration.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/connectivity-configuration.png new file mode 100644 index 000000000000..6abdf86353ae Binary files /dev/null and b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/connectivity-configuration.png differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy-status-expanded.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy-status-expanded.png deleted file mode 100644 index 7c9b7e6a36f6..000000000000 Binary files a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy-status-expanded.png and /dev/null differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy-status.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy-status.png deleted file mode 100644 index b84d20318daf..000000000000 Binary files a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy-status.png and /dev/null differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy.png index 27c15241add5..9fa3a4f1d305 100644 Binary files a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy.png and b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/deploy.png differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/spokes-settings-expanded.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/spokes-settings-expanded.png index fd5591bf35c1..f098d41bc200 100644 Binary files a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/spokes-settings-expanded.png and b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/spokes-settings-expanded.png differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/spokes-settings.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/spokes-settings.png index e815c121a86c..dd8860f024ca 100644 Binary files a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/spokes-settings.png and b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/spokes-settings.png differ diff --git a/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/static-group.png b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/static-group.png new file mode 100644 index 000000000000..cf6cb670a870 Binary files /dev/null and b/articles/virtual-network-manager/media/how-to-create-hub-and-spoke/static-group.png differ diff --git a/articles/virtual-network-manager/tutorial-create-secured-hub-and-spoke.md b/articles/virtual-network-manager/tutorial-create-secured-hub-and-spoke.md index 3d483f072aca..6b7255910994 100644 --- a/articles/virtual-network-manager/tutorial-create-secured-hub-and-spoke.md +++ b/articles/virtual-network-manager/tutorial-create-secured-hub-and-spoke.md @@ -169,7 +169,7 @@ Deploy a virtual network gateway into the hub virtual network. This virtual netw 1. Under **Spoke network groups**, select **+ add**. Then, select **myNetworkGroupB** for the network group and click **Select**. - :::image type="content" source="media/how-to-create-hub-and-spoke/add-network-group.png" alt-text="Screenshot of Add network groups page."::: + :::image type="content" source="media/tutorial-create-secured-hub-and-spoke/select-network-group.png" alt-text="Screenshot of Add network groups page."::: 1. After you've added the network group, select the following options. Then select add to create the connectivity configuration. @@ -181,7 +181,7 @@ Deploy a virtual network gateway into the hub virtual network. This virtual netw | Hub as gateway | Select the checkbox for **Use hub as a gateway**. | | Global Mesh | Leave this option **unchecked**. Since both spokes are in the same region this setting is not required. | -1. Select **Next: Review + create >** and then **Create** to create the connectivity configuration. +1. Select **Next: Review + create >** and then create the connectivity configuration. ## Deploy the connectivity configuration @@ -196,13 +196,13 @@ Make sure the virtual network gateway has been successfully deployed before depl :::image type="content" source="./media/tutorial-create-secured-hub-and-spoke/deploy-configuration.png" alt-text="Screenshot of deploy a configuration page."::: -1. Select **Deploy**. You should now see the deployment show up in the list for those regions. The deployment of the configuration can take several minutes to complete. You can select the **Refresh** button to check on the status of the deployment. +1. Select **Deploy**. You should now see the deployment show up in the list for those regions. The deployment of the configuration can take several minutes to complete. :::image type="content" source="./media/tutorial-create-secured-hub-and-spoke/deployment-in-progress.png" alt-text="Screenshot of deployment in progress in deployment list."::: ## Create security configuration -1. Select **Configuration** under *Settings* again, then select **+ Create**, and select **SecurityAdmin** from the menu to begin creating a SecurityAdmin configuration. +1. Select **Configuration** under *Settings* again, then select **+ Create**, and select **SecurityAdmin** from the menu to begin creating a SecurityAdmin configuration.. 1. Enter the name **mySecurityConfig** for the configuration, then select **Next: Rule collections**. @@ -240,7 +240,7 @@ Make sure the virtual network gateway has been successfully deployed before depl :::image type="content" source="./media/tutorial-create-secured-hub-and-spoke/deploy-security.png" alt-text="Screenshot of deploying a security configuration."::: -1. Select **Next** and then **Deploy**. You should now see the deployment show up in the list for the selected region. The deployment of the configuration can take about 15-20 minutes to complete. +1. Select **Next** and then **Deploy**.You should now see the deployment show up in the list for the selected region. The deployment of the configuration can take about 15-20 minutes to complete. ## Verify deployment of configurations diff --git a/articles/virtual-wan/about-nva-hub.md b/articles/virtual-wan/about-nva-hub.md index 74744d85ff61..df0a8d88e738 100644 --- a/articles/virtual-wan/about-nva-hub.md +++ b/articles/virtual-wan/about-nva-hub.md @@ -3,11 +3,11 @@ title: 'About Network Virtual Appliances - Virtual WAN hub' titleSuffix: Azure Virtual WAN description: Learn about Network Virtual Appliances in a Virtual WAN hub. services: virtual-wan -author: cherylmc +author: wtnlee ms.service: virtual-wan ms.topic: conceptual ms.date: 06/02/2021 -ms.author: cherylmc +ms.author: wellee ms.custom: references_regions # Customer intent: As someone with a networking background, I want to learn about Network Virtual Appliances in a Virtual WAN hub. --- @@ -84,6 +84,24 @@ NVA Partners may create different resources depending on their appliance deploym :::image type="content" source="./media/about-nva-hub/managed-app.png" alt-text="Managed Application resource groups"::: + +### Managed resource group permissions + +By default, all managed resource groups have an deny-all Azure Active Directory assignment. Deny-all assignments prevent customers from calling write operations on any resources in the managed resource group, including Network Virtual Appliance resources. + +However, partners may create exceptions for specific actions that customers are allowed to perform on resources deployed in managed resource groups. + +Permissions on resources in existing managed resource groups are not dynamically updated as new permitted actions are added by partners and require a manual refresh. + +To refresh permissions on the managed resource groups, customers can leverage the [Refresh Permissions REST API ](/rest/api/managedapplications/applications/refresh-permissions). + +> [!NOTE] +> To properly apply new permissions, refresh permissions API must be called with an additional query parameter **targetVersion**. The value for targetVersion is provider-specific. Please reference your provider's documentation for the latest version number. + +```http-interactive +POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions?api-version=2019-07-01&targetVersion={targetVersion} +``` + ### NVA Infrastructure Units When you create an NVA in a Virtual WAN hub, you must choose the number of NVA Infrastructure Units you want to deploy it with. An **NVA Infrastructure Unit** is a unit of aggregate bandwidth capacity for an NVA in a Virtual WAN hub. An **NVA Infrastructure Unit** is similar to a VPN [Scale Unit](pricing-concepts.md#scale-unit) in terms of the way you think about capacity and sizing. diff --git a/articles/vpn-gateway/TOC.yml b/articles/vpn-gateway/TOC.yml index 062354c7fd01..18d8b4c1a91a 100644 --- a/articles/vpn-gateway/TOC.yml +++ b/articles/vpn-gateway/TOC.yml @@ -177,7 +177,7 @@ items: - name: Configure P2S for multiple authentication types href: howto-point-to-site-multi-auth.md - - name: OpenVPN + - name: OpenVPN tunnel type items: - name: Configure OpenVPN tunnel type href: vpn-gateway-howto-openvpn.md @@ -195,30 +195,28 @@ href: create-custom-policies-p2s-ps.md - name: P2S client configuration items: - - name: Certificate authentication + - name: Certificate authentication clients items: - name: Install client certificates href: point-to-site-how-to-vpn-client-install-azure-cert.md - - name: Generate and install VPN client profile configuration files + - name: Generate and install VPN client profile config files href: point-to-site-vpn-client-configuration-azure-cert.md - - name: RADIUS authentication + - name: RADIUS authentication clients items: - - name: Generate and install VPN client profile configuration files + - name: Generate and install VPN client profile config files href: point-to-site-vpn-client-configuration-radius.md - - name: AAD authentication + - name: AAD authentication clients items: - name: Windows client href: openvpn-azure-ad-client.md - name: macOS client href: openvpn-azure-ad-client-mac.md - - name: Generate VPN client profile configuration files + - name: Generate VPN client profile config files href: about-vpn-profile-download.md - name: Intune - Deploy VPN client profile href: vpn-profile-intune.md - - name: OpenVPN - items: - - name: Configure OpenVPN clients - href: vpn-gateway-howto-openvpn-clients.md + - name: Install and configure an OpenVPN client + href: vpn-gateway-howto-openvpn-clients.md - name: Routing, BGP, and VNet Peering items: - name: Configure BGP for a VPN gateway diff --git a/articles/vpn-gateway/about-vpn-profile-download.md b/articles/vpn-gateway/about-vpn-profile-download.md index 0384a3736899..57c6b4773d44 100644 --- a/articles/vpn-gateway/about-vpn-profile-download.md +++ b/articles/vpn-gateway/about-vpn-profile-download.md @@ -1,7 +1,7 @@ --- -title: 'About Point-to-Site VPN client profiles for Azure AD authentication' +title: 'P2S VPN client profile config files - Azure AD authentication' titleSuffix: Azure VPN Gateway -description: Learn about P2S VPN client profile files for Azure AD authentication. +description: Learn how to generate P2S VPN client profile configuration files for Azure AD authentication. author: cherylmc ms.service: vpn-gateway ms.topic: how-to @@ -9,9 +9,9 @@ ms.date: 05/04/2022 ms.author: cherylmc --- -# Generate P2S Azure VPN client profile files - Azure AD authentication +# Generate P2S Azure VPN Client profile config files - Azure AD authentication -After you install the Azure VPN Client, you configure the VPN client profile. Client profile files contain information that's necessary to configure a VPN connection. This article helps you obtain and understand the information needed to configure an Azure VPN Client profile. +After you install the Azure VPN Client, you configure the VPN client profile. Client profile config files contain information that's necessary to configure a VPN connection. This article helps you obtain and understand the information needed to configure an Azure VPN Client profile for Azure VPN Gateway point-to-site configurations that use Azure AD authentication. ## Generate profile files @@ -21,7 +21,7 @@ You can generate VPN client profile configuration files using PowerShell, or by 1. In the Azure portal, navigate to the virtual network gateway for the virtual network that you want to connect to. 1. On the virtual network gateway page, select **Point-to-site configuration**. -1. At the top of the Point-to-site configuration page, select **Download VPN client**. It takes a few minutes for the client configuration package to generate. +1. At the top of the point-to-site configuration page, select **Download VPN client**. It takes a few minutes for the client configuration package to generate. 1. Your browser indicates that a client configuration zip file is available. It's named the same name as your gateway. Unzip the file to view the folders. ### PowerShell diff --git a/articles/vpn-gateway/about-zone-redundant-vnet-gateways.md b/articles/vpn-gateway/about-zone-redundant-vnet-gateways.md index 18751b95bdc9..94f690b94e1c 100644 --- a/articles/vpn-gateway/about-zone-redundant-vnet-gateways.md +++ b/articles/vpn-gateway/about-zone-redundant-vnet-gateways.md @@ -44,9 +44,6 @@ For information about gateway SKUs, see [VPN gateway SKUs](vpn-gateway-about-vpn Zone-redundant gateways and zonal gateways both rely on the Azure public IP resource *Standard* SKU. The configuration of the Azure public IP resource determines whether the gateway that you deploy is zone-redundant, or zonal. If you create a public IP resource with a *Basic* SKU, the gateway will not have any zone redundancy, and the gateway resources will be regional. -> [!IMPORTANT] -> *Standard* public IP resources with Tier = Global cannot be attached to a Gateway. Only *Standard* public IP resources with Tier = Regional can be used. - ### Zone-redundant gateways When you create a public IP address using the **Standard** public IP SKU without specifying a zone, the behavior differs depending on whether the gateway is a VPN gateway, or an ExpressRoute gateway. diff --git a/docfx.json b/docfx.json index 3c8a1412a189..b89ac25805fc 100644 --- a/docfx.json +++ b/docfx.json @@ -290,7 +290,7 @@ "articles/connectors/*.md": "ecfan", "articles/container-instances/**/*.md": "macolso", "articles/container-registry/**/*.md": "tejaswikolli-web", - "articles/data-catalog/*.md": "ChandraKavya", + "articles/data-catalog/*.md": "whhender", "articles/data-lake-analytics/*.md": "xujxu", "articles/defender-for-cloud/*.md": "elazark", "articles/defender-for-iot/organizations/*.md": "batamig", @@ -653,7 +653,7 @@ "articles/connectors/*.md": "estfan", "articles/container-instances/**/*.md": "macolso", "articles/container-registry/**/*.md": "tejaswikolli", - "articles/data-catalog/*.md": "kchandra", + "articles/data-catalog/*.md": "whhender", "articles/data-lake-analytics/*.md": "xujiang1", "articles/defender-for-cloud/*.md": "elkrieger", "articles/defender-for-iot/organizations/*.md": "bagol", diff --git a/includes/application-gateway-limits.md b/includes/application-gateway-limits.md index f27a1e4ab371..3e78cdd491c5 100644 --- a/includes/application-gateway-limits.md +++ b/includes/application-gateway-limits.md @@ -31,13 +31,15 @@ ms.author: victorh | Number of Header or URL configuration per rewrite rule set|40| | | Number of conditions per rewrite rule set|40| | | Concurrent WebSocket connections |Medium gateways 20k2
Large gateways 50k2| | -| Maximum URL length|32KB| | -| Maximum header size|32KB| | -| Maximum header field size for HTTP/2|8KB| | -| Maximum header size for HTTP/2|16KB| | -| Maximum file upload size (Standard SKU) |V2 - 4 GB
V1 - 2GB | | -| Maximum file upload size (WAF SKU) |V1 Medium - 100 MB
V1 Large - 500 MB
V2 - 750 MB
V2 (with CRS 3.2 or newer) - 4GB3| | -| WAF body size limit (without files)|V1 or V2 (with CRS 3.1 and older) - 128KB
V2 (with CRS 3.2 or newer) - 2MB3| | +| Maximum URL length|32 KB| | +| Maximum header size|32 KB| | +| Maximum header field size for HTTP/2|8 KB| | +| Maximum header size for HTTP/2|16 KB| | +| Maximum file upload size (Standard SKU) |V2 - 4 GB
V1 - 2 GB | | +| Maximum file upload size (WAF SKU) |V1 Medium - 100 MB
V1 Large - 500 MB
V2 - 750 MB
V2 (with CRS 3.2 or newer) - 4 GB3| | +| WAF body size limit (without files)|V1 or V2 (with CRS 3.1 and older) - 128 KB
V2 (with CRS 3.2 or newer) - 2 MB3| | +| Maximum Private Link Configurations| 2 | 1 for public IP, 1 for private IP | +| Maximum Private Link IP Configurations| 8 | | | Maximum WAF custom rules|100|| | Maximum WAF exclusions per Application Gateway|40|| diff --git a/includes/iot-edge-install-linux.md b/includes/iot-edge-install-linux.md index d4970cfec6b7..af477c276418 100644 --- a/includes/iot-edge-install-linux.md +++ b/includes/iot-edge-install-linux.md @@ -54,15 +54,12 @@ Installing with APT can be done with a few commands. Open a terminal and run th Installing can be done with a few commands. Open a terminal and run the following commands: -* **Stretch**: +* **Latest**: - ```bash - curl https://packages.microsoft.com/config/debian/stretch/multiarch/prod.list > ./microsoft-prod.list - sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/ - - curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg - sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/ - ``` + ```bash + curl https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb > ./packages-microsoft-prod.deb + sudo apt install ./packages-microsoft-prod.deb + ``` --- @@ -236,4 +233,4 @@ To list other versions of IoT Edge and the IoT identity service that are availab --- -::: moniker-end \ No newline at end of file +::: moniker-end diff --git a/includes/synapse-analytics-limits.md b/includes/synapse-analytics-limits.md index 4e97191287bb..21a457ce8cec 100644 --- a/includes/synapse-analytics-limits.md +++ b/includes/synapse-analytics-limits.md @@ -5,7 +5,7 @@ services: synapse-analytics author: jonburchel ms.service: synapse-analytics ms.topic: include -ms.date: 09/22/2021 +ms.date: 05/09/2022 ms.author: jburchel ms.custom: include file --- @@ -14,10 +14,16 @@ Azure Synapse Analytics has the following default limits to ensure customer's su ### Synapse Workspace Limits +For Pay-As-You-Go subscription offer types: | Resource | Default limit | Maximum limit | | -------- | ------------- | ------------- | | Synapse workspaces in an Azure subscription | 2 | 2 | +For other subscription offer types: +| Resource | Default limit | Maximum limit | +| -------- | ------------- | ------------- | +| Synapse workspaces in an Azure subscription per region | 20 | 250 | + ### Synapse Pipeline Limits | Resource | Default limit | Maximum limit |