Service | Microsoft Docs article | Related commit history on GitHub | Change details |
---|---|---|---|
active-directory | Troubleshoot Sspr Writeback | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/troubleshoot-sspr-writeback.md | A best practice when you troubleshoot problems with password writeback is to ins | 31016| WriteBackServiceStopped| This event indicates that the password writeback service has stopped. Any password management requests from the cloud won't be successful.| | 31017| AuthTokenSuccess| This event indicates that we successfully retrieved an authorization token for the Global Administrator specified during Azure AD Connect setup to start the offboarding or onboarding process.| | 31018| KeyPairCreationSuccess| This event indicates that we successfully created the password encryption key. This key is used to encrypt passwords from the cloud to be sent to your on-premises environment.|+| 31019| ServiceBusHeartBeat| This event indicates that we successfully sent a request to your tenant's Service Bus instance.| | 31034| ServiceBusListenerError| This event indicates that there was an error connecting to your tenant's Service Bus listener. If the error message includes "The remote certificate is invalid", check to make sure that your Azure AD Connect server has all the required Root CAs as described in [Azure TLS certificate changes](../../security/fundamentals/tls-certificate-changes.md). | | 31044| PasswordResetService| This event indicates that password writeback is not working. The Service Bus listens for requests on two separate relays for redundancy. Each relay connection is managed by a unique Service Host. The writeback client returns an error if either Service Host is not running.| | 32000| UnknownError| This event indicates an unknown error occurred during a password management operation. Look at the exception text in the event for more details. If you're having problems, try disabling and then re-enabling password writeback. If this doesn't help, include a copy of your event log along with the tracking ID specified when you open a support request.| |
active-directory | Active Directory Deployment Plans | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/active-directory-deployment-plans.md | Use the following list to plan for authentication deployment. * **Azure AD self-service password reset (SSPR)** - Help users reset a password without administrator intervention: * See, [Passwordless authentication options for Azure AD](../authentication/concept-authentication-passwordless.md) * See, [Plan an Azure Active Directory self-service password reset deployment](../authentication/howto-sspr-deployment.md) -* **Passordless authentication** - Implement passwordless authentication using the Microsoft Authenticator app or FIDO2 Security keys: +* **Passwordless authentication** - Implement passwordless authentication using the Microsoft Authenticator app or FIDO2 Security keys: * See, [Enable passwordless sign-in with Microsoft Authenticator](../authentication/howto-authentication-passwordless-phone.md) * See, [Plan a passwordless authentication deployment in Azure Active Directory](../authentication/howto-authentication-passwordless-deployment.md) |
active-directory | Overview Recommendations | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/reports-monitoring/overview-recommendations.md | The recommendations listed in the following table are currently available in pub |- |- |- |- | | [Convert per-user MFA to Conditional Access MFA](recommendation-turn-off-per-user-mfa.md) | Users | All licenses | Generally available | | [Migrate applications from AD FS to Azure AD](recommendation-migrate-apps-from-adfs-to-azure-ad.md) | Applications | All licenses | Generally available |+| [Migrate from ADAL to MSAL](recommendation-migrate-from-adal-to-msal.md) | Applications | All licenses | Generally available* | | [Migrate to Microsoft Authenticator](recommendation-migrate-to-authenticator.md) | Users | All licenses | Preview | | [Minimize MFA prompts from known devices](recommendation-mfa-from-known-devices.md) | Users | All licenses | Generally available | | [Remove unused applications](recommendation-remove-unused-apps.md) | Applications | Azure AD Premium P2 | Preview | The recommendations listed in the following table are currently available in pub | [Renew expiring application credentials](recommendation-renew-expiring-application-credential.md) | Applications | Azure AD Premium P2 | Preview | | [Renew expiring service principal credentials](recommendation-renew-expiring-service-principal-credential.md) | Applications | Azure AD Premium P2 | Preview | +*The Migrate from ADAL to MSAL recommendation is generally available, but rolling out in phases. If you don't see this recommendation in your tenant, check back later. + Azure AD only displays the recommendations that apply to your tenant, so you may not see all supported recommendations listed. ## Next steps |
active-directory | Blueconic Tutorial | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/blueconic-tutorial.md | + + Title: Azure Active Directory SSO integration with BlueConic +description: Learn how to configure single sign-on between Azure Active Directory and BlueConic. ++++++++ Last updated : 05/26/2023+++++# Azure Active Directory SSO integration with BlueConic ++In this article, you'll learn how to integrate BlueConic with Azure Active Directory (Azure AD). BlueConic is the customer data platform (CDP) that puts unified, privacy-compliant first-party data into the hands of business teams that want to transform customer relationships and unleash growth. When you integrate BlueConic with Azure AD, you can: ++* Control in Azure AD who has access to BlueConic. +* Enable your users to be automatically signed-in to BlueConic with their Azure AD accounts. +* Manage your accounts in one central location - the Azure portal. ++You'll configure and test Azure AD single sign-on for BlueConic in a test environment. BlueConic supports **IDP** initiated single sign-on. ++## Prerequisites ++To integrate Azure Active Directory with BlueConic, you need: ++* An Azure AD user account. If you don't already have one, you can [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). +* One of the following roles: Global Administrator, Cloud Application Administrator, Application Administrator, or owner of the service principal. +* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/). +* BlueConic single sign-on (SSO) enabled subscription. ++## Add application and assign a test user ++Before you begin the process of configuring single sign-on, you need to add the BlueConic application from the Azure AD gallery. You need a test user account to assign to the application and test the single sign-on configuration. ++### Add BlueConic from the Azure AD gallery ++Add BlueConic from the Azure AD application gallery to configure single sign-on with BlueConic. For more information on how to add application from the gallery, see the [Quickstart: Add application from the gallery](../manage-apps/add-application-portal.md). ++### Create and assign Azure AD test user ++Follow the guidelines in the [create and assign a user account](../manage-apps/add-application-portal-assign-users.md) article to create a test user account in the Azure portal called B.Simon. ++Alternatively, you can also use the [Enterprise App Configuration Wizard](https://portal.office.com/AdminPortal/home?Q=Docs#/azureadappintegration). In this wizard, you can add an application to your tenant, add users/groups to the app, and assign roles. The wizard also provides a link to the single sign-on configuration pane in the Azure portal. [Learn more about Microsoft 365 wizards.](/microsoft-365/admin/misc/azure-ad-setup-guides). ++## Configure Azure AD SSO ++Complete the following steps to enable Azure AD single sign-on in the Azure portal. ++1. In the Azure portal, on the **BlueConic** application integration page, find the **Manage** section and select **single sign-on**. +1. On the **Select a single sign-on method** page, select **SAML**. +1. On the **Set up single sign-on with SAML** page, select the pencil icon for **Basic SAML Configuration** to edit the settings. ++  ++1. On the **Basic SAML Configuration** section, perform the following steps: ++ a. In the **Identifier** textbox, type a URL using the following pattern: + `https://<SUBDOMAIN>.blueconic.net/saml/metadata` ++ b. In the **Reply URL** textbox, type a URL using the following pattern: + `https://<SUBDOMAIN>.blueconic.net/saml/acs` ++ > [!Note] + > These values are not real. Update these values with the actual Identifier and Reply URL. Contact [BlueConic support team](mailto:support@blueconic.com) to get these values. You can also refer to the patterns shown in the **Basic SAML Configuration** section in the Azure portal. ++1. On the **Set-up single sign-on with SAML** page, in the **SAML Signing Certificate** section, find **Certificate (Base64)** and select **Download** to download the certificate and save it on your computer. ++  ++1. On the **Set up BlueConic** section, copy the appropriate URL(s) based on your requirement. ++  ++## Configure BlueConic SSO ++To configure single sign-on on **BlueConic** side, you need to send the downloaded **Certificate (Base64)** and appropriate copied URLs from Azure portal to [BlueConic support team](mailto:support@blueconic.com). They set this setting to have the SAML SSO connection set properly on both sides ++### Create BlueConic test user ++In this section, you create a user called Britta Simon in BlueConic. Work with [BlueConic support team](mailto:support@blueconic.com) to add the users in the BlueConic platform. Users must be created and activated before you use single sign-on. ++## Test SSO ++In this section, you test your Azure AD single sign-on configuration with following options. ++* Click on Test this application in Azure portal and you should be automatically signed in to the BlueConic for which you set up the SSO. ++* You can use Microsoft My Apps. When you click the BlueConic tile in the My Apps, you should be automatically signed in to the BlueConic for which you set up the SSO. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md). ++## Next steps ++Once you configure BlueConic you can enforce session control, which protects exfiltration and infiltration of your organizationΓÇÖs sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-aad). |
active-directory | Getty Images Tutorial | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/getty-images-tutorial.md | + + Title: Azure Active Directory SSO integration with Getty Images +description: Learn how to configure single sign-on between Azure Active Directory and Getty Images. ++++++++ Last updated : 05/26/2023+++++# Azure Active Directory SSO integration with Getty Images ++In this article, you'll learn how to integrate Getty Images with Azure Active Directory (Azure AD). Getty Images finds the perfect image for your next project from the world's best photo library of creative stock photos, vector art illustrations and stock photography. When you integrate Getty Images with Azure AD, you can: ++* Control in Azure AD who has access to Getty Images. +* Enable your users to be automatically signed-in to Getty Images with their Azure AD accounts. +* Manage your accounts in one central location - the Azure portal. ++You'll configure and test Azure AD single sign-on for Getty Images in a test environment. Getty Images supports both **SP** and **IDP** initiated single sign-on and **Just In Time** user provisioning. ++> [!NOTE] +> Identifier of this application is a fixed string value so only one instance can be configured in one tenant. ++## Prerequisites ++To integrate Azure Active Directory with Getty Images, you need: ++* An Azure AD user account. If you don't already have one, you can [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). +* One of the following roles: Global Administrator, Cloud Application Administrator, Application Administrator, or owner of the service principal. +* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/). +* Getty Images single sign-on (SSO) enabled subscription. ++## Add application and assign a test user ++Before you begin the process of configuring single sign-on, you need to add the Getty Images application from the Azure AD gallery. You need a test user account to assign to the application and test the single sign-on configuration. ++### Add Getty Images from the Azure AD gallery ++Add Getty Images from the Azure AD application gallery to configure single sign-on with Getty Images. For more information on how to add application from the gallery, see the [Quickstart: Add application from the gallery](../manage-apps/add-application-portal.md). ++### Create and assign Azure AD test user ++Follow the guidelines in the [create and assign a user account](../manage-apps/add-application-portal-assign-users.md) article to create a test user account in the Azure portal called B.Simon. ++Alternatively, you can also use the [Enterprise App Configuration Wizard](https://portal.office.com/AdminPortal/home?Q=Docs#/azureadappintegration). In this wizard, you can add an application to your tenant, add users/groups to the app, and assign roles. The wizard also provides a link to the single sign-on configuration pane in the Azure portal. [Learn more about Microsoft 365 wizards.](/microsoft-365/admin/misc/azure-ad-setup-guides). ++## Configure Azure AD SSO ++Complete the following steps to enable Azure AD single sign-on in the Azure portal. ++1. In the Azure portal, on the **Getty Images** application integration page, find the **Manage** section and select **single sign-on**. +1. On the **Select a single sign-on method** page, select **SAML**. +1. On the **Set up single sign-on with SAML** page, select the pencil icon for **Basic SAML Configuration** to edit the settings. ++  ++1. On the **Basic SAML Configuration** section, perform the following steps: ++ a. In the **Identifier** textbox, type the URL: + `https://gettyimages.com/` ++ b. In the **Reply URL** textbox, type a URL using one of the following patterns: ++ | **Reply URL** | + |--| + | `https://www.gettyimages.com/sign-in/sso/acs` | + | `https://www.gettyimages.<Environment>/sign-in/sso/acs` | + | `https://www.gettyimages.com.<Environment>/sign-in/sso/acs` | ++1. If you wish to configure the application in **SP** initiated mode, then perform the following step: ++ In the **Sign on URL** textbox, type the URL: + `https://www.gettyimages.in/sign-in/sso` ++ > [!NOTE] + > The Reply URL value is not real. Update this value with the actual Reply URL. Contact [Getty Images support team](mailto:support@gettyimages.com) to get the value. You can also refer to the patterns shown in the **Basic SAML Configuration** section in the Azure portal. ++1. Getty Images application expects the SAML assertions in a specific format, which requires you to add custom attribute mappings to your SAML token attributes configuration. The following screenshot shows the list of default attributes. ++  ++1. In addition to above, Getty Images application expects few more attributes to be passed back in SAML response, which are shown below. These attributes are also pre populated but you can review them as per your requirements. ++ | Name | Source Attribute| + | | | + | groupid | user.groups | ++ > [!Note] + > The groupid claim is a constant value which will be provided to you by [Getty Images support team](mailto:support@gettyimages.com). ++1. On the **Set up single sign-on with SAML** page, in the **SAML Signing Certificate** section, select copy button to copy **App Federation Metadata Url** and save it on your computer. ++  ++## Configure Getty Images SSO ++To configure single sign-on on **Getty Images** side, you need to send the **App Federation Metadata Url** to [Getty Images support team](mailto:support@gettyimages.com). They set this setting to have the SAML SSO connection set properly on both sides. For more information, please refer [this](https://developers.gettyimages.com/single-sign-on/) link. ++### Create Getty Images test user ++In this section, a user called B.Simon is created in Getty Images. Getty Images supports just-in-time user provisioning, which is enabled by default. There's no action item for you in this section. If a user doesn't already exist in Getty Images, a new one is commonly created after authentication. ++## Test SSO ++In this section, you test your Azure AD single sign-on configuration with following options. ++#### SP initiated: ++* Click on **Test this application** in Azure portal. This will redirect to Getty Images Sign-on URL where you can initiate the login flow. ++* Go to Getty Images Sign-on URL directly and initiate the login flow from there. ++#### IDP initiated: ++* Click on **Test this application** in Azure portal and you should be automatically signed in to the Getty Images for which you set up the SSO. ++You can also use Microsoft My Apps to test the application in any mode. When you click the Getty Images tile in the My Apps, if configured in SP mode you would be redirected to the application sign-on page for initiating the login flow and if configured in IDP mode, you should be automatically signed in to the Getty Images for which you set up the SSO. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md). ++## Additional resources ++* [What is single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md) +* [Plan a single sign-on deployment](../manage-apps/plan-sso-deployment.md). ++## Next steps ++Once you configure Getty Images you can enforce session control, which protects exfiltration and infiltration of your organizationΓÇÖs sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-aad). |
active-directory | Imagen Tutorial | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/imagen-tutorial.md | + + Title: Azure Active Directory SSO integration with Imagen +description: Learn how to configure single sign-on between Azure Active Directory and Imagen. ++++++++ Last updated : 05/26/2023+++++# Azure Active Directory SSO integration with Imagen ++In this article, you'll learn how to integrate Imagen with Azure Active Directory (Azure AD). Imagen is the cloud-native media asset management platform built to manage, enrich and distribute your organization large-scale, mission-critical video files and drive value from your content. When you integrate Imagen with Azure AD, you can: ++* Control in Azure AD who has access to Imagen. +* Enable your users to be automatically signed-in to Imagen with their Azure AD accounts. +* Manage your accounts in one central location - the Azure portal. ++You'll configure and test Azure AD single sign-on for Imagen in a test environment. Imagen supports **SP** initiated single sign-on and **Just In Time** user provisioning. ++## Prerequisites ++To integrate Azure Active Directory with Imagen, you need: ++* An Azure AD user account. If you don't already have one, you can [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). +* One of the following roles: Global Administrator, Cloud Application Administrator, Application Administrator, or owner of the service principal. +* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/). +* Imagen single sign-on (SSO) enabled subscription. ++## Add application and assign a test user ++Before you begin the process of configuring single sign-on, you need to add the Imagen application from the Azure AD gallery. You need a test user account to assign to the application and test the single sign-on configuration. ++### Add Imagen from the Azure AD gallery ++Add Imagen from the Azure AD application gallery to configure single sign-on with Imagen. For more information on how to add application from the gallery, see the [Quickstart: Add application from the gallery](../manage-apps/add-application-portal.md). ++### Create and assign Azure AD test user ++Follow the guidelines in the [create and assign a user account](../manage-apps/add-application-portal-assign-users.md) article to create a test user account in the Azure portal called B.Simon. ++Alternatively, you can also use the [Enterprise App Configuration Wizard](https://portal.office.com/AdminPortal/home?Q=Docs#/azureadappintegration). In this wizard, you can add an application to your tenant, add users/groups to the app, and assign roles. The wizard also provides a link to the single sign-on configuration pane in the Azure portal. [Learn more about Microsoft 365 wizards.](/microsoft-365/admin/misc/azure-ad-setup-guides). ++## Configure Azure AD SSO ++Complete the following steps to enable Azure AD single sign-on in the Azure portal. ++1. In the Azure portal, on the **Imagen** application integration page, find the **Manage** section and select **single sign-on**. +1. On the **Select a single sign-on method** page, select **SAML**. +1. On the **Set up single sign-on with SAML** page, select the pencil icon for **Basic SAML Configuration** to edit the settings. ++  ++1. On the **Basic SAML Configuration** section, perform the following steps: ++ a. In the **Identifier** textbox, type a URL using the following pattern: + `https://<SUBDOMAIN>.imagencloud.com/sp-entityid` ++ b. In the **Reply URL** textbox, type a URL using the following pattern: + `https://<SUBDOMAIN>.imagencloud.com/saml/module.php/saml/sp/saml2-acs.php/imagenweb` ++ c. In the **Sign on URL** textbox, type a URL using the following pattern: + `https://<SUBDOMAIN>.imagencloud.com/site/login` + + > [!Note] + > These values are not real. Update these values with the actual Identifier, Reply URL and Sign on URL. Contact [Imagen support team](mailto:support@imagen.io) to get these values. You can also refer to the patterns shown in the **Basic SAML Configuration** section in the Azure portal. ++1. Imagen application expects the SAML assertions in a specific format, which requires you to add custom attribute mappings to your SAML token attributes configuration. The following screenshot shows the list of default attributes. ++  ++1. In addition to above, Imagen application expects few more attributes to be passed back in SAML response, which are shown below. These attributes are also pre populated but you can review them as per your requirements. ++ | Name | Source Attribute| + | | | + | urn:oid:0.9.2342.19200300.100.1.3 | user.mail | + | urn:oid:1.3.6.1.4.1.5923.1.1.1.10 | user.userprincipalname | + | Groups | user.groups | ++1. On the **Set-up single sign-on with SAML** page, in the **SAML Signing Certificate** section, find **Federation Metadata XML** and select **Download** to download the certificate and save it on your computer. ++  ++1. On the **Set up Imagen** section, copy the appropriate URL(s) based on your requirement. ++  ++## Configure Imagen SSO ++To configure single sign-on on **Imagen** side, you need to send the downloaded **Federation Metadata XML** and appropriate copied URLs from Azure portal to [Imagen support team](mailto:support@imagen.io). They set this setting to have the SAML SSO connection set properly on both sides. ++### Create Imagen test user ++In this section, a user called B.Simon is created in Imagen. Imagen supports just-in-time user provisioning, which is enabled by default. There's no action item for you in this section. If a user doesn't already exist in Imagen, a new one is commonly created after authentication. ++## Test SSO ++In this section, you test your Azure AD single sign-on configuration with following options. ++* Click on **Test this application** in Azure portal. This will redirect to Imagen Sign-on URL where you can initiate the login flow. ++* Go to Imagen Sign-on URL directly and initiate the login flow from there. ++* You can use Microsoft My Apps. When you click the Imagen tile in the My Apps, this will redirect to Imagen Sign-on URL. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md). ++## Additional resources ++* [What is single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md) +* [Plan a single sign-on deployment](../manage-apps/plan-sso-deployment.md). ++## Next steps ++Once you configure Imagen you can enforce session control, which protects exfiltration and infiltration of your organizationΓÇÖs sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-aad). |
active-directory | Informatica Intelligent Data Management Cloud Tutorial | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/informatica-intelligent-data-management-cloud-tutorial.md | + + Title: Azure Active Directory SSO integration with Informatica Intelligent Data Management Cloud +description: Learn how to configure single sign-on between Azure Active Directory and Informatica Intelligent Data Management Cloud. ++++++++ Last updated : 05/29/2023+++++# Azure Active Directory SSO integration with Informatica Intelligent Data Management Cloud ++In this article, you'll learn how to integrate Informatica Intelligent Data Management Cloud with Azure Active Directory (Azure AD). It is a SAML SSO Auth application to enable Informatica Intelligent Data Management Cloud on Azure Native Services. When you integrate Informatica Intelligent Data Management Cloud with Azure AD, you can: ++* Control in Azure AD who has access to Informatica Intelligent Data Management Cloud. +* Enable your users to be automatically signed-in to Informatica Intelligent Data Management Cloud with their Azure AD accounts. +* Manage your accounts in one central location - the Azure portal. ++You'll configure and test Azure AD single sign-on for Informatica Intelligent Data Management Cloud in a test environment. Informatica Intelligent Data Management Cloud supports both **SP** and **IDP** initiated single sign-on and **Just In Time** user provisioning. ++## Prerequisites ++To integrate Azure Active Directory with Informatica Intelligent Data Management Cloud, you need: ++* An Azure AD user account. If you don't already have one, you can [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). +* One of the following roles: Global Administrator, Cloud Application Administrator, Application Administrator, or owner of the service principal. +* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/). +* Informatica Intelligent Data Management Cloud single sign-on (SSO) enabled subscription. ++## Add application and assign a test user ++Before you begin the process of configuring single sign-on, you need to add the Informatica Intelligent Data Management Cloud application from the Azure AD gallery. You need a test user account to assign to the application and test the single sign-on configuration. ++### Add Informatica Intelligent Data Management Cloud from the Azure AD gallery ++Add Informatica Intelligent Data Management Cloud from the Azure AD application gallery to configure single sign-on with Informatica Intelligent Data Management Cloud. For more information on how to add application from the gallery, see the [Quickstart: Add application from the gallery](../manage-apps/add-application-portal.md). ++### Create and assign Azure AD test user ++Follow the guidelines in the [create and assign a user account](../manage-apps/add-application-portal-assign-users.md) article to create a test user account in the Azure portal called B.Simon. ++Alternatively, you can also use the [Enterprise App Configuration Wizard](https://portal.office.com/AdminPortal/home?Q=Docs#/azureadappintegration). In this wizard, you can add an application to your tenant, add users/groups to the app, and assign roles. The wizard also provides a link to the single sign-on configuration pane in the Azure portal. [Learn more about Microsoft 365 wizards.](/microsoft-365/admin/misc/azure-ad-setup-guides). ++## Configure Azure AD SSO ++Complete the following steps to enable Azure AD single sign-on in the Azure portal. ++1. In the Azure portal, on the **Informatica Intelligent Data Management Cloud** application integration page, find the **Manage** section and select **single sign-on**. +1. On the **Select a single sign-on method** page, select **SAML**. +1. On the **Set up single sign-on with SAML** page, select the pencil icon for **Basic SAML Configuration** to edit the settings. ++  ++1. On the **Basic SAML Configuration** section, if you have **Service Provider metadata file**, perform the following steps: ++ a. Click **Upload metadata file**. ++  ++ b. Click on **folder logo** to select the metadata file and click **Upload**. ++  ++ c. After the metadata file is successfully uploaded, the **Identifier** and **Reply URL** values get auto populated in **Basic SAML Configuration** section. ++ > [!NOTE] + > You will get the **Service Provider metadata file** from the **Configure Informatica Intelligent Data Management Cloud SSO** section, which is explained later in the tutorial. If the **Identifier** and **Reply URL** values do not get auto populated, then fill in the values manually according to your requirement. ++1. If you wish to configure the application in **SP** initiated mode, then perform the following step: ++ In the **Sign on URL** textbox, type a URL using the following pattern: + `https://<INFORMATICA_CLOUD_REGION>.informaticacloud.com/ma/sso/<INFORMATICA_CLOUD_ORG_ID>` ++ > [!NOTE] + > This value is not real. Update this value with the actual Sign on URL. Contact [Informatica Intelligent Data Management Cloud support team](mailto:support@informatica.com) to get the value. You can also refer to the patterns shown in the **Basic SAML Configuration** section in the Azure portal. ++1. On the **Set-up single sign-on with SAML** page, in the **SAML Signing Certificate** section, find **Certificate (Base64)** and select **Download** to download the certificate and save it on your computer. ++  ++1. On the **Set up Informatica Intelligent Data Management Cloud** section, copy the appropriate URL(s) based on your requirement. ++  ++## Configure Informatica Intelligent Data Management Cloud SSO ++1. Log in to your Informatica Intelligent Data Management Cloud company site as an administrator. ++1. Go to **Administrator** > **SAML Setup** and perform the following steps: ++  ++ 1. In the **Issuer** textbox, paste the **Azure AD Identifier** value, which you have copied from the Azure portal. ++ 1. In the **Single Sign-On Service URL** textbox, paste the **Login URL**, which you have copied from the Azure portal. ++ 1. In the **Single Logout Service URL** textbox, paste the **Logout URL**, which you have copied from the Azure portal. ++ 1. Open the downloaded **Certificate (Base64)** from the Azure portal into Notepad and paste the content into the **Signing Certificate** textbox. ++ 1. Click **Save** to save the details. ++ 1. **Download Service Provider Metadata** xml file and upload in the **Basic SAML Configuration** section in the Azure portal. ++### Create Informatica Intelligent Data Management Cloud test user ++In this section, a user called B.Simon is created in Informatica Intelligent Data Management Cloud. Informatica Intelligent Data Management Cloud supports just-in-time user provisioning, which is enabled by default. There's no action item for you in this section. If a user doesn't already exist in Informatica Intelligent Data Management Cloud, a new one is commonly created after authentication. ++## Test SSO ++In this section, you test your Azure AD single sign-on configuration with following options. ++#### SP initiated: ++* Click on **Test this application** in Azure portal. This will redirect to Informatica Intelligent Data Management Cloud Sign-on URL where you can initiate the login flow. ++* Go to Informatica Intelligent Data Management Cloud Sign-on URL directly and initiate the login flow from there. ++#### IDP initiated: ++* Click on **Test this application** in Azure portal and you should be automatically signed in to the Informatica Intelligent Data Management Cloud for which you set up the SSO. ++You can also use Microsoft My Apps to test the application in any mode. When you click the Informatica Intelligent Data Management Cloud tile in the My Apps, if configured in SP mode you would be redirected to the application sign-on page for initiating the login flow and if configured in IDP mode, you should be automatically signed in to the Informatica Intelligent Data Management Cloud for which you set up the SSO. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md). ++## Additional resources ++* [What is single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md) +* [Plan a single sign-on deployment](../manage-apps/plan-sso-deployment.md). ++## Next steps ++Once you configure Informatica Intelligent Data Management Cloud you can enforce session control, which protects exfiltration and infiltration of your organizationΓÇÖs sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-aad). |
active-directory | Tasc Beta Tutorial | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/tasc-beta-tutorial.md | + + Title: Azure Active Directory SSO integration with TASC (beta) +description: Learn how to configure single sign-on between Azure Active Directory and TASC (beta). ++++++++ Last updated : 05/26/2023+++++# Azure Active Directory SSO integration with TASC (beta) ++In this article, you'll learn how to integrate TASC (beta) with Azure Active Directory (Azure AD). TASC (beta) is a psychological testing platform for selection and career development, enabling HR professionals to make better talent decisions in beta environment. When you integrate TASC (beta) with Azure AD, you can: ++* Control in Azure AD who has access to TASC (beta). +* Enable your users to be automatically signed-in to TASC (beta) with their Azure AD accounts. +* Manage your accounts in one central location - the Azure portal. ++You'll configure and test Azure AD single sign-on for TASC (beta) in a test environment. TASC (beta) supports both **SP** and **IDP** initiated single sign-on and **Just In Time** user provisioning. ++## Prerequisites ++To integrate Azure Active Directory with TASC (beta), you need: ++* An Azure AD user account. If you don't already have one, you can [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). +* One of the following roles: Global Administrator, Cloud Application Administrator, Application Administrator, or owner of the service principal. +* An Azure AD subscription. If you don't have a subscription, you can get a [free account](https://azure.microsoft.com/free/). +* TASC (beta) single sign-on (SSO) enabled subscription. ++## Add application and assign a test user ++Before you begin the process of configuring single sign-on, you need to add the TASC (beta) application from the Azure AD gallery. You need a test user account to assign to the application and test the single sign-on configuration. ++### Add TASC (beta) from the Azure AD gallery ++Add TASC (beta) from the Azure AD application gallery to configure single sign-on with TASC (beta). For more information on how to add application from the gallery, see the [Quickstart: Add application from the gallery](../manage-apps/add-application-portal.md). ++### Create and assign Azure AD test user ++Follow the guidelines in the [create and assign a user account](../manage-apps/add-application-portal-assign-users.md) article to create a test user account in the Azure portal called B.Simon. ++Alternatively, you can also use the [Enterprise App Configuration Wizard](https://portal.office.com/AdminPortal/home?Q=Docs#/azureadappintegration). In this wizard, you can add an application to your tenant, add users/groups to the app, and assign roles. The wizard also provides a link to the single sign-on configuration pane in the Azure portal. [Learn more about Microsoft 365 wizards.](/microsoft-365/admin/misc/azure-ad-setup-guides). ++## Configure Azure AD SSO ++Complete the following steps to enable Azure AD single sign-on in the Azure portal. ++1. In the Azure portal, on the **TASC (beta)** application integration page, find the **Manage** section and select **single sign-on**. +1. On the **Select a single sign-on method** page, select **SAML**. +1. On the **Set up single sign-on with SAML** page, select the pencil icon for **Basic SAML Configuration** to edit the settings. ++  ++1. On the **Basic SAML Configuration** section, perform the following steps: ++ a. In the **Identifier** textbox, type a URL using the following pattern: + `https://login.beta.tascnet.be/saml/<CustomerName>` ++ b. In the **Reply URL** textbox, type a URL using the following pattern: + `https://login.beta.tascnet.be/saml/<CustomerName>/acs` ++1. If you wish to configure the application in **SP** initiated mode, then perform the following step: ++ In the **Sign on URL** textbox, type a URL using the following pattern: + `https://login.beta.tascnet.be/saml/<CustomerName>` ++ > [!NOTE] + > These values are not real. Update these values with the actual Identifier, Reply URL and Sign on URL. Contact [TASC (beta) support team](mailto:support@cebir.be) to get these values. You can also refer to the patterns shown in the **Basic SAML Configuration** section in the Azure portal. ++1. TASC (beta) application expects the SAML assertions in a specific format, which requires you to add custom attribute mappings to your SAML token attributes configuration. The following screenshot shows the list of default attributes. ++  ++1. In addition to above, TASC (beta) application expects few more attributes to be passed back in SAML response, which are shown below. These attributes are also pre populated but you can review them as per your requirements. ++ | Name | Source Attribute| + | | | + | groups | user.groups | ++1. On the **Set up single sign-on with SAML** page, in the **SAML Signing Certificate** section, select copy button to copy **App Federation Metadata Url** and save it on your computer. ++  ++## Configure TASC (beta) SSO ++To configure single sign-on on **TASC (beta)** side, you need to send the **App Federation Metadata Url** to [TASC (beta) support team](mailto:support@cebir.be). They set this setting to have the SAML SSO connection set properly on both sides. ++### Create TASC (beta) test user ++In this section, a user called B.Simon is created in TASC (beta). TASC (beta) supports just-in-time user provisioning, which is enabled by default. There's no action item for you in this section. If a user doesn't already exist in TASC (beta), a new one is commonly created after authentication. ++## Test SSO ++In this section, you test your Azure AD single sign-on configuration with following options. ++#### SP initiated: ++* Click on **Test this application** in Azure portal. This will redirect to TASC (beta) Sign-on URL where you can initiate the login flow. ++* Go to TASC (beta) Sign-on URL directly and initiate the login flow from there. ++#### IDP initiated: ++* Click on **Test this application** in Azure portal and you should be automatically signed in to the TASC (beta) for which you set up the SSO. ++You can also use Microsoft My Apps to test the application in any mode. When you click the TASC (beta) tile in the My Apps, if configured in SP mode you would be redirected to the application sign-on page for initiating the login flow and if configured in IDP mode, you should be automatically signed in to the TASC (beta) for which you set up the SSO. For more information about the My Apps, see [Introduction to the My Apps](../user-help/my-apps-portal-end-user-access.md). ++## Additional resources ++* [What is single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md) +* [Plan a single sign-on deployment](../manage-apps/plan-sso-deployment.md). ++## Next steps ++Once you configure TASC (beta) you can enforce session control, which protects exfiltration and infiltration of your organizationΓÇÖs sensitive data in real time. Session control extends from Conditional Access. [Learn how to enforce session control with Microsoft Cloud App Security](/cloud-app-security/proxy-deployment-aad). |
active-directory | Services Partners | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/verifiable-credentials/services-partners.md | If you're a Services Partner and would like to be considered into Entra Verified | Services partner | Website | |:-|:--|+|  | [Secure Personally Identifiable Information | AffinitiQuest](https://affinitiquest.io/) | |  | [Avanade Entra Verified ID Consulting Services](https://appsource.microsoft.com/marketplace/consulting-services/avanadeinc.ava_entra_verified_id_fy23?exp=ubp8) | |  | [Credivera: Digital Identity Solutions | Verifiable Credentials](https://www.credivera.com/) | |  | [Decentralized Identity | Condatis](https://condatis.com/technology/decentralized-identity/) | |  | [Digital Identity - Connect with DXC](https://dxc.com/us/en/services/security/digital-identity) |-|  | [CTC's SELMID offering](https://ctc-insight.com/selmid) | +|  | [CTC's SELMID offering](https://ctc-insight.com/selmid) | |  | [Connect with Kocho. See Verified Identity in Action](https://kocho.co.uk/contact-us/)<br/>[See Verified Identity in Action](https://kocho.co.uk/verified-id-in-action/) | |  | [Verified ID - Predica Group](https://www.predicagroup.com/en/verified-id/) | |  | [Sphereon supports customers on Microsoft's Entra Verified ID](https://sphereon.com/sphereon-supports-microsofts-entra-verified-id/) | |
aks | Ingress Basic | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/ingress-basic.md | helm install ingress-nginx ingress-nginx/ingress-nginx \ --set defaultBackend.image.registry=$ACR_URL \ --set defaultBackend.image.image=$DEFAULTBACKEND_IMAGE \ --set defaultBackend.image.tag=$DEFAULTBACKEND_TAG \- --set defaultBackend.image.digest="" \ + --set defaultBackend.image.digest="" ``` ### [Azure PowerShell](#tab/azure-powershell) |
api-management | Api Management Get Started Publish Versions | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-get-started-publish-versions.md | -For background, see [Versions & revisions](https://azure.microsoft.com/blog/versions-revisions/). +For background, see [Versions](api-management-versions.md) & [Revisions](api-management-revisions.md). In this tutorial, you learn how to: |
api-management | Api Management Sample Cache By Key | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-sample-cache-by-key.md | API Management service uses a shared per-tenant internal data cache so that, as > The internal cache is not available in the **Consumption** tier of Azure API Management. You can [use an external Azure Cache for Redis](api-management-howto-cache-external.md) instead. An external cache allows for greater cache control and flexibility for API Management instances in all tiers. ## Fragment caching-There are certain cases where responses being returned contain some portion of data that is expensive to determine and yet remains fresh for a reasonable amount of time. As an example, consider a service built by an airline that provides information relating flight reservations, flight status, and so on. If the user is a member of the airlines points program, they would also have information relating to their current status and accumulated mileage. This user-related information might be stored in a different system, but it may be desirable to include it in responses returned about flight status and reservations. This can be done using a process called fragment caching. The primary representation can be returned from the origin server using some kind of token to indicate where the user-related information is to be inserted. +There are certain cases where responses being returned contain some portion of data that is expensive to determine and yet remains fresh for a reasonable amount of time. As an example, consider a service built by an airline that provides information relating to flight reservations, flight status, and so on. If the user is a member of the airlines points program, they would also have information relating to their current status and accumulated mileage. This user-related information might be stored in a different system, but it may be desirable to include it in responses returned about flight status and reservations. This can be done using a process called fragment caching. The primary representation can be returned from the origin server using some kind of token to indicate where the user-related information is to be inserted. Consider the following JSON response from a backend API. |
application-gateway | Retirement Faq | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/retirement-faq.md | If you have an Application Gateway V1, [Migration from v1 to v2](./migrate-v1-v2 ### Can Microsoft migrate this data for me? No, Microsoft cannot migrate user's data on their behalf. Users must do the migration themselves by using the self-serve options provided.+Application Gateway v1 is built on some legacy components and customers have deployed the gateways in many different ways which makes the one click seamless migration a near impossible goal to achieve. Hence customer involvement is required for migration. ### What is the time required for migration? |
automation | Move Account | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/how-to/move-account.md | Title: Move your Azure Automation account to another subscription description: This article tells how to move your Automation account to another subscription. Previously updated : 01/07/2021 Last updated : 05/26/2023 The Automation account is one of the resources that you can move. In this articl 1. Disable your features. 2. Unlink your workspace. 3. Move the Automation account.-4. Delete and re-create the Run As accounts. -5. Re-enable your features. +4. Re-enable your features. ## Remove features You can now move your Automation account and its runbooks. 2. Select the resources in your resource group that you want to move. Ensure that you include your Automation account, runbooks, and Log Analytics workspace resources. -## Re-create Run As accounts --[Run As accounts](../automation-security-overview.md#run-as-accounts) create a service principal in Azure Active Directory to authenticate with Azure resources. When you change subscriptions, the Automation account no longer uses the existing Run As account. To re-create the Run As accounts: --1. Go to your Automation account in the new subscription, and select **Run as accounts** under **Account Settings**. You'll see that the Run As accounts show as incomplete now. --  --2. Delete the Run As accounts, one at a time, by selecting **Delete** on the **Properties** page. -- > [!NOTE] - > If you don't have permissions to create or view the Run As accounts, you see the following message: `You do not have permissions to create an Azure Run As account (service principal) and grant the Contributor role to the service principal.` For more information, see [Permissions required to configure Run As accounts](../automation-security-overview.md#permissions). --3. After you've deleted the Run As accounts, select **Create** under **Azure Run As account**. --4. On the Add Azure Run As account page, select **Create** to create the Run As account and service principal. --5. Repeat the steps above with the Azure Classic Run As account. +> [!NOTE] +> The movement of System assigned managed identity, and User-assigned managed identity takes place automatically with the Automation account. ## Enable features -After you re-create the Run As accounts, you must re-enable the features that you removed before the move: +You must re-enable the features that you removed before the move: 1. To turn on Change Tracking and Inventory, select **Change Tracking and Inventory** in your Automation account. Choose the Log Analytics workspace that you moved over, and select **Enable**. After you re-create the Run As accounts, you must re-enable the features that yo  -3. Machines that are enabled with your features are visible when you've connected the existing Log Analytics workspace. To turn on the Start/Stop VMs during off-hours feature, you must re-enable it. Under **Related Resources**, select **Start/Stop VMs** > **Learn more about and enable the solution** > **Create** to start the deployment. +3. Machines that are enabled with your features are visible when you've connected the existing Log Analytics workspace. 4. On the Add Solution page, choose your Log Analytics workspace and Automation account.  -5. Configure the feature as described in [Start/Stop VMs during off-hours overview](../automation-solution-vm-management.md). - ## Verify the move When the move is complete, verify that the capabilities listed below are enabled. |
automation | Migrate Run As Accounts Managed Identity | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/migrate-run-as-accounts-managed-identity.md | Title: Migrate from a Run As account to Managed identities description: This article describes how to migrate from a Run As account to managed identities in Azure Automation. Previously updated : 03/14/2023 Last updated : 05/29/2023 Before you migrate from a Run As account or Classic Run As account to a managed 1. If you're using Classic Run As accounts, ensure that you have [migrated](../virtual-machines/classic-vm-deprecation.md) resources deployed through classic deployment model to Azure Resource Manager. 1. Use [this script](https://github.com/azureautomation/runbooks/blob/master/Utility/AzRunAs/Check-AutomationRunAsAccountRoleAssignments.ps1) to find out which Automation accounts are using a Run As account. If your Azure Automation accounts contain a Run As account, it will have the built-in contributor role assigned to it by default. You can use the script to check the Azure Automation Run As accounts and determine if their role assignment is the default one or if it has been changed to a different role definition.+1. Use [this script](https://github.com/azureautomation/runbooks/blob/master/Utility/AzRunAs/IdentifyRunAsRunbooks.ps1) to find out if all runbooks in your Automation account are using the Run As account. ## Migrate from an Automation Run As account to a managed identity |
azure-arc | Troubleshooting | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/kubernetes/troubleshooting.md | If the Helm Chart release is present with `STATUS: deployed`, check the status o ```console $ kubectl -n azure-arc get deployments,pods-NAME READY UP-TO-DATE AVAILABLE AGE -deployment.apps/clusteridentityoperator 1/1 1 1 16h -deployment.apps/config-agent 1/1 1 1 16h -deployment.apps/cluster-metadata-operator 1/1 1 1 16h -deployment.apps/controller-manager 1/1 1 1 16h -deployment.apps/flux-logs-agent 1/1 1 1 16h -deployment.apps/metrics-agent 1/1 1 1 16h -deployment.apps/resource-sync-agent 1/1 1 1 16h --NAME READY STATUS RESTART AGE -pod/cluster-metadata-operator-7fb54d9986-g785b 2/2 Running 0 16h -pod/clusteridentityoperator-6d6678ffd4-tx8hr 3/3 Running 0 16h -pod/config-agent-544c4669f9-4th92 3/3 Running 0 16h -pod/controller-manager-fddf5c766-ftd96 3/3 Running 0 16h -pod/flux-logs-agent-7c489f57f4-mwqqv 2/2 Running 0 16h -pod/metrics-agent-58b765c8db-n5l7k 2/2 Running 0 16h -pod/resource-sync-agent-5cf85976c7-522p5 3/3 Running 0 16h +NAME READY UP-TO-DATE AVAILABLE AGE +deployment.apps/cluster-metadata-operator 1/1 1 1 3d19h +deployment.apps/clusterconnect-agent 1/1 1 1 3d19h +deployment.apps/clusteridentityoperator 1/1 1 1 3d19h +deployment.apps/config-agent 1/1 1 1 3d19h +deployment.apps/controller-manager 1/1 1 1 3d19h +deployment.apps/extension-events-collector 1/1 1 1 3d19h +deployment.apps/extension-manager 1/1 1 1 3d19h +deployment.apps/flux-logs-agent 1/1 1 1 3d19h +deployment.apps/kube-aad-proxy 1/1 1 1 3d19h +deployment.apps/metrics-agent 1/1 1 1 3d19h +deployment.apps/resource-sync-agent 1/1 1 1 3d19h ++ ++NAME READY STATUS RESTARTS AGE +pod/cluster-metadata-operator-74747b975-9phtz 2/2 Running 0 3d19h +pod/clusterconnect-agent-cf4c7849c-88fmf 3/3 Running 0 3d19h +pod/clusteridentityoperator-79bdfd945f-pt2rv 2/2 Running 0 3d19h +pod/config-agent-67bcb94b7c-d67t8 1/2 Running 0 3d19h +pod/controller-manager-559dd48b64-v6rmk 2/2 Running 0 3d19h +pod/extension-events-collector-85f4fbff69-55zmt 2/2 Running 0 3d19h +pod/extension-manager-7c7668446b-69gps 3/3 Running 0 3d19h +pod/flux-logs-agent-fc7c6c959-vgqvm 1/1 Running 0 3d19h +pod/kube-aad-proxy-84d668c44b-j457m 2/2 Running 0 3d19h +pod/metrics-agent-58fb8554df-5ll67 2/2 Running 0 3d19h +pod/resource-sync-agent-dbf5db848-c9lg8 2/2 Running 0 3d19h ``` All pods should show `STATUS` as `Running` with either `3/3` or `2/2` under the `READY` column. Fetch logs and describe the pods returning an `Error` or `CrashLoopBackOff`. If any pods are stuck in `Pending` state, there might be insufficient resources on cluster nodes. [Scaling up your cluster](https://kubernetes.io/docs/tasks/administer-cluster/) can get these pods to transition to `Running` state. +### Resource Provisioning Failed +If you receive this error, it indicates that there was an error due to which the resource could not be provisioned successfully. Please check the status of the Azure Arc enabled Kubernetes service at the following dashboard: [Azure status](https://azure.status.microsoft/en-us/status). If the status is healthy and you continue to face issues while onboarding, please raise a support ticket. If the status is unhealthy, please wait until the status becomes healthy and try onboarding again after deleting the existing connected cluster Azure resource. ++### Service Timeout +If you receive this error, it indicates that the service timed out while provisioning the certificates. Please check the status of the Azure Arc enabled Kubernetes service at the following dashboard: [Azure status](https://azure.status.microsoft/en-us/status). If the status is healthy and you continue to face issues while onboarding, please raise a support ticket. If the status is unhealthy, please wait until the status becomes healthy and try onboarding again after deleting the existing connected cluster Azure resource. ### Overage claims error |
azure-arc | Onboard Portal | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/servers/onboard-portal.md | The script to automate the download and installation, and to establish the conne 1. On the **Servers - Azure Arc** page, select **Add** at the upper left. -1. On the **Select a method** page, select the **Add a single server** tile, and then select **Generate script**. +1. On the **Select a method** page, under the **Add a single server** tile, and then select **Generate script**. -1. On the **Generate script** page, select the subscription and resource group where you want the machine to be managed within Azure. Select an Azure location where the machine metadata will be stored. This location can be the same or different, as the resource group's location. --1. On the **Prerequisites** page, review the information and then select **Next: Resource details**. +1. On the **Prerequisites** page, review the information and then select **Next** to Resource details page. 1. On the **Resource details** page, provide the following: 1. In the **Resource group** drop-down list, select the resource group the machine will be managed from. 1. In the **Region** drop-down list, select the Azure region to store the servers metadata. 1. In the **Operating system** drop-down list, select the operating system that the script is configured to run on.- 1. If the machine is communicating through a proxy server to connect to the internet, specify the proxy server IP address or the name and port number that the machine will use to communicate with the proxy server. Enter the value in the format `http://<proxyURL>:<proxyport>`. - 1. Select **Next: Tags**. + 1. In the **Connectivity method** section, If the machine is communicating through a proxy server to connect to the internet, select **Proxy server** option and specify the proxy server IP address or the name and port number that the machine will use to communicate with the proxy server. Enter the value in the format `http://<proxyURL>:<proxyport>`. Else if the machine is communicating through a private endpoint then select **Private endpoint** option and appropriate private link scope in the drop-down list. Else if the machine is communicating through a public endpoint then select **Public endpoint** option. + 1. In the **Automanage machine best practices** section, you may enable automanage if you want to onboard and configure best practice services like Machine configuration and Insights, based on your server needs. + 1. Select **Next** to Tags page. 1. On the **Tags** page, review the default **Physical location tags** suggested and enter a value, or specify one or more **Custom tags** to support your standards. -1. Select **Next: Download and run script**. +1. Select **Next** to Download and run script page. 1. On the **Download and run script** page, review the summary information, and then select **Download**. If you still need to make changes, select **Previous**. |
azure-monitor | Azure Monitor Agent Extension Versions | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/azure-monitor-agent-extension-versions.md | Title: Azure Monitor agent extension versions description: This article describes the version details for the Azure Monitor agent virtual machine extension. Last updated 4/2/2023-++ |
azure-monitor | Alerts Create New Alert Rule | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-create-new-alert-rule.md | Alerts triggered by these alert rules contain a payload that uses the [common al 1. On the **Actions** tab, select or create the required [action groups](./action-groups.md). -1. (Optional) If you've configured action groups for this alert rule, you can add custom properties in key:value pairs to the alert payload to add more information to the payload in the <a name="custom-props">**Custom properties**</a> section. Add the property **Name** and **Value** for the custom property you want included in the payload. +1. (Optional) If you've configured action groups for this alert rule, you can add custom properties in key:value pairs to add more information to the alert notification payload in the <a name="custom-props">**Custom properties**</a> section. Add the property **Name** and **Value** for the custom property you want included in the payload. You can also use custom properties to extract and manipulate data from alert payloads that use the common schema. You can use those values in the action group webhook or logic app. - The format for extracting values from the common schema, use a "$", and then the path of the common schema field inside curly brackets. For example: `${data.essentials.monitorCondition}`. + The format for extracting values from the [common schema](alerts-common-schema.md), use a "$", and then the path of the common schema field inside curly brackets. For example: `${data.essentials.monitorCondition}`. In the following examples, values in the **custom properties** are used to utilize data from the payload: **Example 1**+ This example creates an "Additional Details" tag with data about the "evaluation window start time" and "evaluation window end time". - **Name:** "Additional Details" - **Value:** "Evaluation windowStartTime: \${data.alertContext.condition.windowStartTime}. windowEndTime: \${data.alertContext.condition.windowEndTime}" - **Result:** "AdditionalDetails:Evaluation windowStartTime: 2023-04-04T14:39:24.492Z. windowEndTime: 2023-04-04T14:44:24.492Z" **Example 2**+ This example adds data about the reason the alert was fired or resolved. - **Name:** "Alert \${data.essentials.monitorCondition} reason" - **Value:** "\${data.alertContext.condition.allOf[0].metricName} \${data.alertContext.condition.allOf[0].operator} \${data.alertContext.condition.allOf[0].threshold} \${data.essentials.monitorCondition}. The value is \${data.alertContext.condition.allOf[0].metricValue}" - **Result:** Example results could be something like: |
azure-monitor | Alerts Dynamic Thresholds | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-dynamic-thresholds.md | |
azure-monitor | Alerts Enable Template | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-enable-template.md | Title: Resource Manager template - create metric alert description: Learn how to use a Resource Manager template to create a classic metric alert to receive notifications by email or webhook. Previously updated : 03/30/2022 Last updated : 05/28/2023 # Create a classic metric alert rule with a Resource Manager template |
azure-monitor | Alerts Resource Move | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-resource-move.md | Title: How to update alert rules or alert processing rules when their target res description: Background and instructions for how to update alert rules or alert processing rules when their target resource moves to a different Azure region. Previously updated : 2/23/2022 Last updated : 05/28/2023 # How to update alert rules or alert processing rules when their target resource moves to a different Azure region |
azure-monitor | Alerts Webhooks | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-webhooks.md | Title: Call a webhook with a classic metric alert in Azure Monitor description: Learn how to reroute Azure metric alerts to other, non-Azure systems. Previously updated : 2/23/2022 Last updated : 05/28/2023 # Call a webhook with a classic metric alert in Azure Monitor |
azure-monitor | Prometheus Api Promql | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/essentials/prometheus-api-promql.md | curl -X POST 'https://login.microsoftonline.com/<tennant ID>/oauth2/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=client_credentials' \ --data-urlencode 'client_id=<your apps client ID>' \data-urlencode 'client_secret=<your apps client secret' \+--data-urlencode 'client_secret=<your apps client secret>' \ --data-urlencode 'resource=https://prometheus.monitor.azure.com' ``` For more information on Prometheus metrics limits, see [Prometheus metrics](../. [Azure Monitor workspace overview](./azure-monitor-workspace-overview.md) [Manage an Azure Monitor workspace](./azure-monitor-workspace-manage.md) [Overview of Azure Monitor Managed Service for Prometheus](./prometheus-metrics-overview.md) -[Query Prometheus metrics using Azure workbooks](./prometheus-workbooks.md) +[Query Prometheus metrics using Azure workbooks](./prometheus-workbooks.md) |
azure-monitor | Daily Cap | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/daily-cap.md | To help you determine an appropriate daily cap for your workspace, see [Azure M ## Workspaces with Microsoft Defender for Cloud-Some data security-related data types collected [Microsoft Defender for Cloud](../../security-center/index.yml) or Microsoft Sentinel are collected despite any daily cap, when the [Microsoft Defender for Servers](../../defender-for-cloud/plan-defender-for-servers-select-plan.md) solution was enabled on a workspace after June 19, 2017. The following data types will be subject to this special exception from the daily cap: ++> [!IMPORTANT] +> Starting September 18, 2023, the Log Analytics Daily Cap will no longer exclude the below set of data types from the daily cap, and all billable data types will +> be capped if the daily cap is met. This change improves your ability to fully contain costs from higher-than-expected data ingestion. +> If you have a Daily Cap set on your workspace which has [Microsoft Defender for Servers](../../defender-for-cloud/plan-defender-for-servers-select-plan.md), +> be sure that the cap is high enough to accomodate this change. Also, be sure to set an alert (see below) so that you are notified as soon as your Daily Cap is met. + +Until September 18, 2023, some data security-related data types collected [Microsoft Defender for Cloud](../../security-center/index.yml) or Microsoft Sentinel are collected despite any daily cap, when the [Microsoft Defender for Servers](../../defender-for-cloud/plan-defender-for-servers-select-plan.md) solution was enabled on a workspace after June 19, 2017. The following data types will be subject to this special exception from the daily cap: - WindowsEvent - SecurityAlert |
azure-monitor | Tutorial Logs Ingestion Portal | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/tutorial-logs-ingestion-portal.md | Start by registering an Azure Active Directory application to authenticate again :::image type="content" source="media/tutorial-logs-ingestion-portal/new-app-secret-value.png" lightbox="media/tutorial-logs-ingestion-portal/new-app-secret-value.png" alt-text="Screenshot that shows the secret value for the new app."::: ## Create data collection endpoint-A [data collection endpoint](../essentials/data-collection-endpoint-overview.md) is required to accept the data from the script. After you configure the DCE and link it to a DCR, you can send data over HTTP from your application. The DCE does not need to be in the same region as the Log Analytics workspace where the data will be sent or the data collection rule being used. +A [data collection endpoint](../essentials/data-collection-endpoint-overview.md) is required to accept the data from the script. After you configure the DCE and link it to a DCR, you can send data over HTTP from your application. The DCE needs to be in the same region as the Log Analytics workspace where the data will be sent or the data collection rule being used. 1. To create a new DCE, go to the **Monitor** menu in the Azure portal. Select **Data Collection Endpoints** and then select **Create**. |
azure-monitor | Tutorial Logs Dashboards | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/visualize/tutorial-logs-dashboards.md | Now that we have a query pinned to the dashboard, you'll notice that it has a ge In this tutorial, you learned how to create a dashboard in the Azure portal and add a log query to it. Follow this link to see prebuilt Log Analytics script samples. > [!div class="nextstepaction"]-> [Log Analytics script samples](../powershell-samples.md) +> [Log Analytics script samples](../logs/queries.md) |
azure-portal | Azure Portal Dashboard Share Access | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-portal/azure-portal-dashboard-share-access.md | To expand access to a dashboard beyond the access granted at the subscription le ## Publish a dashboard -To share access to a dashboard, you must first publish it. When you do so, other users in your organization will be access and modify the dashboard based on their Azure RBAC roles. +To share access to a dashboard, you must first publish it. When you do so, other users in your organization will be able to access and modify the dashboard based on their Azure RBAC roles. 1. In the dashboard, select **Share**. For each dashboard that you have published, you can assign Azure RBAC built-in r * View the list of [Azure built-in roles](../role-based-access-control/built-in-roles.md). * Learn about [managing groups in Azure AD](../active-directory/fundamentals/active-directory-groups-create-azure-portal.md). * Learn more about [managing Azure resources by using the Azure portal](../azure-resource-manager/management/manage-resources-portal.md).-* [Create a dashboard](azure-portal-dashboards.md) in the Azure portal. +* [Create a dashboard](azure-portal-dashboards.md) in the Azure portal. |
azure-resource-manager | Move Support Resources | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/move-support-resources.md | Before starting your move operation, review the [checklist](./move-resource-grou ## Microsoft.Automation > [!IMPORTANT]-> Runbooks must exist in the same resource group as the Automation Account. -> -> For information, see [Move your Azure Automation account to another subscription](../../automation/how-to/move-account.md?toc=/azure/azure-resource-manager/toc.json). +> Runbooks must exist in the same resource group as the Automation Account. +> The movement of System assigned managed identity, and User-assigned managed identity takes place automatically with the Automation account. For information, see [Move your Azure Automation account to another subscription](../../automation/how-to/move-account.md?toc=/azure/azure-resource-manager/toc.json). > [!div class="mx-tableFixed"] > | Resource type | Resource group | Subscription | Region move | |
cosmos-db | How To Delete By Partition Key | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/nosql/how-to-delete-by-partition-key.md | Title: Delete items by partition key value using the Azure Cosmos DB SDK (preview) + Title: Delete items by partition key value using the Azure Cosmos DB SDK (preview) description: Learn how to delete items by partition key value using the Azure Cosmos DB SDKs--++ Previously updated : 08/19/2022 Last updated : 05/23/2023 This article explains how to use the Azure Cosmos DB SDKs to delete all items by The delete by partition key feature is an asynchronous, background operation that allows you to delete all documents with the same logical partition key value, using the Cosmos SDK. -Because the number of documents to be deleted may be large, the operation runs in the background. Though the physical deletion operation runs in the background, the effects will be available immediately, as the documents to be deleted won't appear in the results of queries or read operations. +Because the number of documents to be deleted may be large, the operation runs in the background. Though the physical deletion operation runs in the background, the effects are available immediately, as the documents to be deleted won't appear in the results of queries or read operations. -To help limit the resources used by this background task, the delete by partition key operation is constrained to consume at most 10% of the total available RU/s on the container each second. +The delete by partition key operation is constrained to consume at most 10% of the total available RU/s on the container each second. This helps in limiting the resources used by this background task. ## Getting started Use [version 4.19.0](https://mvnrepository.com/artifact/com.azure/azure-cosmos) CosmosItemResponse<?> deleteResponse = container.deleteAllItemsByPartitionKey( new PartitionKey("Contoso"), new CosmosItemRequestOptions()).block(); ```++#### [Python](#tab/python-example) ++Use [beta-version ( >= 4.4.0b1)](https://pypi.org/project/azure-cosmos/4.4.0b1/) of the Azure Cosmos DB Python SDK to delete items by partition key. The delete by partition key API will be marked as beta. +++```python +# Suppose our container is partitioned by tenantId, and we want to delete all the data for a particular tenant Contoso ++# Delete by logical partition key +container.delete_all_items_by_partition_key("Contoso") ++``` + ### Frequently asked questions (FAQ) #### Are the results of the delete by partition key operation reflected immediately?-Yes, once the delete by partition key operation starts, the documents to be deleted will not appear in the results of queries or read operations. This also means that you can write new a new document with the same ID and partition key as a document to be deleted without resulting in a conflict. +Yes, once the delete by partition key operation starts, the documents to be deleted won't appear in the results of queries or read operations. This also means that you can write new a new document with the same ID and partition key as a document to be deleted without resulting in a conflict. See [Known issues](#known-issues) for exceptions. #### What happens if I issue a delete by partition key operation, and then immediately write a new document with the same partition key?-When the delete by partition key operation is issued, only the documents that exist in the container at that point in time with the partition key value will be deleted. Any new documents that come in will not be in scope for the deletion. +When the delete by partition key operation is issued, only the documents that exist in the container at that point in time with the partition key value will be deleted. Any new documents that come in won't be in scope for the deletion. ### How is the delete by partition key operation prioritized among other operations against the container? By default, the delete by partition key value operation can consume up to a reserved fraction - 0.1, or 10% - of the overall RU/s on the resource. Any Request Units (RUs) in this bucket that are unused will be available for other non-background operations, such as reads, writes, and queries. For certain scenarios, the effects of a delete by partition key operation isn't - [Aggregate queries](query/aggregate-functions.md) that use the index - for example, COUNT queries - that are issued during an ongoing delete by partition key operation may contain the results of the documents to be deleted. This may occur until the delete operation is fully complete. - Queries issued against the [analytical store](../analytical-store-introduction.md) during an ongoing delete by partition key operation may contain the results of the documents to be deleted. This may occur until the delete operation is fully complete.-- [Continuous backup (point in time restore)](../continuous-backup-restore-introduction.md) - a restore that is triggered during an ongoing delete by partition key operation may contain the results of the documents to be deleted in the restored collection. It is not recommended to use this preview feature if you have a scenario that requires continuous backup. +- [Continuous backup (point in time restore)](../continuous-backup-restore-introduction.md) - a restore that is triggered during an ongoing delete by partition key operation may contain the results of the documents to be deleted in the restored collection. It isn't recommended to use this preview feature if you have a scenario that requires continuous backup. ## How to give feedback or report an issue/bug * Email cosmosPkDeleteFeedbk@microsoft.com with questions or feedback. Find the latest version of the SDK that supports this feature. | | | | | **.NET SDK v3** | *>= 3.25.0-preview (must be preview version)* | <https://www.nuget.org/packages/Microsoft.Azure.Cosmos/> | | **Java SDK v4** | *>= 4.19.0 (API is marked as beta)* | <https://mvnrepository.com/artifact/com.azure/azure-cosmos> |+| **Python SDK v4** | *>= 4..4.0b1 (must be beta version)* | <https://pypi.org/project/azure-cosmos/4.4.0b1/> | Support for other SDKs is planned for the future. ## Next steps See the following articles to learn about more SDK operations in Azure Cosmos DB.-- [Query an Azure Cosmos DB container-](how-to-query-container.md) -- [Transactional batch operations in Azure Cosmos DB using the .NET SDK-](transactional-batch.md) +- [Query an Azure Cosmos DB container](how-to-query-container.md) +- [Transactional batch operations in Azure Cosmos DB using the .NET SDK](transactional-batch.md) |
cosmos-db | Partial Document Update Getting Started | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/partial-document-update-getting-started.md | Title: Get started with partial document update description: Learn how to use the partial document update feature with the .NET, Java, and Node SDKs for Azure Cosmos DB for NoSQL.--++ Previously updated : 04/03/2023- Last updated : 05/23/2023 # Get started with Azure Cosmos DB Partial Document Update Support for Partial Document Update (Patch API) in the [Azure Cosmos DB JavaScri +## [Python (Preview)](#tab/python) ++Support for Partial Document Update (Patch API) in the [Azure Cosmos DB Python SDK](nosql/sdk-python.md) is available in Preview starting with version *4.4.0b2*. You can download it from the [pip Registry](https://pypi.org/project/azure-cosmos/4.4.0b2/). ++> [!NOTE] +> Find a complete Partial Document Update sample in the [python samples repository](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/cosmos/azure-cosmos/samples/document_management.py#L105C8-L122) on GitHub. ++- Run a single patch operation: ++ ```python + operations = + [ + { op: 'replace', path: '/price', value: 355.45 } + ] + + response = container.patch_item(item='e379aea5-63f5-4623-9a9b-4cd9b33b91d5', partition_key='road-bikes', patch_operations=operations) + + ``` ++- Combine multiple patch operations: ++ ```python + operations = + [ + { op: 'add', path: '/color', value: 'silver' }, + { op: 'remove', path: '/used' } + ] + + response = container.patch_item(item='e379aea5-63f5-4623-9a9b-4cd9b33b91d5', partition_key='road-bikes', patch_operations=operations) ++ ``` ++- Use conditional patch syntax based on filter predicate: ++ ```python + filter = "from products p WHERE p.used = false" ++ operations = + [ + { op: 'replace', path: '/price', value: 100.00 } + ] ++ try: + container.patch_item(item='e379aea5-63f5-4623-9a9b-4cd9b33b91d5', partition_key='road-bikes', patch_operations=operations, filter_predicate=filter) + except exceptions.CosmosHttpResponseError as e: + print('\nError occured. {0}'.format(e.message)) + + ``` +++ ## Support for server-side programming Partial Document Update operations can also be [executed on the server-side](stored-procedures-triggers-udfs.md) using stored procedures, triggers, and user-defined functions. |
data-factory | How To Send Notifications To Teams | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/data-factory/how-to-send-notifications-to-teams.md | Before you can send notifications to Teams from your pipelines, you must create "targets": [ { "os": "default",- "uri": "@{concat('https://adf.azure.com/monitoring/pipelineruns/',pipeline().parameters.runId,'?factory=/subscriptions/',pipeline().parameters.subscription,'/resourceGroups/',pipeline().parameters.resourceGroup,'/providers/Microsoft.DataFactory/factories/',pipeline().DataFactory)}" + "uri": "@{concat('https://synapse.azure.com/monitoring/pipelineruns/',pipeline().parameters.runId,'?factory=/subscriptions/',pipeline().parameters.subscription,'/resourceGroups/',pipeline().parameters.resourceGroup,'/providers/Microsoft.DataFactory/factories/',pipeline().DataFactory)}" } ] } Before you can send notifications to Teams from your pipelines, you must create "targets": [ { "os": "default",- "uri": "@{concat('https://adf.azure.com/monitoring/pipelineruns/',pipeline().parameters.runId,'?factory=/subscriptions/',pipeline().parameters.subscription,'/resourceGroups/',pipeline().parameters.resourceGroup,'/providers/Microsoft.DataFactory/factories/',pipeline().DataFactory)}" + "uri": "@{concat('https://synapse.azure.com/monitoring/pipelineruns/',pipeline().parameters.runId,'?factory=/subscriptions/',pipeline().parameters.subscription,'/resourceGroups/',pipeline().parameters.resourceGroup,'/providers/Microsoft.DataFactory/factories/',pipeline().DataFactory)}" } ] } |
defender-for-cloud | Alert Validation | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/alert-validation.md | Title: Alert validation in Microsoft Defender for Cloud description: Learn how to validate that your security alerts are correctly configured in Microsoft Defender for Cloud Previously updated : 05/23/2023 Last updated : 05/29/2023 To receive all the alerts, your machines and the connected Log Analytics workspa ## Generate sample security alerts -If you're using the new, preview alerts experience as described in [Manage and respond to security alerts in Microsoft Defender for Cloud](managing-and-responding-alerts.md), you can create sample alerts from the security alerts page in the Azure portal. +If you're using the new preview alerts experience as described in [Manage and respond to security alerts in Microsoft Defender for Cloud](managing-and-responding-alerts.md), you can create sample alerts from the security alerts page in the Azure portal. Use sample alerts to: To create sample alerts: 1. As a user with the role **Subscription Contributor**, from the toolbar on the security alerts page, select **Sample alerts**. 1. Select the subscription.-1. Select the relevant Microsoft Defender plan/s for which you want to see alerts. +1. Select the relevant Microsoft Defender plan/s for which you want to see alerts. 1. Select **Create sample alerts**. :::image type="content" source="media/alert-validation/create-sample-alerts-procedures.png" alt-text="Screenshot showing steps to create sample alerts in Microsoft Defender for Cloud." lightbox="media/alert-validation/create-sample-alerts-procedures.png":::- + A notification appears letting you know that the sample alerts are being created: :::image type="content" source="media/alert-validation/notification-sample-alerts-creation.png" alt-text="Screenshot showing notification that the sample alerts are being generated." lightbox="media/alert-validation/notification-sample-alerts-creation.png"::: - After a few minutes, the alerts appear in the security alerts page. They'll also appear anywhere else that you've configured to receive your Microsoft Defender for Cloud security alerts (connected SIEMs, email notifications, and so on). + After a few minutes, the alerts appear in the security alerts page. They also appear anywhere else that you've configured to receive your Microsoft Defender for Cloud security alerts (connected SIEMs, email notifications, and so on). :::image type="content" source="media/alert-validation/sample-alerts.png" alt-text="Screenshot showing sample alerts in the security alerts list." lightbox="media/alert-validation/sample-alerts.png"::: You can simulate alerts for both of the control plane, and workload alerts with - **ARC only** - Ensure the Defender extension is installed. - **EKS or GKE only** - Ensure the default audit log collection auto-provisioning options are enabled. -**To simulate a Kubernetes control plane security alert**: +**To simulate a Kubernetes control plane security alert**: -1. Run the following command from the cluster: +1. Run the following command from the cluster: ```bash kubectl get pods --namespace=asc-alerttest-662jfi039n You can simulate alerts for both of the control plane, and workload alerts with 1. In the Azure portal, navigate to the Defender for Cloud's security alerts page. -1. On the relevant Kubernetes cluster, locate the following alert `Microsoft Defender for Cloud test alert for K8S (not a threat)` +1. On the relevant Kubernetes cluster, locate the following alert `Microsoft Defender for Cloud test alert for K8S (not a threat)` ### Simulate workload alerts (K8S.NODE_ prefix) **Prerequisites** - Ensure the Defender for Containers plan is enabled.-- Ensure the Defender profile\extension is installed. +- Ensure the Defender profile\extension is installed. **To simulate a a Kubernetes workload security alert**:- + 1. Create a pod to run a test command on. This pod can be any of the existing pods in the cluster, or a new pod. You can create using this sample yaml configuration:- + ```yaml apiVersion: v1 kind: Pod You can simulate alerts for both of the control plane, and workload alerts with ``` To create the pod run:- + ```bash kubectl apply -f <path_to_the_yaml_file> ``` You can simulate alerts for both of the control plane, and workload alerts with You can also learn more about defending your Kubernetes nodes and clusters with [Microsoft Defender for Containers](defender-for-containers-introduction.md). -### Simulate alerts for App Service +## Simulate alerts for App Service You can simulate alerts for resources running on [App Service](/azure/app-service/overview). -1. Create a new website and wait 24 hours for it to be registered with Defender for Cloud, or use an existing web site. +1. Create a new website and wait 24 hours for it to be registered with Defender for Cloud, or use an existing web site. 1. Once the web site is created, access it using the following URL:- 1. Open the app service resource blade and copy the domain for the URL from the default domain field. - + 1. Open the app service resource pane and copy the domain for the URL from the default domain field. + :::image type="content" source="media/alert-validation/copy-default-domain.png" alt-text="Screenshot showing where to copy the default domain." lightbox="media/alert-validation/copy-default-domain.png"::: 1. Copy the website name into the URL: `https://<website name>.azurewebsites.net/This_Will_Generate_ASC_Alert`.-1. An alert is generated within about 1-2 hours. +1. An alert is generated within about 1-2 hours. ## Next steps |
defender-for-cloud | Defender For Storage Threats Alerts | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-storage-threats-alerts.md | Defender for Storage offers two capabilities to detect malicious content uploade **Malware Scanning** leverages Microsoft Defender Antivirus (MDAV) to scan blobs uploaded to Blob storage, providing a comprehensive analysis that includes deep file scans and hash reputation analysis. This feature provides an enhanced level of detection against potential threats. -### Malware Scanning (paid add-on feature available only on the new plan) +### Hash reputation analysis (available in all plans) **Hash reputation analysis** detects potential malware in Blob storage and Azure Files by comparing the hash values of newly uploaded blobs/files against those of known malware by [Microsoft Threat Intelligence](https://go.microsoft.com/fwlink/?linkid=2128684). Not all file protocols and operation types are supported with this capability, leading to some operations not being monitored for potential malware uploads. Unsupported use cases include SMB file shares and when a blob is created using [Put Block](/rest/api/storageservices/put-block) and [Put Block List](/rest/api/storageservices/put-block-list). |
defender-for-cloud | Plan Defender For Servers | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/plan-defender-for-servers.md | This guide helps you design and plan an effective Defender for Servers deploymen ## About this guide -The intended audience of this guide is cloud solution and infrastructure architects, security architects and analysts, and anyone who's involved in protecting cloud and hybrid servers and workloads. +The intended audience of this guide is cloud solution and infrastructure architects, security architects and analysts, and anyone who's involved in protecting cloud and hybrid servers and workloads. The guide answers these questions: - What does Defender for Servers do and how is it deployed?-- Where will my data be stored and what Log Analytics workspaces do I need?+- Where is my data stored and what Log Analytics workspaces do I need? - Who needs access to my Defender for Servers resources? - Which Defender for Servers plan should I choose and which vulnerability assessment solution should I use? - When do I need to use Azure Arc and which agents and extensions are required? Before you review the series of articles in the Defender for Servers planning gu ## Deployment overview -The following diagram shows an overview of the Defender for Servers deployment process: +The following table shows an overview of the Defender for Servers deployment process: +| Stage | Details | +| | | +| Start protecting resources | ΓÇó When you open Defender for Cloud in the portal, it starts protecting resources with free foundational CSPM assessments and recommendations.<br /><br />ΓÇó Defender for Cloud creates a default Log Analytics workspace with the *SecurityCenterFree* solution enabled.<br /><br />ΓÇó Recommendations start appearing in the portal. | +| Enable Defender for Servers | ΓÇó When you enable a paid plan, Defender for Cloud enables the *Security* solution on its default workspace.<br /><br />ΓÇó Enable Defender for Servers Plan 1 (subscription only) or Plan 2 (subscription and workspace).<br /><br />ΓÇó After enabling a plan, decide how you want to install agents and extensions on Azure VMs in the subscription or workgroup.<br /><br />ΓÇóBy default, auto-provisioning is enabled for some extensions. | +| Protect AWS/GCP machines | ΓÇó For a Defender for Servers deployment, you set up a connector, turn off plans you don't need, configure auto-provisioning settings, authenticate to AWS/GCP, and deploy the settings.<br /><br />ΓÇó Auto-provisioning includes the agents used by Defender for Cloud and the Azure Connected Machine agent for onboarding to Azure with Azure Arc.<br /><br />ΓÇó AWS uses a CloudFormation template.<br /><br />ΓÇó GCP uses a Cloud Shell template.<br /><br />ΓÇó Recommendations start appearing in the portal. | +| Protect on-premises servers | ΓÇó Onboard them as Azure Arc machines and deploy agents with automation provisioning. | +| Foundational CSPM | ΓÇó There are no charges when you use foundational CSPM with no plans enabled.<br /><br />ΓÇó AWS/GCP machines don't need to be set up with Azure Arc for foundational CSPM. On-premises machines do.<br /><br />ΓÇó Some foundational recommendations rely only agents: Antimalware / endpoint protection (Log Analytics agent or Azure Monitor agent) \| OS baselines recommendations (Log Analytics agent or Azure Monitor agent and Guest Configuration extension) \| System updates recommendation (Log Analytics agent) | - Learn more about [foundational cloud security posture management (CSPM)](concept-cloud-security-posture-management.md#defender-cspm-plan-options). - Learn more about [Azure Arc](../azure-arc/index.yml) onboarding. -When you enable [Microsoft Defender for Servers](defender-for-servers-introduction.md) on an Azure subscription or a connected AWS account, all of the connected machines will be protected by Defender for Servers. You can enable Microsoft Defender for Servers at the Log Analytics workspace level, but only servers reporting to that workspace will be protected and billed and those servers won't receive some benefits, such as Microsoft Defender for Endpoint, vulnerability assessment, and just-in-time VM access. +When you enable [Microsoft Defender for Servers](defender-for-servers-introduction.md) on an Azure subscription or a connected AWS account, all of the connected machines are protected by Defender for Servers. You can enable Microsoft Defender for Servers at the Log Analytics workspace level, but only servers reporting to that workspace will be protected and billed and those servers won't receive some benefits, such as Microsoft Defender for Endpoint, vulnerability assessment, and just-in-time VM access. ## Next steps |
defender-for-iot | Virtual Management Hyper V | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/appliance-catalog/virtual-management-hyper-v.md | Before you begin the installation, make sure you have the following items: Make sure the hypervisor is running. +> [!NOTE] +> There is no need to pre-install an operating system on the VM, the sensor installation includes the operating system image. + ## Create the virtual machine This procedure describes how to create a virtual machine for your on-premises management console using Microsoft Hyper-V. |
defender-for-iot | Virtual Management Vmware | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/appliance-catalog/virtual-management-vmware.md | The on-premises management console supports both VMware and Hyper-V deployment o Make sure the hypervisor is running. +> [!NOTE] +> There is no need to pre-install an operating system on the VM, the sensor installation includes the operating system image. + ## Create the virtual machine This procedure describes how to create a virtual machine for your on-premises management console using VMware ESXi. |
defender-for-iot | Virtual Sensor Hyper V | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/appliance-catalog/virtual-sensor-hyper-v.md | The on-premises management console supports both VMware and Hyper-V deployment o Make sure the hypervisor is running. +> [!NOTE] +> There is no need to pre-install an operating system on the VM, the sensor installation includes the operating system image. + ## Create the virtual machine This procedure describes how to create a virtual machine by using Hyper-V. |
defender-for-iot | Virtual Sensor Vmware | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/appliance-catalog/virtual-sensor-vmware.md | Before you begin the installation, make sure you have the following items: Make sure the hypervisor is running. +> [!NOTE] +> There is no need to pre-install an operating system on the VM, the sensor installation includes the operating system image. + ## Create the virtual machine This procedure describes how to create a virtual machine by using ESXi. |
defender-for-iot | Install Software Ot Sensor | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/ot-deploy/install-software-ot-sensor.md | This procedure describes how to install OT monitoring software on an OT network **To install your software**: +> [!NOTE] +> There is no need to pre-install an operating system on the VM, the sensor installation includes the operating system image. + 1. Mount the ISO file onto your hardware appliance or VM using one of the following options: - **Physical media** ΓÇô burn the ISO file to your external storage, and then boot from the media. |
defender-for-iot | Ot Virtual Appliances | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/ot-virtual-appliances.md | For all deployments, bandwidth results for virtual machines may vary, depending |**L100** | **Max bandwidth**: 100 Mb/sec <br>**Max monitored assets**: 800 | **vCPU**: 4 <br>**Memory**: 8 GB <br>**Storage**: 100 GB (150 IOPS) | |**L60** [*](ot-appliance-sizing.md#l60) | **Max bandwidth**: 10 Mb/sec <br>**Max monitored assets**: 100 | **vCPU**: 4 <br>**Memory**: 8 GB <br>**Storage**: 60 GB (150 IOPS) | +> [!NOTE] +> There is no need to pre-install an operating system on the VM, the sensor installation includes the operating system image. + ## On-premises management console VM requirements An on-premises management console on a virtual appliance is supported for enterprise deployments with the following requirements: |
defender-for-iot | Release Notes | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/release-notes.md | Cloud features may be dependent on a specific sensor version. Such features are | Version / Patch | Release date | Scope | Supported until | | - | | -- | - | | **22.3** | | | |+| 22.3.9 | 05/2023 | Patch | 04/2024 | | 22.3.8 | 04/2023 | Patch | 03/2024 | | 22.3.7 | 03/2023 | Patch | 02/2024 | | 22.3.6 | 03/2023 | Patch | 02/2024 | To understand whether a feature is supported in your sensor version, check the r ## Versions 22.3.x +### 22.3.9 ++**Release date**: 05/2023 ++**Supported until**: 04/2024 ++This version includes bug fixes for stability improvements. + ### 22.3.8 **Release date**: 04/2023 |
hdinsight | Apache Hadoop Use Mapreduce Powershell | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/hadoop/apache-hadoop-use-mapreduce-powershell.md | description: Learn how to use PowerShell to remotely run MapReduce jobs with Apa Previously updated : 01/08/2020 Last updated : 05/26/2023 # Run MapReduce jobs with Apache Hadoop on HDInsight using PowerShell |
hdinsight | Apache Hadoop Using Apache Hive As An Etl Tool | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/hadoop/apache-hadoop-using-apache-hive-as-an-etl-tool.md | description: Use Apache Hive to extract, transform, and load (ETL) data in Azure Previously updated : 04/29/2022 Last updated : 05/26/2023 # Use Apache Hive as an Extract, Transform, and Load (ETL) tool |
hdinsight | Hdinsight Troubleshoot Unable Log In Cluster | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/hadoop/hdinsight-troubleshoot-unable-log-in-cluster.md | Title: Unable to log into Azure HDInsight cluster description: Troubleshoot why unable to log into Apache Hadoop cluster in Azure HDInsight Previously updated : 07/31/2019 Last updated : 05/26/2023 # Scenario: Unable to log into Azure HDInsight cluster To resolve common issues, try one or more of the following steps. ## Next steps |
hdinsight | Hdinsight Apps Use Edge Node | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/hdinsight-apps-use-edge-node.md | description: How to add an empty edge node to an HDInsight cluster. Used as a cl Previously updated : 04/27/2022 Last updated : 05/26/2023 # Use empty edge nodes on Apache Hadoop clusters in HDInsight |
hdinsight | Hdinsight Hadoop Create Linux Clusters Adf | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/hdinsight-hadoop-create-linux-clusters-adf.md | description: Tutorial - Learn how to create on-demand Apache Hadoop clusters in Previously updated : 04/22/2022 Last updated : 05/26/2023 #Customer intent: As a data worker, I need to create a Hadoop cluster and run Hive jobs on demand |
hdinsight | Apache Spark Connect To Sql Database | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/spark/apache-spark-connect-to-sql-database.md | Title: Use Apache Spark to read and write data to Azure SQL Database -description: Learn how to set up a connection between HDInsight Spark cluster and Azure SQL Database. To read data, write data, and stream data into a SQL database +description: Learn how to set up a connection between HDInsight Spark cluster and Azure SQL Database. To read data, write data, and stream data into an SQL database In this section, you read data from a table (for example, **SalesLT.Address**) t ``` Press **SHIFT + ENTER** to run the code cell. -1. Use the snippet below to build a JDBC URL that you can pass to the Spark dataframe APIs. The code creates a `Properties` object to hold the parameters. Paste the snippet in a code cell and press **SHIFT + ENTER** to run. +1. Use the following snippet to build a JDBC URL that you can pass to the Spark dataframe APIs. The code creates a `Properties` object to hold the parameters. Paste the snippet in a code cell and press **SHIFT + ENTER** to run. ```scala import java.util.Properties In this section, you read data from a table (for example, **SalesLT.Address**) t connectionProperties.put("password", s"${jdbcPassword}") ``` -1. Use the snippet below to create a dataframe with the data from a table in your database. In this snippet, we use a `SalesLT.Address` table that is available as part of the **AdventureWorksLT** database. Paste the snippet in a code cell and press **SHIFT + ENTER** to run. +1. Use the following snippet to create a dataframe with the data from a table in your database. In this snippet, we use a `SalesLT.Address` table that is available as part of the **AdventureWorksLT** database. Paste the snippet in a code cell and press **SHIFT + ENTER** to run. ```scala val sqlTableDF = spark.read.jdbc(jdbc_url, "SalesLT.Address", connectionProperties) In this section, we use a sample CSV file available on the cluster to create a t 1. Connect to the Azure SQL Database using SSMS and verify that you see a `dbo.hvactable` there. - a. Start SSMS and connect to the Azure SQL Database by providing connection details as shown in the screenshot below. + a. Start SSMS and connect to the Azure SQL Database by providing connection details as shown in the following screenshot. :::image type="content" source="./media/apache-spark-connect-to-sql-database/connect-to-sql-db-ssms.png " alt-text="Connect to SQL Database using SSMS1" border="true"::: |
hdinsight | Apache Spark Zeppelin Notebook | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/hdinsight/spark/apache-spark-zeppelin-notebook.md | description: Step-by-step instructions on how to use Zeppelin notebooks with Apa Previously updated : 04/22/2022 Last updated : 05/26/2023 # Use Apache Zeppelin notebooks with Apache Spark cluster on Azure HDInsight |
machine-learning | Execute Python Script | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/component-reference/execute-python-script.md | Last updated 06/15/2021 This article describes the Execute Python Script component in Azure Machine Learning designer. -Use this component to run Python code. For more information about the architecture and design principles of Python, see [how run Python code in Azure Machine Learning designer](../how-to-designer-python.md). +Use this component to run Python code. For more information about the architecture and design principles of Python, see [how run Python code in Azure Machine Learning designer](../v1/how-to-designer-python.md). With Python, you can perform tasks that existing components don't support, such as: |
machine-learning | Concept Designer | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/concept-designer.md | Title: What is the Azure Machine Learning designer? + Title: What is the Azure Machine Learning designer(v2)? -description: Learn what the Azure Machine Learning designer is and what tasks you can use it for. The drag-and-drop UI enables model training and deployment. +description: Learn what the Azure Machine Learning designer is and what tasks you can use it for. The drag-and-drop UI enables customer to build machine learning pipeline. -monikerRange: 'azureml-api-1 || azureml-api-2' Last updated : 05/25/2023+ -# What is Azure Machine Learning designer? +# What is Azure Machine Learning designer(v2)? -Azure Machine Learning designer is a drag-and-drop interface used to train and deploy models in Azure Machine Learning. This article describes the tasks you can do in the designer. +Azure Machine Learning designer is a drag-and-drop UI interface to build pipeline in Azure Machine Learning. +As shown in below GIF, you can build a pipeline visually by drag and drop your building blocks and connect them. - -The designer uses your Azure Machine Learning [workspace](concept-workspace.md) to organize shared resources such as: -+ [Pipelines](#pipeline) -+ [Data](#data) -+ [Compute resources](#compute) -+ [Registered models](concept-model-management-and-deployment.md#register-and-track-machine-learning-models) -+ [Registered models](v1/concept-azure-machine-learning-architecture.md#models) -+ [Published pipelines](#publish) -+ [Real-time endpoints](#deploy) +>[!Note] +> Designer supports two types of components, classic prebuilt components(v1) and custom components(v2). These two types of components are NOT compatible. +> +>Classic prebuilt components provide prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. +> +>Custom components allow you to wrap your own code as a component. It supports sharing components across workspaces and seamless authoring across Studio, CLI v2, and SDK v2 interfaces. +> +>For new projects, we highly suggest you use custom component, which is compatible with AzureML V2 and will keep receiving new updates. +> +>This article applies to custom components. -## Model training and deployment -Use a visual canvas to build an end-to-end machine learning workflow. Train, test, and deploy models all in the designer: +## Assets -+ Drag-and-drop [data assets](#data) and [components](#component) onto the canvas. -+ Connect the components to create a [pipeline draft](#pipeline-draft). -+ Submit a [pipeline run](#pipeline-job) using the compute resources in your Azure Machine Learning workspace. -+ Convert your **training pipelines** to **inference pipelines**. -+ [Publish](#publish) your pipelines to a REST **pipeline endpoint** to submit a new pipeline that runs with different parameters and data assets. - + Publish a **training pipeline** to reuse a single pipeline to train multiple models while changing parameters and data assets. - + Publish a **batch inference pipeline** to make predictions on new data by using a previously trained model. -+ [Deploy](#deploy) a **real-time inference pipeline** to an online endpoint to make predictions on new data in real time. +The building blocks of pipeline are called assets in Azure Machine Learning, which includes: + - [Data](./concept-data.md) + - Model + - [Component](./concept-component.md) - +Designer has an asset library on the left side, where you can access all the assets you need to create your pipeline. It shows both the assets you created in your workspace, and the assets shared in [registry](./how-to-share-models-pipelines-across-workspaces-with-registries.md) that you have permission to access. -## Pipeline --A [pipeline](concept-ml-pipelines.md) consists of data assets and analytical components, which you connect. Pipelines have many uses: you can make a pipeline that trains a single model, or one that trains multiple models. You can create a pipeline that makes predictions in real time or in batch, or make a pipeline that only cleans data. Pipelines let you reuse your work and organize your projects. --### Pipeline draft -As you edit a pipeline in the designer, your progress is saved as a **pipeline draft**. You can edit a pipeline draft at any point by adding or removing components, configuring compute targets, creating parameters, and so on. --A valid pipeline has these characteristics: -* Data assets can only connect to components. -* components can only connect to either data assets or other components. -* All input ports for components must have some connection to the data flow. -* All required parameters for each component must be set. +To see assets from a specific registry, select the Registry name filter above the asset library. The assets you created in your current workspace are in the registry = workspace. The assets provided by Azure Machine Learning are in the registry = azureml. -When you're ready to run your pipeline draft, you submit a pipeline job. +Designer only shows the assets that you created and named in your workspace. You won't see any unnamed assets in the asset library. To learn how to create data and component assets, read these articles: -### Pipeline job +- [How to create data asset](./how-to-create-data-assets.md) +- [How to create component](./how-to-create-component-pipelines-ui.md#register-component-in-your-workspace) -Each time you run a pipeline, the configuration of the pipeline and its results are stored in your workspace as a **pipeline job**. You can go back to any pipeline job to inspect it for troubleshooting or auditing. **Clone** a pipeline job to create a new pipeline draft for you to edit. --Pipeline jobs are grouped into experiments to organize job history. You can set the experiment for every pipeline job. --## Data +## Pipeline -A machine learning data asset makes it easy to access and work with your data. Several [sample data assets](samples-designer.md#datasets) are included in the designer for you to experiment with. You can [register](how-to-create-register-datasets.md) more data assets as you need them. +Designer is a tool that lets you create pipelines with your assets in a visual way. When you use designer, you'll encounter two concepts related to pipelines: pipeline draft and pipeline jobs. -## Component + -A component is an algorithm that you can perform on your data. The designer has several components ranging from data ingress functions to training, scoring, and validation processes. -A component may have a set of parameters that you can use to configure the component's internal algorithms. When you select a component on the canvas, the component's parameters are displayed in the Properties pane to the right of the canvas. You can modify the parameters in that pane to tune your model. You can set the compute resources for individual components in the designer. +### Pipeline draft +As you edit a pipeline in the designer, your progress is saved as a **pipeline draft**. You can edit a pipeline draft at any point by adding or removing components, configuring compute targets, creating parameters, and so on. +A valid pipeline draft has these characteristics: -For some help navigating through the library of machine learning algorithms available, see [Algorithm & component reference overview](component-reference/component-reference.md). For help with choosing an algorithm, see the [Azure Machine Learning Algorithm Cheat Sheet](algorithm-cheat-sheet.md). +- Data assets can only connect to components. +- Components can only connect to either data assets or other components. +- All required input ports for components must have some connection to the data flow. +- All required parameters for each component must be set. -## <a name="compute"></a> Compute resources +When you're ready to run your pipeline draft, you submit a pipeline job. -Use compute resources from your workspace to run your pipeline and host your deployed models as online endpoints or pipeline endpoints (for batch inference). The supported compute targets are: +### Pipeline job -| Compute target | Training | Deployment | -| - |:-:|:-:| -| Azure Machine Learning compute | ✓ | | -| Azure Kubernetes Service | | ✓ | +Each time you run a pipeline, the configuration of the pipeline and its results are stored in your workspace as a **pipeline job**. You can go back to any pipeline job to inspect it for troubleshooting or auditing. **Clone** a pipeline job creates a new pipeline draft for you to continue editing. -Compute targets are attached to your [Azure Machine Learning workspace](concept-workspace.md). You manage your compute targets in your workspace in the [Azure Machine Learning studio](https://ml.azure.com). +## Approaches to build pipeline in designer -## Deploy +### Create new pipeline from scratch -To perform real-time inferencing, you must deploy a pipeline as an [online endpoint](concept-endpoints-online.md). The online endpoint creates an interface between an external application and your scoring model. A call to an online endpoint returns prediction results to the application in real time. To make a call to an online endpoint, you pass the API key that was created when you deployed the endpoint. The endpoint is based on REST, a popular architecture choice for web programming projects. +You can create a new pipeline and build from scratch. Remember to select the **Custom component** option when you create the pipeline in designer. -Online endpoints must be deployed to an Azure Kubernetes Service cluster. -To learn how to deploy your model, see [Tutorial: Deploy a machine learning model with the designer](tutorial-designer-automobile-price-deploy.md). +### Clone an existing pipeline job -## Publish +If you would like to work based on an existing pipeline job in the workspace, you can easily clone it into a new pipeline draft to continue editing. -You can also publish a pipeline to a **pipeline endpoint**. Similar to an online endpoint, a pipeline endpoint lets you submit new pipeline jobs from external applications using REST calls. However, you cannot send or receive data in real time using a pipeline endpoint. -Published pipelines are flexible, they can be used to train or retrain models, [perform batch inferencing](how-to-run-batch-predictions-designer.md), process new data, and much more. You can publish multiple pipelines to a single pipeline endpoint and specify which pipeline version to run. +After cloning, you can also know which pipeline job it's cloned from by selecting **Show lineage**. -A published pipeline runs on the compute resources you define in the pipeline draft for each component. -The designer creates the same [PublishedPipeline](/python/api/azureml-pipeline-core/azureml.pipeline.core.graph.publishedpipeline) object as the SDK. +You can edit your pipeline and then submit again. After submitting, you can see the lineage between the job you submit and the original job by selecting **Show lineage** in the job detail page. -## Next steps +## Next step -* Learn the fundamentals of predictive analytics and machine learning with [Tutorial: Predict automobile price with the designer](tutorial-designer-automobile-price-train-score.md) -* Learn how to modify existing [designer samples](samples-designer.md) to adapt them to your needs. +- [Create pipeline with components (UI)](./how-to-create-component-pipelines-ui.md) |
machine-learning | Concept Vulnerability Management | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/concept-vulnerability-management.md | For code-based training experiences, you control which Azure Machine Learning en * Automated ML jobs run on environments that layer on top of Azure Machine Learning [base docker images](https://github.com/Azure/AzureML-Containers). - * Designer jobs are compartmentalized into [Components](concept-designer.md#component). Each component has its own environment that layers on top of the Azure Machine Learning base docker images. For more information on components, see the [Component reference](./component-reference/component-reference.md). + * Designer jobs are compartmentalized into [Components](./v1/concept-designer.md#component). Each component has its own environment that layers on top of the Azure Machine Learning base docker images. For more information on components, see the [Component reference](./component-reference/component-reference.md). ## Next steps |
machine-learning | How To Create Component Pipeline Python | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-create-component-pipeline-python.md | You can open the `Link to Azure Machine Learning studio`, which is the job detai :::image type="content" source="./media/how-to-create-component-pipeline-python/pipeline-ui.png" alt-text="Screenshot of the pipeline job detail page." lightbox ="./media/how-to-create-component-pipeline-python/pipeline-ui.png"::: -You can check the logs and outputs of each component by right clicking the component, or select the component to open its detail pane. To learn more about how to debug your pipeline in UI, see [How to use studio UI to build and debug Azure Machine Learning pipelines](how-to-use-pipeline-ui.md). +You can check the logs and outputs of each component by right clicking the component, or select the component to open its detail pane. To learn more about how to debug your pipeline in UI, see [How to use debug pipeline failure](how-to-debug-pipeline-failure.md). ## (Optional) Register components to workspace |
machine-learning | How To Create Component Pipelines Ui | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-create-component-pipelines-ui.md | In this article, you'll learn how to create and run [machine learning pipelines] ``` >[!Note]-> Designer supports two type of components, classic prebuilt components and custom components. These two types of components are not compatible. +> Designer supports two types of components, classic prebuilt components(v1) and custom components(v2). These two types of components are NOT compatible. >->Classic prebuilt components provides prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. +>Classic prebuilt components provide prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. >+>Custom components allow you to wrap your own code as a component. It supports sharing components across workspaces and seamless authoring across Studio, CLI v2, and SDK v2 interfaces. >->Custom components allow you to provide your own code as a component. It supports sharing across workspaces and seamless authoring across Studio, CLI, and SDK interfaces. +>For new projects, we highly suggest you use custom component, which is compatible with AzureML V2 and will keep receiving new updates. >->This article applies to **custom components**. +>This article applies to custom components. ## Register component in your workspace The example below uses UI to register components, and the [component source file 1. Set the default compute target of the pipeline. - Select the **Gear icon**  at the top right of the canvas to open the **Settings** pane. Select the default compute target for your pipeline. + Select the **Gear icon**  at the top right of the canvas to open the **Settings** pane. Select the default compute target for your pipeline. :::image type="content" source="./media/how-to-create-component-pipelines-ui/set-default-compute.png" alt-text="Screenshot showing setting default compute for the pipeline." lightbox ="./media/how-to-create-component-pipelines-ui/set-default-compute.png"::: > [!Important] > Attached compute is not supported, use [compute instances or clusters](concept-compute-target.md#azure-machine-learning-compute-managed) instead. -1. In asset library, you can see **Data assets** and **Components** tabs. Switch to **Components** tab, you can see the components registered from previous section. +1. In asset library, you can see **Data**, **Model** and **Components** tabs. Switch to **Components** tab, you can see the components registered from previous section. :::image type="content" source="./media/how-to-create-component-pipelines-ui/asset-library.png" alt-text="Screenshot showing registered component in asset library." lightbox ="./media/how-to-create-component-pipelines-ui/asset-library.png"::: The example below uses UI to register components, and the [component source file :::image type="content" source="./media/how-to-create-component-pipelines-ui/component-parameter.png" alt-text="Screenshot showing component parameter settings." lightbox ="./media/how-to-create-component-pipelines-ui/component-parameter.png"::: > [!NOTE]-> Currently registered components and the designer built-in components cannot be used together. +> Custom components and the designer classic prebuilt components cannot be used together. ## Submit pipeline The example below uses UI to register components, and the [component source file > [!NOTE] > The **Submitted jobs** list only contains pipeline jobs submitted during an active session. A page reload will clear out the content. +#### Try the optimized submission wizard(preview) ++There is an optimized pipeline submission wizard to streamline your pipeline submission experience. It provides spacious space to edit pipeline inputs and outputs, and the ability to modify runtime settings, such as the default compute, at the time of submission. ++To enable this feature: +1. Navigate to Azure Machine Learning studio UI. +2. Select Manage preview features (megaphone icon) among the icons on the top right side of the screen. +3. In Managed preview feature panel, toggle on **Submit pipeline jobs using the optimized submission wizard** ++++After enabling the pipeline submission wizard, select **Configure & Submit** button on the top right to submit the pipeline job. ++Then you will see a step-by-step wizard, which allows you to edit pipeline inputs & outputs, and change runtime settings before submitting the pipeline job. Follow the wizard to submit the pipeline job. +++ ## Next steps - Use [these Jupyter notebooks on GitHub](https://github.com/Azure/azureml-examples/tree/main/cli/jobs/pipelines-with-components) to explore machine learning pipelines further |
machine-learning | How To Debug Pipeline Failure | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-debug-pipeline-failure.md | + + Title: 'How to use studio UI to debug pipeline failure' ++description: Learn how to debug compare pipeline failure with pipeline UI in studio. +++++++ Last updated : 05/27/2023++++# How to use pipeline UI to debug Azure Machine Learning pipeline failures ++After submitting a pipeline, you'll see a link to the pipeline job in your Azure Machine Learning workspace. The link lands you in the pipeline job page in Azure Machine Learning studio, in which you can check result and debug your pipeline job. ++This article introduces how to use the pipeline job page to debug machine learning pipeline failures. ++> [!IMPORTANT] +> Items marked (preview) in this article are currently in public preview. +> The 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/). +++## Using outline to quickly find a node ++In pipeline job detail page, there's an outline left to the canvas, which shows the overall structure of your pipeline job. Hovering on any row, you can select the "Locate" button to locate that node in the canvas. +++You can filter failed or completed nodes, and filter by only components or dataset for further search. The left pane shows the matched nodes with more information including status, duration, and created time. +++You can also sort the filtered nodes. +++## Check logs and outputs of component ++If your pipeline fails or gets stuck on a node, first view the logs. ++1. You can select the specific node and open the right pane. ++1. Select **Outputs+logs** tab and you can explore all the outputs and logs of this node. ++ The **user_logs folder** contains information about user code generated logs. This folder is open by default, and the **std_log.txt** log is selected. The **std_log.txt** is where your code's logs (for example, print statements) show up. ++ The **system_logs folder** contains logs generated by Azure Machine Learning. Learn more about [View and download diagnostic logs](how-to-log-view-metrics.md#view-and-download-diagnostic-logs). ++  ++ If you don't see those folders, this is due to the compute run time update isn't released to the compute cluster yet, and you can look at **70_driver_log.txt** under **azureml-logs** folder first. ++## Compare different pipelines to debug failure or other unexpected issues (preview) ++Pipeline comparison identifies the differences (including topology, component properties, and job properties) between multiple jobs. For example you can compare a successful pipeline and a failed pipeline, which helps you find what modifications make your pipeline fail. ++Two major scenarios where you can use pipeline comparison to help with debugging: ++- Debug your failed pipeline job by comparing it to a completed one. +- Debug your failed node in a pipeline by comparing it to a similar completed one. ++To enable this feature: ++1. Navigate to Azure Machine Learning studio UI. +2. Select **Manage preview features** (megaphone icon) among the icons on the top right side of the screen. +3. In **Managed preview feature** panel, toggle on **Compare pipeline jobs to debug failures or unexpected issues** feature. +++### How to debug your failed pipeline job by comparing it to a completed one ++During iterative model development, you may have a baseline pipeline, and then do some modifications such as changing a parameter, dataset or compute resource, etc. If your new pipeline failed, you can use pipeline comparison to identify what has changed by comparing it to the baseline pipeline, which could help with figuring out why it failed. ++#### Compare a pipeline with its parent ++The first thing you should check when debugging is to locate the failed node and check the logs. ++For example, you may get an error message showing that your pipeline failed due to out-of-memory. If your pipeline is cloned from a completed parent pipeline, you can use pipeline comparison to see what has changed. ++1. Select **Show lineage**. +1. Select the link under "Cloned From". This will open a new browser tab with the parent pipeline. ++ :::image type="content" source="./media/how-to-debug-pipeline-failure/cloned-from.png" alt-text="Screenshot showing the cloned from link, with the previous step, the lineage button highlighted." lightbox= "./media/how-to-debug-pipeline-failure/cloned-from.png"::: ++1. Select **Add to compare** on the failed pipeline and the parent pipeline. This adds them in the comparison candidate list. ++ :::image type="content" source="./media/how-to-debug-pipeline-failure/comparison-list.png" alt-text="Screenshot showing the comparison list with a parent and child pipeline added." lightbox= "./media/how-to-debug-pipeline-failure/comparison-list.png"::: ++### Compare topology ++Once the two pipelines are added to the comparison list, you have two options: **Compare detail** and **Compare graph**. **Compare graph** allows you to compare pipeline topology. ++**Compare graph** shows you the graph topology changes between pipeline A and B. The special nodes in pipeline A are highlighted in red and marked with "A only". The special nodes in pipeline B are in green and marked with "B only". The shared nodes are in gray. If there are differences on the shared nodes, what has been changed is shown on the top of node. ++There are three categories of changes with summaries viewable in the detail page, parameter change, input source, pipeline component. When the pipeline component is changed this means that there's a topology change inside or an inner node parameter change, you can select the folder icon on the pipeline component node to dig down into the details. Other changes can be detected by viewing the colored nodes in the compare graph. ++ :::image type="content" source="./media/how-to-debug-pipeline-failure/parameter-changed.png" alt-text="Screenshot showing the parameter changed and the component information tab." lightbox= "./media/how-to-debug-pipeline-failure/parameter-changed.png"::: ++### Compare pipeline meta info and properties ++If you investigate the dataset difference and find that data or topology doesn't seem to be the root cause of failure, you can also check the pipeline details like pipeline parameter, output or run settings. ++**Compare graph** is used to compare pipeline topology, **Compare detail** is used to compare pipeline properties link meta info or settings. ++To access the detail comparison, go to the comparison list, select **Compare details** or select **Show compare details** on the pipeline comparison page. ++You'll see *Pipeline properties* and *Run properties*. ++- Pipeline properties include pipeline parameters, run and output setting, etc. +- Run properties include job status, submit time and duration, etc. ++The following screenshot shows an example of using the detail comparison, where the default compute setting might have been the reason for failure. +++To quickly check the topology comparison, select the pipeline name and select **Compare graph**. +++### How to debug your failed node in a pipeline by comparing to similar completed node ++If you only updated node properties and changed nothing in the pipeline, then you can debug the node by comparing it with the jobs that are submitted from the same component. ++#### Find the job to compare with ++1. Find a successful job to compare with by viewing all runs submitted from the same component. + 1. Right select the failed node and select *View Jobs*. This gives you a list of all the jobs. + + :::image type="content" source="./media/how-to-debug-pipeline-failure/view-jobs.png" alt-text="Screenshot that shows a failed node with view jobs highlighted." lightbox= "./media/how-to-debug-pipeline-failure/view-jobs.png"::: ++ 1. Choose a completed job as a comparison target. +1. After you found a failed and completed job to compare with, add the two jobs to the comparison candidate list. + 1. For the failed node, right select and select *Add to compare*. + 1. For the completed job, go to its parent pipeline and located the completed job. Then select *Add to compare*. +1. Once the two jobs are in the comparison list, select **Compare detail** to show the differences. ++### Share the comparison results ++To share your comparison results select **Share** and copying the link. For example, you might find out that the dataset difference might of lead to the failure but you aren't a dataset specialist, you can share the comparison result with a data engineer on your team. +++## Next steps ++In this article, you learned how to debug pipeline failures. To learn more about how you can use the pipeline, see the following articles: ++- [How to build pipeline using python sdk v2](./how-to-create-component-pipeline-python.md) +- [How to build pipeline using python CLI v2](./how-to-create-component-pipelines-cli.md) +- [What is machine learning component](./concept-component.md) |
machine-learning | How To Debug Pipeline Performance | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-debug-pipeline-performance.md | + + Title: 'How to debug pipeline performance issues' ++description: How to debug pipeline performance issues by using profile feature +++++++ Last updated : 05/27/2023+++# View profiling to debug pipeline performance issues (preview) ++Profiling (preview) feature can help you debug pipeline performance issues such as hang, long pole etc. Profiling will list the duration information of each step in a pipeline and provide a Gantt chart for visualization. ++Profiling enables you to: ++- Quickly find which node takes longer time than expected. +- Identify the time spent of job on each status ++To enable this feature: ++1. Navigate to Azure Machine Learning studio UI. +2. Select **Manage preview features** (megaphone icon) among the icons on the top right side of the screen. +3. In **Managed preview feature** panel, toggle on **View profiling to debug pipeline performance issues** feature. ++## How to find the node that runs totally the longest ++1. On the Jobs page, select the job name and enter the job detail page. +1. In the action bar, select **View profiling**. Profiling only works for root level pipeline. It will take a few minutes to load the next page. ++ :::image type="content" source="./media/how-to-debug-pipeline-performance/view-profiling.png" alt-text="Screenshot showing the pipeline at root level with the view profiling button highlighted." lightbox= "./media/how-to-debug-pipeline-performance/view-profiling.png"::: ++1. After the profiler loads, you'll see a Gantt chart. By Default the critical path of a pipeline is shown. A critical path is a subsequence of steps that determine a pipeline job's total duration. ++ :::image type="content" source="./media/how-to-debug-pipeline-performance/critical-path.png" alt-text="Screenshot showing the Gantt chart and the critical path." lightbox= "./media/how-to-debug-pipeline-performance/critical-path.png"::: ++1. To find the step that takes the longest, you can either view the Gantt chart or the table below it. ++ In the Gantt chart, the length of each bar shows how long the step takes, steps with a longer bar length take more time. You can also filter the table below by "total duration". When you select a row in the table, it shows you the node in the Gantt chart too. When you select a bar on the Gantt chart it will also highlight it in the table. ++ In the table, reuse is denoted with the recycling icon. ++ If you select the log icon next the node name it opens the detail page, which shows parameter, code, outputs, logs etc. ++ :::image type="content" source="./media/how-to-debug-pipeline-performance/detail-page-from-log-icon.png" alt-text="Screenshot highlighting the log icon and showing the detail page." lightbox= "./media/how-to-debug-pipeline-performance/detail-page-from-log-icon.png"::: ++ If you're trying to make the queue time shorter for a node, you can change the compute node number and modify job priority to get more compute resources on this one. ++## How to find the node that runs the longest in each status ++Besides the total duration, you can also sort by durations for each status. For example, you can sort by *Preparing* duration to see which step spends the most time on image building. Then you can open the detail page to find that image building fails because of timeout issue. ++### What do I do if a duration issue identified ++Status and definitions: ++| Status | What does it mean? | Time estimation | Next step | +||--|-|-| +| Not started | Job is submitted from client side and accepted in Azure Machine Learning services. Time spent in this stage is mainly in Azure Machine Learning service scheduling and preprocessing. | If there's no backend service issue, this time should be short.| Open support case via Azure portal. | +|Preparing | In this status, job is pending for some preparation on job dependencies, for example, environment image building.| If you're using curated or registered custom environment, this time should be short. | Check image building log. | +|Inqueue | Job is pending for compute resource allocation. Time spent in this stage is mainly depending on the status of your compute cluster.| If you're using a cluster with enough compute resource, this time should be short. | Check with workspace admin whether to increase the max nodes of the target compute or change the job to another less busy compute. | +|Running | Job is executing on remote compute. Time spent in this stage is mainly in two parts: <br> Runtime preparation: image pulling, docker starting and data preparation (mount or download). <br> User script execution. | This status is expected to be most time consuming one. | 1. Go to the source code check if there's any user error. <br> 2. View the monitoring tab of compute metrics (CPU, memory, networking etc.) to identify the bottleneck. <br> 3. Try online debug with [interactive endpoints](how-to-interactive-jobs.md) if the job is running or locally debug of your code. | +| Finalizing | Job is in post processing after execution complete. Time spent in this stage is mainly for some post processes like: output uploading, metric/logs uploading and resources clean up.| It will be short for command job. However, might be very long for PRS/MPI job because for a distributed job, the finalizing status is from the first node starting finalizing to the last node done finalizing. | Change your step job output mode from upload to mount if you find unexpected long finalizing time, or open support case via Azure portal. | ++## Different view of Gantt chart ++- Critical path + - You'll see only the step jobs in the pipeline's critical path (jobs that have a dependency). + - By default the critical path of the pipeline job is shown. +- Flatten view + - You'll see all step jobs. + - In this view, you'll see more nodes than in critical path. +- Compact view + - You'll only see step jobs that are longer than 30 seconds. +- Hierarchical view. + - You'll see all jobs including pipeline component jobs and step jobs. ++## Download the duration table ++To export the table, select **Export CSV**. +++## Next steps ++In this article, you learned how to debug pipeline failures. To learn more about how you can use the pipeline, see the following articles: ++- [How to build pipeline using python sdk v2](./how-to-create-component-pipeline-python.md) +- [How to build pipeline using python CLI v2](./how-to-create-component-pipelines-cli.md) +- [What is machine learning component](./concept-component.md) |
machine-learning | How To Deploy Pipeline Component As Batch Endpoint | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-deploy-pipeline-component-as-batch-endpoint.md | + + Title: 'How to deploy pipeline as batch endpoint(preview)' ++description: Learn how to deploy pipeline component as batch endpoint to trigger the pipeline using REST endpoint +++++++ Last updated : 4/28/2023++# Deploy your pipeline as batch endpoint +++After building your machine learning pipeline, you can deploy your pipeline as a [batch endpoint(preview)](./concept-endpoints-batch.md#pipeline-component-deployment-preview) for following scenarios: ++- You want to run your machine learning pipeline from other platforms out of Azure Machine Learning (for example: custom Java code, Azure DevOps, GitHub Actions, Azure Data Factory). Batch endpoint lets you do this easily because it's a REST endpoint and doesn't depend on the language/platform. +- You want to change the logic of your machine learning pipeline without affecting the downstream consumers who use a fixed URI interface. ++## Pipeline component deployment as batch endpoint ++Pipeline component deployment as batch endpoint is the feature allows you to achieve above goals. This is the equivalent feature with published pipeline/pipeline endpoint in SDK v1. ++To deploy your pipeline as batch endpoint, we recommend first convert your pipeline into a [pipeline component](./how-to-use-pipeline-component.md), and then deploy the pipeline component as a batch endpoint. Check below article to learn more. ++- [How to deploy pipeline component as batch endpoint](how-to-use-batch-pipeline-deployments.md) ++It's also possible to deploy your pipeline job as batch endpoint. In this case, Azure Machine Learning can accept that job as input to your batch endpoint and create the pipeline component automatically for you. Check below article to learn more. ++- [Deploy existing pipeline jobs to batch endpoints (preview)](how-to-use-batch-pipeline-from-job.md) ++## Next steps ++- [How to deploy a training pipeline with batch endpoints (preview)](how-to-use-batch-training-pipeline.md) +- [How to deploy a pipeline to perform batch scoring with preprocessing (preview)](how-to-use-batch-scoring-pipeline.md) +- [Access data from batch endpoints jobs](how-to-access-data-batch-endpoints-jobs.md) +- [Troubleshooting batch endpoints](how-to-troubleshoot-batch-endpoints.md) |
machine-learning | How To Use Pipeline Ui | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/how-to-use-pipeline-ui.md | - Title: 'How to use studio UI to build and debug Machine Learning pipelines'- -description: Learn how to build, debug, clone, and compare V2 pipeline with the studio UI. ------- Previously updated : 12/22/2022----# How to use studio UI to build and debug Azure Machine Learning pipelines --Azure Machine Learning studio provides UI to build and debug your pipeline. You can use components to author a pipeline in the designer, and you can debug your pipeline in the job detail page. --This article introduces how to use the studio UI to build and debug machine learning pipelines. --> [!IMPORTANT] -> Items marked (preview) in this article are currently in public preview. -> The 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/). --## Build machine learning pipeline --### Drag and drop components to build pipeline -->[!Note] -> Designer supports two type of components, classic prebuilt components and custom components. These two types of components are not compatible. -> ->Classic prebuilt components provides prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. -> -> ->Custom components allow you to provide your own code as a component. It supports sharing across workspaces and seamless authoring across Studio, CLI, and SDK interfaces. -> ->In this article, we will create pipeline using custom components. --In the designer homepage, you can select **New pipeline -> Custom** to open a blank pipeline draft. --In the asset library left of the canvas, there are **Data**,**Model** and **Component** tabs, which contain data, model and components registered to the workspace. For what is component and how to create custom component, you can refer to the [component concept article](concept-component.md). ----Then you can drag and drop components, data and model to build a pipeline. You can construct your pipeline or configure your components in any order. Just hide the right pane to construct your pipeline first, and open the right pane to configure your component. ----### Submit pipeline --Now you've built your pipeline. Select **Submit** button above the canvas, and configure your pipeline job. ---After you submit your pipeline job, you'll see a submitted job list in the left pane, which shows all the pipeline job you create from the current pipeline draft in the same session. There's also notification popping up from the notification center. You can select through the pipeline job link in the submission list or the notification to check pipeline job status or debugging. --> [!NOTE] -> Pipeline job status and results will not be filled back to the authoring page. --If you want to try a few different parameter values for the same pipeline, you can change values and submit for multiple times, without having to waiting for the running status. ---> [!NOTE] -> The submission list only contains jobs submitted in the same session. -> If you refresh current page, it will not preserve the previous submitted job list. --On the pipeline job detail page, you can check the status of the overall job and each node inside, and logs of each node. ---#### Try the optimized submission wizard(preview) --There is an optimized pipeline submission wizard to streamline your pipeline submission experience. It provides spacious space to edit pipeline inputs and outputs, and the ability to modify runtime settings, such as the default compute, at the time of submission. --To enable this feature: -1. Navigate to Azure Machine Learning studio UI. -2. Select Manage preview features (megaphone icon) among the icons on the top right side of the screen. -3. In Managed preview feature panel, toggle on **Submit pipeline jobs using the optimized submission wizard** ----After enabling the pipeline submission wizard, select **Configure & Submit** button on the top right to submit the pipeline job. --Then you will see a step-by-step wizard, which allows you to edit pipeline inputs & outputs, and change runtime settings before submitting the pipeline job. Follow the wizard to submit the pipeline job. ----------## Debug your pipeline in job detail page --### Using outline to quickly find node --In pipeline job detail page, there's an outline left to the canvas, which shows the overall structure of your pipeline job. Hovering on any row, you can select the "Locate" button to locate that node in the canvas. ---You can filter failed or completed nodes, and filter by only components or dataset for further search. The left pane will show the matched nodes with more information including status, duration, and created time. ---You can also sort the filtered nodes. ---### Check logs and outputs of component --If your pipeline fails or gets stuck on a node, first view the logs. --1. You can select the specific node and open the right pane. --1. Select **Outputs+logs** tab and you can explore all the outputs and logs of this node. -- The **user_logs folder** contains information about user code generated logs. This folder is open by default, and the **std_log.txt** log is selected. The **std_log.txt** is where your code's logs (for example, print statements) show up. -- The **system_logs folder** contains logs generated by Azure Machine Learning. Learn more about [View and download diagnostic logs](how-to-log-view-metrics.md#view-and-download-diagnostic-logs). --  -- If you don't see those folders, this is due to the compute run time update isn't released to the compute cluster yet, and you can look at **70_driver_log.txt** under **azureml-logs** folder first. ---## Clone a pipeline job to continue editing --If you would like to work based on an existing pipeline job in the workspace, you can easily clone it into a new pipeline draft to continue editing. ---After cloning, you can also know which pipeline job it's cloned from by selecting **Show lineage**. ---You can edit your pipeline and then submit again. After submitting, you can see the lineage between the job you submit and the original job by selecting **Show lineage** in the job detail page. --## Compare different pipelines to debug failure or other unexpected issues (preview) --Pipeline comparison identifies the differences (including topology, component properties, and job properties) between multiple jobs. For example you can compare a successful pipeline and a failed pipeline, which helps you find what modifications make your pipeline fail. --Two major scenarios where you can use pipeline comparison to help with debugging: --- Debug your failed pipeline job by comparing it to a completed one.-- Debug your failed node in a pipeline by comparing it to a similar completed one.--To enable this feature: --1. Navigate to Azure Machine Learning studio UI. -2. Select **Manage preview features** (megaphone icon) among the icons on the top right side of the screen. -3. In **Managed preview feature** panel, toggle on **Compare pipeline jobs to debug failures or unexpected issues** feature. ---### How to debug your failed pipeline job by comparing it to a completed one --During iterative model development, you may have a baseline pipeline, and then do some modifications such as changing a parameter, dataset or compute resource, etc. If your new pipeline failed, you can use pipeline comparison to identify what has changed by comparing it to the baseline pipeline, which could help with figuring out why it failed. --#### Compare a pipeline with its parent --The first thing you should check when debugging is to locate the failed node and check the logs. --For example, you may get an error message showing that your pipeline failed due to out-of-memory. If your pipeline is cloned from a completed parent pipeline, you can use pipeline comparison to see what has changed. --1. Select **Show lineage**. -1. Select the link under "Cloned From". This will open a new browser tab with the parent pipeline. -- :::image type="content" source="./media/how-to-use-pipeline-ui/cloned-from.png" alt-text="Screenshot showing the cloned from link, with the previous step, the lineage button highlighted." lightbox= "./media/how-to-use-pipeline-ui/cloned-from.png"::: --1. Select **Add to compare** on the failed pipeline and the parent pipeline. This will add them in the comparison candidate list. -- :::image type="content" source="./media/how-to-use-pipeline-ui/comparison-list.png" alt-text="Screenshot showing the comparison list with a parent and child pipeline added." lightbox= "./media/how-to-use-pipeline-ui/comparison-list.png"::: --### Compare topology --Once the two pipelines are added to the comparison list, you'll have two options: **Compare detail** and **Compare graph**. **Compare graph** allows you to compare pipeline topology. --**Compare graph** shows you the graph topology changes between pipeline A and B. The special nodes in pipeline A are highlighted in red and marked with "A only". The special nodes in pipeline B are in green and marked with "B only". The shared nodes are in gray. If there are differences on the shared nodes, what has been changed is shown on the top of node. --There are three categories of changes with summaries viewable in the detail page, parameter change, input source, pipeline component. When the pipeline component is changed this means that there's a topology change inside or an inner node parameter change, you can select the folder icon on the pipeline component node to dig down into the details. Other changes can be detected by viewing the colored nodes in the compare graph. -- :::image type="content" source="./media/how-to-use-pipeline-ui/parameter-changed.png" alt-text="Screenshot showing the parameter changed and the component information tab." lightbox= "./media/how-to-use-pipeline-ui/parameter-changed.png"::: --### Compare pipeline meta info and properties --If you investigate the dataset difference and find that data or topology doesn't seem to be the root cause of failure, you can also check the pipeline details like pipeline parameter, output or run settings. --**Compare graph** is used to compare pipeline topology, **Compare detail** is used to compare pipeline properties link meta info or settings. --To access the detail comparison, go to the comparison list, select **Compare details** or select **Show compare details** on the pipeline comparison page. --You'll see *Pipeline properties* and *Run properties*. --- Pipeline properties include pipeline parameters, run and output setting, etc.-- Run properties include job status, submit time and duration, etc.--The following screenshot shows an example of using the detail comparison, where the default compute setting might have been the reason for failure. ---To quickly check the topology comparison, select the pipeline name and select **Compare graph**. ---### How to debug your failed node in a pipeline by comparing to similar completed node --If you only updated node properties and changed nothing in the pipeline, then you can debug the node by comparing it with the jobs that are submitted from the same component. --#### Find the job to compare with --1. Find a successful job to compare with by viewing all runs submitted from the same component. - 1. Right select the failed node and select *View Jobs*. This will give you a list of all the jobs. - - :::image type="content" source="./media/how-to-use-pipeline-ui/view-jobs.png" alt-text="Screenshot that shows a failed node with view jobs highlighted." lightbox= "./media/how-to-use-pipeline-ui/view-jobs.png"::: -- 1. Choose a completed job as a comparison target. -1. After you found a failed and completed job to compare with, add the two jobs to the comparison candidate list. - 1. For the failed node, right select and select *Add to compare*. - 1. For the completed job, go to its parent pipeline and located the completed job. Then select *Add to compare*. -1. Once the two jobs are in the comparison list, select **Compare detail** to show the differences. --### Share the comparison results --To share your comparison results select **Share** and copying the link. For example, you might find out that the dataset difference might of lead to the failure but you aren't a dataset specialist, you can share the comparison result with a data engineer on your team. ---## View profiling to debug pipeline performance issues (preview) --Profiling (preview) can help you debug pipeline performance issues such as hang, long pole etc. Profiling will list the duration information of each step in a pipeline and provide a Gantt chart for visualization. --Profiling enables you to: --- Quickly find which node takes longer time than expected.-- Identify the time spent of job on each status--To enable this feature: --1. Navigate to Azure Machine Learning studio UI. -2. Select **Manage preview features** (megaphone icon) among the icons on the top right side of the screen. -3. In **Managed preview feature** panel, toggle on **View profiling to debug pipeline performance issues** feature. --### How to find the node that runs totally the longest --1. On the Jobs page, select the job name and enter the job detail page. -1. In the action bar, select **View profiling**. Profiling only works for root level pipeline. It will take a few minutes to load the next page. -- :::image type="content" source="./media/how-to-use-pipeline-ui/view-profiling.png" alt-text="Screenshot showing the pipeline at root level with the view profiling button highlighted." lightbox= "./media/how-to-use-pipeline-ui/view-profiling.png"::: --1. After the profiler loads, you'll see a Gantt chart. By Default the critical path of a pipeline is shown. A critical path is a subsequence of steps that determine a pipeline job's total duration. -- :::image type="content" source="./media/how-to-use-pipeline-ui/critical-path.png" alt-text="Screenshot showing the Gantt chart and the critical path." lightbox= "./media/how-to-use-pipeline-ui/critical-path.png"::: --1. To find the step that takes the longest, you can either view the Gantt chart or the table below it. -- In the Gantt chart, the length of each bar shows how long the step takes, steps with a longer bar length take more time. You can also filter the table below by "total duration". When you select a row in the table, it will show you the node in the Gantt chart too. When you select a bar on the Gantt chart it will also highlight it in the table. -- In the table, reuse is denoted with the recycling icon. -- If you select the log icon next the node name it will open the detail page, which shows parameter, code, outputs, logs etc. -- :::image type="content" source="./media/how-to-use-pipeline-ui/detail-page-from-log-icon.png" alt-text="Screenshot highlighting the log icon and showing the detail page." lightbox= "./media/how-to-use-pipeline-ui/detail-page-from-log-icon.png"::: -- If you're trying to make the queue time shorter for a node, you can change the compute node number and modify job priority to get more compute resources on this one. --### How to find the node that runs the longest in each status --Besides the total duration, you can also sort by durations for each status. For example, you can sort by *Preparing* duration to see which step spends the most time on image building. Then you can open the detail page to find that image building fails because of timeout issue. --#### What do I do if a duration issue identified --Status and definitions: --| Status | What does it mean? | Time estimation | Next step | -||--|-|-| -| Not started | Job is submitted from client side and accepted in Azure Machine Learning services. Time spent in this stage is mainly in Azure Machine Learning service scheduling and preprocessing. | If there's no backend service issue, this time should be very short.| Open support case via Azure portal. | -|Preparing | In this status, job is pending for some preparation on job dependencies, for example, environment image building.| If you're using curated or registered custom environment, this time should be very short. | Check image building log. | -|Inqueue | Job is pending for compute resource allocation. Time spent in this stage is mainly depending on the status of your compute cluster.| If you're using a cluster with enough compute resource, this time should be short. | Check with workspace admin whether to increase the max nodes of the target compute or change the job to another less busy compute. | -|Running | Job is executing on remote compute. Time spent in this stage is mainly in two parts: <br> Runtime preparation: image pulling, docker starting and data preparation (mount or download). <br> User script execution. | This status is expected to be most time consuming one. | 1. Go to the source code check if there's any user error. <br> 2. View the monitoring tab of compute metrics (CPU, memory, networking etc.) to identify the bottleneck. <br> 3. Try online debug with [interactive endpoints](how-to-interactive-jobs.md) if the job is running or locally debug of your code. | -| Finalizing | Job is in post processing after execution complete. Time spent in this stage is mainly for some post processes like: output uploading, metric/logs uploading and resources clean up.| It will be short for command job. However, might be very long for PRS/MPI job because for a distributed job, the finalizing status is from the first node starting finalizing to the last node done finalizing. | Change your step job output mode from upload to mount if you find unexpected long finalizing time, or open support case via Azure portal. | --### Different view of Gantt chart --- Critical path- - You'll see only the step jobs in the pipeline's critical path (jobs that have a dependency). - - By default the critical path of the pipeline job is shown. -- Flatten view- - You'll see all step jobs. - - In this view, you'll see more nodes than in critical path. -- Compact view- - You'll only see step jobs that are longer than 30 seconds. -- Hierarchical view.- - You'll see all jobs including pipeline component jobs and step jobs. --### Download the duration table --To export the table, select **Export CSV**. --## Next steps --In this article, you learned the key features in how to create, explore, and debug a pipeline in UI. To learn more about how you can use the pipeline, see the following articles: --+ [How to train a model in the designer](tutorial-designer-automobile-price-train-score.md) -+ [How to deploy model to real-time endpoint in the designer](tutorial-designer-automobile-price-deploy.md) -+ [What is machine learning component](concept-component.md) -+ [Deploy a pipeline with batch endpoints (preview)](how-to-use-batch-pipeline-deployments.md) |
machine-learning | Algorithm Cheat Sheet | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/algorithm-cheat-sheet.md | + + Title: Machine Learning Algorithm Cheat Sheet - designer ++description: A printable Machine Learning Algorithm Cheat Sheet helps you choose the right algorithm for your predictive model in Azure Machine Learning designer. +++++++ Last updated : 11/04/2022+adobe-target: true ++# Machine Learning Algorithm Cheat Sheet for Azure Machine Learning designer ++The **Azure Machine Learning Algorithm Cheat Sheet** helps you choose the right algorithm from the designer for a predictive analytics model. ++>[!Note] +> Designer supports two types of components, classic prebuilt components (v1) and custom components (v2). These two types of components are NOT compatible. +> +>Classic prebuilt components provide prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. +> +>Custom components allow you to wrap your own code as a component. It supports sharing components across workspaces and seamless authoring across Studio, CLI v2, and SDK v2 interfaces. +> +>For new projects, we highly suggest you use custom component, which is compatible with AzureML V2 and will keep receiving new updates. +> +>This article applies to classic prebuilt components and not compatible with CLI v2 and SDK v2. ++Azure Machine Learning has a large library of algorithms from the ***classification***, ***recommender systems***, ***clustering***, ***anomaly detection***, ***regression***, and ***text analytics*** families. Each is designed to address a different type of machine learning problem. ++For more information, see [How to select algorithms](how-to-select-algorithms.md). ++## Download: Machine Learning Algorithm Cheat Sheet ++**Download the cheat sheet here: [Machine Learning Algorithm Cheat Sheet (11x17 in.)](https://download.microsoft.com/download/3/5/b/35bb997f-a8c7-485d-8c56-19444dafd757/azure-machine-learning-algorithm-cheat-sheet-july-2021.pdf)** +++Download and print the Machine Learning Algorithm Cheat Sheet in tabloid size to keep it handy and get help choosing an algorithm. ++## How to use the Machine Learning Algorithm Cheat Sheet ++The suggestions offered in this algorithm cheat sheet are approximate rules-of-thumb. Some can be bent, and some can be flagrantly violated. This cheat sheet is intended to suggest a starting point. DonΓÇÖt be afraid to run a head-to-head competition between several algorithms on your data. There is simply no substitute for understanding the principles of each algorithm and the system that generated your data. ++Every machine learning algorithm has its own style or inductive bias. For a specific problem, several algorithms may be appropriate, and one algorithm may be a better fit than others. But it's not always possible to know beforehand, which is the best fit. In cases like these, several algorithms are listed together in the cheat sheet. An appropriate strategy would be to try one algorithm, and if the results are not yet satisfactory, try the others. ++To learn more about the algorithms in Azure Machine Learning designer, go to the [Algorithm and component reference](../component-reference/component-reference.md). ++## Kinds of machine learning ++There are three main categories of machine learning: *supervised learning*, *unsupervised learning*, and *reinforcement learning*. ++### Supervised learning ++In supervised learning, each data point is labeled or associated with a category or value of interest. An example of a categorical label is assigning an image as either a ΓÇÿcatΓÇÖ or a ΓÇÿdogΓÇÖ. An example of a value label is the sale price associated with a used car. The goal of supervised learning is to study many labeled examples like these, and then to be able to make predictions about future data points. For example, identifying new photos with the correct animal or assigning accurate sale prices to other used cars. This is a popular and useful type of machine learning. ++### Unsupervised learning ++In unsupervised learning, data points have no labels associated with them. Instead, the goal of an unsupervised learning algorithm is to organize the data in some way or to describe its structure. Unsupervised learning groups data into clusters, as K-means does, or finds different ways of looking at complex data so that it appears simpler. ++### Reinforcement learning ++In reinforcement learning, the algorithm gets to choose an action in response to each data point. It is a common approach in robotics, where the set of sensor readings at one point in time is a data point, and the algorithm must choose the robotΓÇÖs next action. It's also a natural fit for Internet of Things applications. The learning algorithm also receives a reward signal a short time later, indicating how good the decision was. Based on this signal, the algorithm modifies its strategy in order to achieve the highest reward. ++## Next steps ++* See more information on [How to select algorithms](how-to-select-algorithms.md) ++* [Learn about studio in Azure Machine Learning and the Azure portal](../overview-what-is-azure-machine-learning.md). ++* [Tutorial: Build a prediction model in Azure Machine Learning designer](tutorial-designer-automobile-price-train-score.md). ++* [Learn about deep learning vs. machine learning](../concept-deep-learning-vs-machine-learning.md). |
machine-learning | Azure Machine Learning Release Notes | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/azure-machine-learning-release-notes.md | Access the following web-based authoring tools from the studio: |-|-|-| | Notebook VM(preview) | Fully managed cloud-based workstation | | [Automated machine learning](../tutorial-first-experiment-automated-ml.md) (preview) | No code experience for automating machine learning model development | -| [Designer](../concept-designer.md) | Drag-and-drop machine learning modeling tool formerly known as the visual interface | +| [Designer](concept-designer.md) | Drag-and-drop machine learning modeling tool formerly known as the visual interface | ### Azure Machine Learning designer enhancements The Experiment tab in the [new workspace portal](https://ml.azure.com) has been + Fixed metadata parameters parsing in [AzureBatchStep that was causing the error message "assignment for parameter SubscriptionId is not specified". + **[azureml-train-automl](/python/api/azureml-train-automl-runtime/)** + Supported training_data, validation_data, label_column_name, weight_column_name as data input format.- + Added deprecation message for [explain_model()](/python/api/azureml-train-automl-runtime/azureml.train.automl.runtime.automlexplainer#explain-model-fitted-model--x-train--x-test--best-run-none--features-none--y-train-none-kwargs-) and [retrieve_model_explanations()](/python/api/azureml-train-automl-runtime/azureml.train.automl.runtime.automlexplainer#retrieve-model-explanation-child-run-). + + Added deprecation message for explain_model() and retrieve_model_explanations(). ## 2019-09-16 |
machine-learning | Concept Data | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/concept-data.md | When you're ready to use the data in your cloud-based storage solution, we recom **OR** - * Consume it directly in Azure Machine Learning solutions like, automated machine learning (automated ML) experiment runs, machine learning pipelines, or the [Azure Machine Learning designer](../concept-designer.md). + * Consume it directly in Azure Machine Learning solutions like, automated machine learning (automated ML) experiment runs, machine learning pipelines, or the [Azure Machine Learning designer](concept-designer.md). 4. Create [dataset monitors](#monitor-model-performance-with-data-drift) for your model output dataset to detect for data drift. |
machine-learning | Concept Designer | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/concept-designer.md | + + Title: What is the Azure Machine Learning designer(v1)? ++description: Learn what the Azure Machine Learning designer is and what tasks you can use it for. The drag-and-drop UI enables model training and deployment. +++++++ Last updated : 05/25/2023++++# What is Azure Machine Learning designer (v1)? ++Azure Machine Learning designer is a drag-and-drop interface used to train and deploy models in Azure Machine Learning. This article describes the tasks you can do in the designer. ++>[!Note] +> Designer supports two types of components, classic prebuilt components(v1) and custom components(v2). These two types of components are NOT compatible. +> +>Classic prebuilt components provide prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. +> +>Custom components allow you to wrap your own code as a component. It supports sharing components across workspaces and seamless authoring across Studio, CLI v2, and SDK v2 interfaces. +> +>For new projects, we highly suggest you use custom component, which is compatible with AzureML V2 and will keep receiving new updates. +> +>This article applies to classic prebuilt components and not compatible with CLI v2 and SDK v2. ++ - To get started with the designer, see [Tutorial: Train a no-code regression model](tutorial-designer-automobile-price-train-score.md). + - To learn about the components available in the designer, see the [Algorithm and component reference](../algorithm-module-reference/module-reference.md). +++The designer uses your Azure Machine Learning [workspace](../concept-workspace.md) to organize shared resources such as: +++ [Pipelines](#pipeline)++ [Data](#data)++ [Compute resources](#compute)++ [Registered models](concept-azure-machine-learning-architecture.md#models)++ [Published pipelines](#publish)++ [Real-time endpoints](#deploy)++## Model training and deployment ++Use a visual canvas to build an end-to-end machine learning workflow. Train, test, and deploy models all in the designer: +++ Drag-and-drop [data assets](#data) and [components](#component) onto the canvas.++ Connect the components to create a [pipeline draft](#pipeline-draft).++ Submit a [pipeline run](#pipeline-job) using the compute resources in your Azure Machine Learning workspace.++ Convert your **training pipelines** to **inference pipelines**.++ [Publish](#publish) your pipelines to a REST **pipeline endpoint** to submit a new pipeline that runs with different parameters and data assets.+ + Publish a **training pipeline** to reuse a single pipeline to train multiple models while changing parameters and data assets. + + Publish a **batch inference pipeline** to make predictions on new data by using a previously trained model. ++ [Deploy](#deploy) a **real-time inference pipeline** to an online endpoint to make predictions on new data in real time.+++## Pipeline ++A [pipeline](../concept-ml-pipelines.md) consists of data assets and analytical components, which you connect. Pipelines have many uses: you can make a pipeline that trains a single model, or one that trains multiple models. You can create a pipeline that makes predictions in real time or in batch, or make a pipeline that only cleans data. Pipelines let you reuse your work and organize your projects. ++### Pipeline draft ++As you edit a pipeline in the designer, your progress is saved as a **pipeline draft**. You can edit a pipeline draft at any point by adding or removing components, configuring compute targets, creating parameters, and so on. ++A valid pipeline has these characteristics: ++* Data assets can only connect to components. +* components can only connect to either data assets or other components. +* All input ports for components must have some connection to the data flow. +* All required parameters for each component must be set. ++When you're ready to run your pipeline draft, you submit a pipeline job. ++### Pipeline job ++Each time you run a pipeline, the configuration of the pipeline and its results are stored in your workspace as a **pipeline job**. You can go back to any pipeline job to inspect it for troubleshooting or auditing. **Clone** a pipeline job to create a new pipeline draft for you to edit. ++Pipeline jobs are grouped into experiments to organize job history. You can set the experiment for every pipeline job. ++## Data ++A machine learning data asset makes it easy to access and work with your data. Several [sample data assets](samples-designer.md#datasets) are included in the designer for you to experiment with. You can [register](how-to-create-register-datasets.md) more data assets as you need them. ++## Component ++A component is an algorithm that you can perform on your data. The designer has several components ranging from data ingress functions to training, scoring, and validation processes. ++A component may have a set of parameters that you can use to configure the component's internal algorithms. When you select a component on the canvas, the component's parameters are displayed in the Properties pane to the right of the canvas. You can modify the parameters in that pane to tune your model. You can set the compute resources for individual components in the designer. ++++For some help navigating through the library of machine learning algorithms available, see [Algorithm & component reference overview](../component-reference/component-reference.md). For help with choosing an algorithm, see the [Azure Machine Learning Algorithm Cheat Sheet](algorithm-cheat-sheet.md). ++## <a name="compute"></a> Compute resources ++Use compute resources from your workspace to run your pipeline and host your deployed models as online endpoints or pipeline endpoints (for batch inference). The supported compute targets are: ++| Compute target | Training | Deployment | +| - |:-:|:-:| +| Azure Machine Learning compute | ✓ | | +| Azure Kubernetes Service | | ✓ | ++Compute targets are attached to your [Azure Machine Learning workspace](../concept-workspace.md). You manage your compute targets in your workspace in the [Azure Machine Learning studio](https://ml.azure.com). ++## Deploy ++To perform real-time inferencing, you must deploy a pipeline as an [online endpoint](../concept-endpoints-online.md). The online endpoint creates an interface between an external application and your scoring model. A call to an online endpoint returns prediction results to the application in real time. To make a call to an online endpoint, you pass the API key that was created when you deployed the endpoint. The endpoint is based on REST, a popular architecture choice for web programming projects. ++Online endpoints must be deployed to an Azure Kubernetes Service cluster. ++To learn how to deploy your model, see [Tutorial: Deploy a machine learning model with the designer](tutorial-designer-automobile-price-deploy.md). ++## Publish ++You can also publish a pipeline to a **pipeline endpoint**. Similar to an online endpoint, a pipeline endpoint lets you submit new pipeline jobs from external applications using REST calls. However, you cannot send or receive data in real time using a pipeline endpoint. ++Published pipelines are flexible, they can be used to train or retrain models, [perform batch inferencing](how-to-run-batch-predictions-designer.md), process new data, and much more. You can publish multiple pipelines to a single pipeline endpoint and specify which pipeline version to run. ++A published pipeline runs on the compute resources you define in the pipeline draft for each component. ++The designer creates the same [PublishedPipeline](/python/api/azureml-pipeline-core/azureml.pipeline.core.graph.publishedpipeline) object as the SDK. ++## Next steps ++* Learn the fundamentals of predictive analytics and machine learning with [Tutorial: Predict automobile price with the designer](tutorial-designer-automobile-price-train-score.md) +* Learn how to modify existing [designer samples](samples-designer.md) to adapt them to your needs. |
machine-learning | Concept Model Management And Deployment | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/concept-model-management-and-deployment.md | Use ML pipelines from Azure Machine Learning to stitch together all of the steps 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). -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 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. ## Create reusable software environments |
machine-learning | Concept Train Machine Learning Model V1 | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/concept-train-machine-learning-model-v1.md | If you choose to train on your local machine ("configure as local run"), you do The designer lets you train models using a drag and drop interface in your web browser. -+ [What is the designer?](../concept-designer.md) -+ [Tutorial: Predict automobile price](../tutorial-designer-automobile-price-train-score.md) ++ [What is the designer?](concept-designer.md)++ [Tutorial: Predict automobile price](tutorial-designer-automobile-price-train-score.md) ## Azure CLI |
machine-learning | How To Debug Pipelines | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/how-to-debug-pipelines.md | -In this article, you learn how to troubleshoot when you get errors running a [machine learning pipeline](../concept-ml-pipelines.md) in the [Azure Machine Learning SDK](/python/api/overview/azure/ml/intro) and [Azure Machine Learning designer](../concept-designer.md). +In this article, you learn how to troubleshoot when you get errors running a [machine learning pipeline](../concept-ml-pipelines.md) in the [Azure Machine Learning SDK](/python/api/overview/azure/ml/intro) and [Azure Machine Learning designer](concept-designer.md). ## Troubleshooting tips |
machine-learning | How To Designer Python | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/how-to-designer-python.md | + + Title: Execute Python Script in the designer ++description: Learn how to use the Execute Python Script model in Azure Machine Learning designer to run custom operations written in Python. ++++++ Last updated : 02/08/2023+++++# Run Python code in Azure Machine Learning designer ++In this article, you'll learn how to use the [Execute Python Script](../algorithm-module-reference/execute-python-script.md) component to add custom logic to the Azure Machine Learning designer. In this how-to, you use the Pandas library to do simple feature engineering. ++You can use the in-built code editor to quickly add simple Python logic. You should use the zip file method to add more complex code, or to upload additional Python libraries. ++The default execution environment uses the Anacondas distribution of Python. See the [Execute Python Script component reference](../algorithm-module-reference/execute-python-script.md) page for a complete list of pre-installed packages. ++ +++## Execute Python written in the designer ++### Add the Execute Python Script component ++1. Find the **Execute Python Script** component in the designer palette. It can be found in the **Python Language** section. ++1. Drag and drop the component onto the pipeline canvas. ++### Connect input datasets ++This article uses the **Automobile price data (Raw)** sample dataset. ++1. Drag and drop your dataset to the pipeline canvas. ++1. Connect the output port of the dataset to the top-left input port of the **Execute Python Script** component. The designer exposes the input as a parameter to the entry point script. ++ The right input port is reserved for zipped Python libraries. ++  ++1. Carefully note the specific input port you use. The designer assigns the left input port to the variable `dataset1`, and the middle input port to `dataset2`. ++Input components are optional, since you can generate or import data directly in the **Execute Python Script** component. ++### Write your Python code ++The designer provides an initial entry point script for you to edit and enter your own Python code. ++In this example, you use Pandas to combine two of the automobile dataset columns - **Price** and **Horsepower** - to create a new column, **Dollars per horsepower**. This column represents how much you pay for each horsepower unit, which could become a useful information point to decide if a specific car is a good deal for its price. ++1. Select the **Execute Python Script** component. ++1. In the pane that appears to the right of the canvas, select the **Python script** text box. ++1. Copy and paste the following code into the text box: ++ ```python + import pandas as pd + + def azureml_main(dataframe1 = None, dataframe2 = None): + dataframe1['Dollar/HP'] = dataframe1.price / dataframe1.horsepower + return dataframe1 + ``` + Your pipeline should look like this image: + +  ++ The entry point script must contain the function `azureml_main`. The function has two function parameters that map to the two input ports for the **Execute Python Script** component. ++ The return value must be a Pandas Dataframe. You can return at most two dataframes as component outputs. + +1. Submit the pipeline. ++Now you have a dataset, which has a new **Dollars/HP** feature. This new feature could help to train a car recommender. This example shows feature extraction and dimensionality reduction. ++## Next steps ++Learn how to [import your own data](how-to-designer-import-data.md) in Azure Machine Learning designer. |
machine-learning | How To Designer Transform Data | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/how-to-designer-transform-data.md | + + Title: Transform data in the designer ++description: Learn how to import and transform data in Azure Machine Learning designer to create your own datasets. ++++++ Last updated : 02/08/2023+++++# Transform data in Azure Machine Learning designer ++In this article, you'll learn how to transform and save datasets in the Azure Machine Learning designer, to prepare your own data for machine learning. ++You'll use the sample [Adult Census Income Binary Classification](samples-designer.md) dataset to prepare two datasets: one dataset that includes adult census information from only the United States, and another dataset that includes census information from non-US adults. ++In this article, you'll learn how to: ++1. Transform a dataset to prepare it for training. +1. Export the resulting datasets to a datastore. +1. View the results. ++This how-to is a prerequisite for the [how to retrain designer models](how-to-retrain-designer.md) article. In that article, you'll learn how to use the transformed datasets to train multiple models, with pipeline parameters. +++## Transform a dataset ++In this section, you'll learn how to import the sample dataset, and split the data into US and non-US datasets. See [how to import data](how-to-designer-import-data.md) for more information about how to import your own data into the designer. ++### Import data ++Use these steps to import the sample dataset: ++1. Sign in to <a href="https://ml.azure.com?tabs=jre" target="_blank">ml.azure.com</a>, and select the workspace you want to use. ++1. Go to the designer. Select **Easy-to-use-prebuild components** to create a new pipeline. ++1. Select a default compute target to run the pipeline. ++1. To the left of the pipeline canvas, you'll see a palette of datasets and components. Select **Datasets**. Then view the **Samples** section. ++1. Drag and drop the **Adult Census Income Binary classification** dataset onto the canvas. ++1. Right-click the **Adult Census Income** dataset component, and select **Visualize** > **Dataset output** ++1. Use the data preview window to explore the dataset. Take special note of the "native-country" column values. ++### Split the data ++In this section, you'll use the [Split Data component](../algorithm-module-reference/split-data.md) to identify and split rows that contain "United-States" in the "native-country" column. ++1. To the left of the canvas, in the component palette, expand the **Data Transformation** section, and find the **Split Data** component. ++1. Drag the **Split Data** component onto the canvas, and drop that component below the dataset component. ++1. Connect the dataset component to the **Split Data** component. ++1. Select the **Split Data** component. ++1. To the right of the canvas in the component details pane, set **Splitting mode** to **Regular Expression**. ++1. Enter the **Regular Expression**: `\"native-country" United-States`. ++ The **Regular expression** mode tests a single column for a value. See the related [algorithm component reference page](../algorithm-module-reference/split-data.md) for more information on the Split Data component. ++Your pipeline should look like this: ++++## Save the datasets ++Now that you set up your pipeline to split the data, you must specify where to persist the datasets. For this example, use the **Export Data** component to save your dataset to a datastore. See [Connect to Azure storage services](how-to-access-data.md) for more information about datastores. ++1. To the left of the canvas in the component palette, expand the **Data Input and Output** section, and find the **Export Data** component. ++1. Drag and drop two **Export Data** components below the **Split Data** component. ++1. Connect each output port of the **Split Data** component to a different **Export Data** component. ++ Your pipeline should look something like this: ++ . ++1. Select the **Export Data** component connected to the *left*-most port of the **Split Data** component. ++ For the **Split Data** component, the output port order matters. The first output port contains the rows where the regular expression is true. In this case, the first port contains rows for US-based income, and the second port contains rows for non-US based income. ++1. In the component details pane to the right of the canvas, set the following options: + + **Datastore type**: Azure Blob Storage ++ **Datastore**: Select an existing datastore, or select "New datastore" to create one now. ++ **Path**: `/data/us-income` ++ **File format**: csv ++ > [!NOTE] + > This article assumes that you have access to a datastore registered to the current Azure Machine Learning workspace. See [Connect to Azure storage services](how-to-connect-data-ui.md#create-datastores) for datastore setup instructions. ++ You can create a datastore if you don't have one now. For example purposes, this article will save the datasets to the default blob storage account associated with the workspace. It will save the datasets into the `azureml` container, in a new folder named `data`. ++1. Select the **Export Data** component connected to the *right*-most port of the **Split Data** component. ++1. To the right of the canvas in the component details pane, set the following options: + + **Datastore type**: Azure Blob Storage ++ **Datastore**: Select the same datastore as above ++ **Path**: `/data/non-us-income` ++ **File format**: csv ++1. Verify that the **Export Data** component connected to the left port of the **Split Data** has the **Path** `/data/us-income`. ++1. Verify that the **Export Data** component connected to the right port has the **Path** `/data/non-us-income`. ++ Your pipeline and settings should look like this: + + . ++### Submit the job ++Now that you set up your pipeline to split and export the data, submit a pipeline job. ++1. Select **Submit** at the top of the canvas. ++1. Select **Create new** in the **Set up pipeline job**, to create an experiment. ++ Experiments logically group related pipeline jobs together. If you run this pipeline in the future, you should use the same experiment for logging and tracking purposes. ++1. Provide a descriptive experiment name - for example "split-census-data". ++1. Select **Submit**. ++## View results ++After the pipeline finishes running, you can navigate to your Azure portal blob storage to view your results. You can also view the intermediary results of the **Split Data** component to confirm that your data has been split correctly. ++1. Select the **Split Data** component. ++1. In the component details pane to the right of the canvas, select **Outputs + logs**. ++1. Select the visualize icon  next to **Results dataset1**. ++1. Verify that the "native-country" column contains only the value "United-States". ++1. Select the visualize icon  next to **Results dataset2**. ++1. Verify that the "native-country" column does not contain the value "United-States". ++## Clean up resources ++To continue with part two of this [Retrain models with Azure Machine Learning designer](how-to-retrain-designer.md) how-to, skip this section. +++## Next steps ++In this article, you learned how to transform a dataset, and save it to a registered datastore. ++Continue to the next part of this how-to series with [Retrain models with Azure Machine Learning designer](how-to-retrain-designer.md), to use your transformed datasets and pipeline parameters to train machine learning models. |
machine-learning | How To Retrain Designer | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/how-to-retrain-designer.md | + + Title: Use pipeline parameters to retrain models in the designer ++description: Retrain models with published pipelines and pipeline parameters in Azure Machine Learning designer. ++++++ Last updated : 10/21/2021+++++# Use pipeline parameters to retrain models in the designer +++In this how-to article, you learn how to use Azure Machine Learning designer to retrain a machine learning model using pipeline parameters. You will use published pipelines to automate your workflow and set parameters to train your model on new data. Pipeline parameters let you re-use existing pipelines for different jobs. ++In this article, you learn how to: ++> [!div class="checklist"] +> * Train a machine learning model. +> * Create a pipeline parameter. +> * Publish your training pipeline. +> * Retrain your model with new parameters. ++## Prerequisites ++* An Azure Machine Learning workspace +* Complete part 1 of this how-to series, [Transform data in the designer](how-to-designer-transform-data.md) +++This article also assumes that you have some knowledge of building pipelines in the designer. For a guided introduction, complete the [tutorial](tutorial-designer-automobile-price-train-score.md). ++### Sample pipeline ++The pipeline used in this article is an altered version of a sample pipeline [Income prediction](samples-designer.md#classification) in the designer homepage. The pipeline uses the [Import Data](../algorithm-module-reference/import-data.md) component instead of the sample dataset to show you how to train models using your own data. ++ ++## Create a pipeline parameter ++Pipeline parameters are used to build versatile pipelines which can be resubmitted later with varying parameter values. Some common scenarios are updating datasets or some hyper-parameters for retraining. Create pipeline parameters to dynamically set variables at runtime. ++Pipeline parameters can be added to data source or component parameters in a pipeline. When the pipeline is resubmitted, the values of these parameters can be specified. ++For this example, you will change the training data path from a fixed value to a parameter, so that you can retrain your model on different data. You can also add other component parameters as pipeline parameters according to your use case. ++1. Select the **Import Data** component. ++ > [!NOTE] + > This example uses the Import Data component to access data in a registered datastore. However, you can follow similar steps if you use alternative data access patterns. ++1. In the component detail pane, to the right of the canvas, select your data source. ++1. Enter the path to your data. You can also select **Browse path** to browse your file tree. ++1. Mouseover the **Path** field, and select the ellipses above the **Path** field that appear. ++1. Select **Add to pipeline parameter**. ++1. Provide a parameter name and a default value. ++  ++1. Select **Save**. ++ > [!NOTE] + > You can also detach a component parameter from pipeline parameter in the component detail pane, similar to adding pipeline parameters. + > + > You can inspect and edit your pipeline parameters by selecting the **Settings** gear icon next to the title of your pipeline draft. + > - After detaching, you can delete the pipeline parameter in the **Setings** pane. + > - You can also add a pipeline parameter in the **Settings** pane, and then apply it on some component parameter. ++1. Submit the pipeline job. ++## Publish a training pipeline ++Publish a pipeline to a pipeline endpoint to easily reuse your pipelines in the future. A pipeline endpoint creates a REST endpoint to invoke pipeline in the future. In this example, your pipeline endpoint lets you reuse your pipeline to retrain a model on different data. ++1. Select **Publish** above the designer canvas. +1. Select or create a pipeline endpoint. ++ > [!NOTE] + > You can publish multiple pipelines to a single endpoint. Each pipeline in a given endpoint is given a version number, which you can specify when you call the pipeline endpoint. ++1. Select **Publish**. ++## Retrain your model ++Now that you have a published training pipeline, you can use it to retrain your model on new data. You can submit jobs from a pipeline endpoint from the studio workspace or programmatically. ++### Submit jobs by using the studio portal ++Use the following steps to submit a parameterized pipeline endpoint job from the studio portal: ++1. Go to the **Endpoints** page in your studio workspace. +1. Select the **Pipeline endpoints** tab. Then, select your pipeline endpoint. +1. Select the **Published pipelines** tab. Then, select the pipeline version that you want to run. +1. Select **Submit**. +1. In the setup dialog box, you can specify the parameters values for the job. For this example, update the data path to train your model using a non-US dataset. ++ ++### Submit jobs by using code ++You can find the REST endpoint of a published pipeline in the overview panel. By calling the endpoint, you can retrain the published pipeline. ++To make a REST call, you need an OAuth 2.0 bearer-type authentication header. For information about setting up authentication to your workspace and making a parameterized REST call, see [Build an Azure Machine Learning pipeline for batch scoring](../tutorial-pipeline-batch-scoring-classification.md#publish-and-run-from-a-rest-endpoint). ++## Next steps ++In this article, you learned how to create a parameterized training pipeline endpoint using the designer. ++For a complete walkthrough of how you can deploy a model to make predictions, see the [designer tutorial](tutorial-designer-automobile-price-train-score.md) to train and deploy a regression model. ++For how to publish and submit a job to pipeline endpoint using the SDK v1, see [this article](how-to-deploy-pipelines.md). |
machine-learning | How To Run Batch Predictions Designer | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/how-to-run-batch-predictions-designer.md | + + Title: Run batch predictions using Azure Machine Learning designer ++description: Learn how to create a batch prediction pipeline. Deploy the pipeline as a parameterized web service, and trigger it from any HTTP library. ++++++ Last updated : 05/10/2022+++++# Run batch predictions using Azure Machine Learning designer ++In this article, you learn how to use the designer to create a batch prediction pipeline. Batch prediction lets you continuously score large datasets on-demand using a web service that can be triggered from any HTTP library. ++In this how-to, you learn to do the following tasks: ++> [!div class="checklist"] +> * Create and publish a batch inference pipeline +> * Consume a pipeline endpoint +> * Manage endpoint versions ++To learn how to set up batch scoring services using the SDK, see the accompanying [tutorial on pipeline batch scoring](../tutorial-pipeline-batch-scoring-classification.md). ++## Prerequisites ++This how-to assumes you already have a training pipeline. For a guided introduction to the designer, complete [part one of the designer tutorial](tutorial-designer-automobile-price-train-score.md). +++## Create a batch inference pipeline ++Your training pipeline must be run at least once to be able to create an inferencing pipeline. ++1. Go to the **Designer** tab in your workspace. ++1. Select the training pipeline that trains the model you want to use to make prediction. ++1. **Submit** the pipeline. ++ ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/run-training-pipeline.png" alt-text="Screenshot showing the set up pipeline job with the experiment drop-down and submit button highlighted." lightbox= "./media/how-to-run-batch-predictions-designer/run-training-pipeline.png"::: ++You'll see a submission list on the left of canvas. You can select the job detail link to go to the job detail page, and after the training pipeline job completes, you can create a batch inference pipeline. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/submission-list.png" alt-text="Screenshot showing the submitted job list." lightbox= "./media/how-to-run-batch-predictions-designer/submission-list.png"::: ++1. In job detail page, above the canvas, select the dropdown **Create inference pipeline**. Select **Batch inference pipeline**. ++ > [!NOTE] + > Currently auto-generating inference pipeline only works for training pipeline built purely by the designer built-in components. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/create-batch-inference.png" alt-text="Screenshot of the create inference pipeline drop-down with batch inference pipeline highlighted." lightbox= "./media/how-to-run-batch-predictions-designer/create-batch-inference.png"::: + + It will create a batch inference pipeline draft for you. The batch inference pipeline draft uses the trained model as **MD-** node and transformation as **TD-** node from the training pipeline job. ++ You can also modify this inference pipeline draft to better handle your input data for batch inference. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/batch-inference-draft.png" alt-text="Screenshot showing a batch inference pipeline draft." lightbox= "./media/how-to-run-batch-predictions-designer/batch-inference-draft.png"::: ++### Add a pipeline parameter ++To create predictions on new data, you can either manually connect a different dataset in this pipeline draft view or create a parameter for your dataset. Parameters let you change the behavior of the batch inferencing process at runtime. ++In this section, you create a dataset parameter to specify a different dataset to make predictions on. ++1. Select the dataset component. ++1. A pane will appear to the right of the canvas. At the bottom of the pane, select **Set as pipeline parameter**. + + Enter a name for the parameter, or accept the default value. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/create-pipeline-parameter.png" alt-text="Screenshot of cleaned dataset tab with set as pipeline parameter checked." lightbox= "./media/how-to-run-batch-predictions-designer/create-pipeline-parameter.png"::: +++1. Submit the batch inference pipeline and go to job detail page by selecting the job link in the left pane. ++## Publish your batch inference pipeline ++Now you're ready to deploy the inference pipeline. This will deploy the pipeline and make it available for others to use. ++1. Select the **Publish** button. ++1. In the dialog that appears, expand the drop-down for **PipelineEndpoint**, and select **New PipelineEndpoint**. ++1. Provide an endpoint name and optional description. ++ Near the bottom of the dialog, you can see the parameter you configured with a default value of the dataset ID used during training. ++1. Select **Publish**. +++## Consume an endpoint ++Now, you have a published pipeline with a dataset parameter. The pipeline will use the trained model created in the training pipeline to score the dataset you provide as a parameter. ++### Submit a pipeline job ++In this section, you'll set up a manual pipeline job and alter the pipeline parameter to score new data. ++1. After the deployment is complete, go to the **Endpoints** section. ++1. Select **Pipeline endpoints**. ++1. Select the name of the endpoint you created. +++1. Select **Published pipelines**. ++ This screen shows all published pipelines published under this endpoint. ++1. Select the pipeline you published. ++ The pipeline details page shows you a detailed job history and connection string information for your pipeline. + +1. Select **Submit** to create a manual run of the pipeline. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/submit-manual-run.png" alt-text="Screenshot of set up pipeline job with parameters highlighted." lightbox= "./media/how-to-run-batch-predictions-designer/submit-manual-run.png" ::: + +1. Change the parameter to use a different dataset. + +1. Select **Submit** to run the pipeline. ++### Use the REST endpoint ++You can find information on how to consume pipeline endpoints and published pipeline in the **Endpoints** section. ++You can find the REST endpoint of a pipeline endpoint in the job overview panel. By calling the endpoint, you're consuming its default published pipeline. ++You can also consume a published pipeline in the **Published pipelines** page. Select a published pipeline and you can find the REST endpoint of it in the **Published pipeline overview** panel to the right of the graph. ++To make a REST call, you'll need an OAuth 2.0 bearer-type authentication header. See the following [tutorial section](../tutorial-pipeline-batch-scoring-classification.md#publish-and-run-from-a-rest-endpoint) for more detail on setting up authentication to your workspace and making a parameterized REST call. ++## Versioning endpoints ++The designer assigns a version to each subsequent pipeline that you publish to an endpoint. You can specify the pipeline version that you want to execute as a parameter in your REST call. If you don't specify a version number, the designer will use the default pipeline. ++When you publish a pipeline, you can choose to make it the new default pipeline for that endpoint. +++You can also set a new default pipeline in the **Published pipelines** tab of your endpoint. +++## Update pipeline endpoint ++If you make some modifications in your training pipeline, you may want to update the newly trained model to the pipeline endpoint. ++1. After your modified training pipeline completes successfully, go to the job detail page. ++1. Right click **Train Model** component and select **Register data** ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/register-train-model-as-dataset.png" alt-text="Screenshot of the train model component options with register data highlighted." lightbox= "./media/how-to-run-batch-predictions-designer/register-train-model-as-dataset.png" ::: ++ Input name and select **File** type. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/register-train-model-as-dataset-2.png" alt-text="Screenshot of register as data asset with new data asset selected." lightbox= "./media/how-to-run-batch-predictions-designer/register-train-model-as-dataset-2.png" ::: ++1. Find the previous batch inference pipeline draft, or you can just **Clone** the published pipeline into a new draft. ++1. Replace the **MD-** node in the inference pipeline draft with the registered data in the step above. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/update-inference-pipeline-draft.png" alt-text="Screenshot of updating the inference pipeline draft with the registered data in the step above." ::: ++1. Updating data transformation node **TD-** is the same as the trained model. ++1. Then you can submit the inference pipeline with the updated model and transformation, and publish again. ++## Next steps ++* Follow the [designer tutorial to train and deploy a regression model](tutorial-designer-automobile-price-train-score.md). +* For how to publish and run a published pipeline using the SDK v1, see the [How to deploy pipelines](how-to-deploy-pipelines.md?view=azureml-api-1&preserve-view=true) article. |
machine-learning | How To Select Algorithms | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/how-to-select-algorithms.md | + + Title: How to select a machine learning algorithm ++description: How to select Azure Machine Learning algorithms for supervised and unsupervised learning in clustering, classification, or regression experiments. +++++++ Last updated : 10/21/2021++# How to select algorithms for Azure Machine Learning ++A common question is ΓÇ£Which machine learning algorithm should I use?ΓÇ¥ The algorithm you select depends primarily on two different aspects of your data science scenario: ++ - **What you want to do with your data?** Specifically, what is the business question you want to answer by learning from your past data? ++ - **What are the requirements of your data science scenario?** Specifically, what is the accuracy, training time, linearity, number of parameters, and number of features your solution supports? ++  ++>[!Note] +> Designer supports two types of components, classic prebuilt components (v1) and custom components (v2). These two types of components are NOT compatible. +> +>Classic prebuilt components provide prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. +> +>Custom components allow you to wrap your own code as a component. It supports sharing components across workspaces and seamless authoring across Studio, CLI v2, and SDK v2 interfaces. +> +>For new projects, we highly suggest you use custom component, which is compatible with AzureML V2 and will keep receiving new updates. +> +>This article applies to classic prebuilt components and not compatible with CLI v2 and SDK v2. +## Business scenarios and the Machine Learning Algorithm Cheat Sheet ++The [Azure Machine Learning Algorithm Cheat Sheet](./algorithm-cheat-sheet.md?WT.mc_id=docs-article-lazzeri) helps you with the first consideration: **What you want to do with your data**? On the Machine Learning Algorithm Cheat Sheet, look for task you want to do, and then find a [Azure Machine Learning designer](./concept-designer.md?WT.mc_id=docs-article-lazzeri) algorithm for the predictive analytics solution. ++Machine Learning designer provides a comprehensive portfolio of algorithms, such as [Multiclass Decision Forest](../algorithm-module-reference/multiclass-decision-forest.md?WT.mc_id=docs-article-lazzeri), [Recommendation systems](../algorithm-module-reference/evaluate-recommender.md?WT.mc_id=docs-article-lazzeri), [Neural Network Regression](../algorithm-module-reference/neural-network-regression.md?WT.mc_id=docs-article-lazzeri), [Multiclass Neural Network](../algorithm-module-reference/multiclass-neural-network.md?WT.mc_id=docs-article-lazzeri), and [K-Means Clustering](../algorithm-module-reference/k-means-clustering.md?WT.mc_id=docs-article-lazzeri). Each algorithm is designed to address a different type of machine learning problem. See the [Machine Learning designer algorithm and component reference](../component-reference/component-reference.md?WT.mc_id=docs-article-lazzeri) for a complete list along with documentation about how each algorithm works and how to tune parameters to optimize the algorithm. ++> [!NOTE] +> Download the cheat sheet here: [Machine Learning Algorithm Cheat Sheet (11x17 in.)](https://download.microsoft.com/download/3/5/b/35bb997f-a8c7-485d-8c56-19444dafd757/azure-machine-learning-algorithm-cheat-sheet-july-2021.pdf) +> +> ++Along with guidance in the Azure Machine Learning Algorithm Cheat Sheet, keep in mind other requirements when choosing a machine learning algorithm for your solution. Following are additional factors to consider, such as the accuracy, training time, linearity, number of parameters and number of features. ++## Comparison of machine learning algorithms +++Some learning algorithms make particular assumptions about the structure of the data or the desired results. If you can find one that fits your needs, it can give you more useful results, more accurate predictions, or faster training times. ++The following table summarizes some of the most important characteristics of algorithms from the classification, regression, and clustering families: ++| **Algorithm** | **Accuracy** | **Training time** | **Linearity** | **Parameters** | **Notes** | +| |::|::|::|::| | +| **Classification family** | | | | | | +| [Two-Class logistic regression](../algorithm-module-reference/two-class-logistic-regression.md?WT.mc_id=docs-article-lazzeri) |Good |Fast |Yes |4 | | +| [Two-class decision forest](../algorithm-module-reference/two-class-decision-forest.md?WT.mc_id=docs-article-lazzeri) |Excellent |Moderate |No |5 |Shows slower scoring times. Suggest not working with One-vs-All Multiclass, because of slower scoring times caused by tread locking in accumulating tree predictions | +| [Two-class boosted decision tree](../algorithm-module-reference/two-class-boosted-decision-tree.md?WT.mc_id=docs-article-lazzeri) |Excellent |Moderate |No |6 |Large memory footprint | +| [Two-class neural network](../algorithm-module-reference/two-class-neural-network.md?WT.mc_id=docs-article-lazzeri) |Good |Moderate |No |8 | | +| [Two-class averaged perceptron](../algorithm-module-reference/two-class-averaged-perceptron.md?WT.mc_id=docs-article-lazzeri) |Good |Moderate |Yes |4 | | +| [Two-class support vector machine](../algorithm-module-reference/two-class-support-vector-machine.md?WT.mc_id=docs-article-lazzeri) |Good |Fast |Yes |5 |Good for large feature sets | +| [Multiclass logistic regression](../algorithm-module-reference/multiclass-logistic-regression.md?WT.mc_id=docs-article-lazzeri) |Good |Fast |Yes |4 | | +| [Multiclass decision forest](../algorithm-module-reference/multiclass-decision-forest.md?WT.mc_id=docs-article-lazzeri) |Excellent |Moderate |No |5 |Shows slower scoring times | +| [Multiclass boosted decision tree](../algorithm-module-reference/multiclass-boosted-decision-tree.md?WT.mc_id=docs-article-lazzeri) |Excellent |Moderate |No |6 | Tends to improve accuracy with some small risk of less coverage | +| [Multiclass neural network](../algorithm-module-reference/multiclass-neural-network.md?WT.mc_id=docs-article-lazzeri) |Good |Moderate |No |8 | | +| [One-vs-all multiclass](../algorithm-module-reference/one-vs-all-multiclass.md?WT.mc_id=docs-article-lazzeri) | - | - | - | - |See properties of the two-class method selected | +| **Regression family** | | | | | | +| [Linear regression](../algorithm-module-reference/linear-regression.md?WT.mc_id=docs-article-lazzeri) |Good |Fast |Yes |4 | | +| [Decision forest regression](../algorithm-module-reference/decision-forest-regression.md?WT.mc_id=docs-article-lazzeri)|Excellent |Moderate |No |5 | | +| [Boosted decision tree regression](../algorithm-module-reference/boosted-decision-tree-regression.md?WT.mc_id=docs-article-lazzeri) |Excellent |Moderate |No |6 |Large memory footprint | +| [Neural network regression](../algorithm-module-reference/neural-network-regression.md?WT.mc_id=docs-article-lazzeri) |Good |Moderate |No |8 | | +| **Clustering family** | | | | | | +| [K-means clustering](../algorithm-module-reference/k-means-clustering.md?WT.mc_id=docs-article-lazzeri) |Excellent |Moderate |Yes |8 |A clustering algorithm | ++## Requirements for a data science scenario ++Once you know what you want to do with your data, you need to determine additional requirements for your solution. ++Make choices and possibly trade-offs for the following requirements: ++- Accuracy +- Training time +- Linearity +- Number of parameters +- Number of features ++## Accuracy ++Accuracy in machine learning measures the effectiveness of a model as the proportion of true results to total cases. In Machine Learning designer, the [Evaluate Model component](../algorithm-module-reference/evaluate-model.md?WT.mc_id=docs-article-lazzeri) computes a set of industry-standard evaluation metrics. You can use this component to measure the accuracy of a trained model. ++Getting the most accurate answer possible isnΓÇÖt always necessary. Sometimes an approximation is adequate, depending on what you want to use it for. If that is the case, you may be able to cut your processing time dramatically by sticking with more approximate methods. Approximate methods also naturally tend to avoid overfitting. ++There are three ways to use the Evaluate Model component: ++- Generate scores over your training data in order to evaluate the model +- Generate scores on the model, but compare those scores to scores on a reserved testing set +- Compare scores for two different but related models, using the same set of data ++For a complete list of metrics and approaches you can use to evaluate the accuracy of machine learning models, see [Evaluate Model component](../algorithm-module-reference/evaluate-model.md?WT.mc_id=docs-article-lazzeri). ++## Training time ++In supervised learning, training means using historical data to build a machine learning model that minimizes errors. The number of minutes or hours necessary to train a model varies a great deal between algorithms. Training time is often closely tied to accuracy; one typically accompanies the other. ++In addition, some algorithms are more sensitive to the number of data points than others. You might choose a specific algorithm because you have a time limitation, especially when the data set is large. ++In Machine Learning designer, creating and using a machine learning model is typically a three-step process: ++1. Configure a model, by choosing a particular type of algorithm, and then defining its parameters or hyperparameters. ++2. Provide a dataset that is labeled and has data compatible with the algorithm. Connect both the data and the model to [Train Model component](../algorithm-module-reference/train-model.md?WT.mc_id=docs-article-lazzeri). ++3. After training is completed, use the trained model with one of the [scoring components](../algorithm-module-reference/score-model.md?WT.mc_id=docs-article-lazzeri) to make predictions on new data. ++## Linearity ++Linearity in statistics and machine learning means that there is a linear relationship between a variable and a constant in your dataset. For example, linear classification algorithms assume that classes can be separated by a straight line (or its higher-dimensional analog). ++Lots of machine learning algorithms make use of linearity. In Azure Machine Learning designer, they include: ++- [Multiclass logistic regression](../algorithm-module-reference/multiclass-logistic-regression.md?WT.mc_id=docs-article-lazzeri) +- [Two-class logistic regression](../algorithm-module-reference/two-class-logistic-regression.md?WT.mc_id=docs-article-lazzeri) +- [Support vector machines](../algorithm-module-reference/two-class-support-vector-machine.md?WT.mc_id=docs-article-lazzeri) ++Linear regression algorithms assume that data trends follow a straight line. This assumption isn't bad for some problems, but for others it reduces accuracy. Despite their drawbacks, linear algorithms are popular as a first strategy. They tend to be algorithmically simple and fast to train. ++ ++***Nonlinear class boundary***: *Relying on a linear classification +algorithm would result in low accuracy.* ++ ++***Data with a nonlinear trend***: *Using a linear regression method would +generate much larger errors than necessary.* ++## Number of parameters ++Parameters are the knobs a data scientist gets to turn when setting up an algorithm. They are numbers that affect the algorithmΓÇÖs behavior, such as error tolerance or number of iterations, or options between variants of how the algorithm behaves. The training time and accuracy of the algorithm can sometimes be sensitive to getting just the right settings. Typically, algorithms with large numbers of parameters require the most trial and error to find a good combination. ++Alternatively, there is the [Tune Model Hyperparameters component](../algorithm-module-reference/tune-model-hyperparameters.md?WT.mc_id=docs-article-lazzeri) in Machine Learning designer: The goal of this component is to determine the optimum hyperparameters for a machine learning model. The component builds and tests multiple models by using different combinations of settings. It compares metrics over all models to get the combinations of settings. ++While this is a great way to make sure youΓÇÖve spanned the parameter space, the time required to train a model increases exponentially with the number of parameters. The upside is that having many parameters typically indicates that an algorithm has greater flexibility. It can often achieve very good accuracy, provided you can find the right combination of parameter settings. ++## Number of features ++In machine learning, a feature is a quantifiable variable of the phenomenon you are trying to analyze. For certain types of data, the number of features can be very large compared to the number of data points. This is often the case with genetics or textual data. ++A large number of features can bog down some learning algorithms, making training time unfeasibly long. [Support vector machines](../algorithm-module-reference/two-class-support-vector-machine.md?WT.mc_id=docs-article-lazzeri) are particularly well suited to scenarios with a high number of features. For this reason, they have been used in many applications from information retrieval to text and image classification. Support vector machines can be used for both classification and regression tasks. ++Feature selection refers to the process of applying statistical tests to inputs, given a specified output. The goal is to determine which columns are more predictive of the output. The [Filter Based Feature Selection component](../algorithm-module-reference/filter-based-feature-selection.md?WT.mc_id=docs-article-lazzeri) in Machine Learning designer provides multiple feature selection algorithms to choose from. The component includes correlation methods such as Pearson correlation and chi-squared values. ++You can also use the [Permutation Feature Importance component](../algorithm-module-reference/permutation-feature-importance.md?WT.mc_id=docs-article-lazzeri) to compute a set of feature importance scores for your dataset. You can then leverage these scores to help you determine the best features to use in a model. ++## Next steps ++ - [Learn more about Azure Machine Learning designer](./concept-designer.md?WT.mc_id=docs-article-lazzeri) + - For descriptions of all the machine learning algorithms available in Azure Machine Learning designer, see [Machine Learning designer algorithm and component reference](../component-reference/component-reference.md?WT.mc_id=docs-article-lazzeri) + - To explore the relationship between deep learning, machine learning, and AI, see [Deep Learning vs. Machine Learning](../concept-deep-learning-vs-machine-learning.md?WT.mc_id=docs-article-lazzeri) |
machine-learning | How To Use Pipeline Parameter | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/how-to-use-pipeline-parameter.md | + + Title: Use pipeline parameters to build versatile pipelines ++description: How to use pipeline parameters in Azure Machine Learning designer. ++++++ Last updated : 10/21/2021+++++# Use pipeline parameters in the designer to build versatile pipelines ++Use pipeline parameters to build flexible pipelines in the designer. Pipeline parameters let you dynamically set values at runtime to encapsulate pipeline logic and reuse assets. ++Pipeline parameters are especially useful when resubmitting a pipeline job, [retraining models](how-to-retrain-designer.md), or [performing batch predictions](how-to-run-batch-predictions-designer.md). ++In this article, you learn how to do the following: ++> [!div class="checklist"] +> * Create pipeline parameters +> * Delete and manage pipeline parameters +> * Trigger pipeline jobs while adjusting pipeline parameters ++## Prerequisites ++* An Azure Machine Learning workspace. See [Create workspace resources](../quickstart-create-resources.md). ++* For a guided introduction to the designer, complete the [designer tutorial](tutorial-designer-automobile-price-train-score.md). +++## Create pipeline parameter ++There are three ways to create a pipeline parameter in the designer: +- Create a pipeline parameter in the settings panel, and bind it to a component. +- Promote a component parameter to a pipeline parameter. +- Promote a dataset to a pipeline parameter ++> [!NOTE] +> Pipeline parameters only support basic data types like `int`, `float`, and `string`. ++### Option 1: Create a pipeline parameter in the settings panel ++In this section, you create a pipeline parameter in the settings panel. ++In this example, you create a pipeline parameter that defines how a pipeline fills in missing data using the **Clean missing data** component. ++1. Next to the name of your pipeline draft, select the **gear icon** to open the **Settings** panel. ++1. In the **Pipeline parameters** section, select the **+** icon. ++1. Enter a name for the parameter and a default value. ++ For example, enter `replace-missing-value` as parameter name and `0` as default value. ++  +++After you create a pipeline parameter, you must [attach it to the component parameter](#attach-component-parameter-to-pipeline-parameter) that you want to dynamically set. ++### Option 2: Promote a component parameter ++The simplest way to create a pipeline parameter for a component value is to promote a component parameter. Use the following steps to promote a component parameter to a pipeline parameter: ++1. Select the component you want to attach a pipeline parameter to. +1. In the component detail pane, mouseover the parameter you want to specify. +1. Select the ellipses (**...**) that appear. +1. Select **Add to pipeline parameter**. ++  ++1. Enter a parameter name and default value. +1. Select **Save** ++You can now specify new values for this parameter anytime you submit this pipeline. ++### Option 3: Promote a dataset to a pipeline parameter ++If you want to submit your pipeline with variable datasets, you must promote your dataset to a pipeline parameter: ++1. Select the dataset you want to turn into a pipeline parameter. ++1. In the detail panel of dataset, check **Set as pipeline parameter**. ++  ++You can now specify a different dataset by using the pipeline parameter the next time you run the pipeline. ++## Attach and detach component parameter to pipeline parameter ++In this section, you will learn how to attach and detach component parameter to pipeline parameter. ++### Attach component parameter to pipeline parameter ++You can attach the same component parameters of duplicated components to the same pipeline parameter if you want to alter the value at one time when triggering the pipeline job. ++The following example has duplicated **Clean Missing Data** component. For each **Clean Missing Data** component, attach **Replacement value** to pipeline parameter **replace-missing-value**: ++1. Select the **Clean Missing Data** component. ++1. In the component detail pane, to the right of the canvas, set the **Cleaning mode** to "Custom substitution value". ++1. Mouseover the **Replacement value** field. ++1. Select the ellipses (**...**) that appear. ++1. Select the pipeline parameter `replace-missing-value`. ++  ++You have successfully attached the **Replacement value** field to your pipeline parameter. +++### Detach component parameter to pipeline parameter ++After you attach **Replacement value** to pipeline parameter, it is non-actionable. ++You can detach component parameter to pipeline parameter by clicking the ellipses (**...**) next to the component parameter, and select **Detach from pipeline parameter**. ++  ++## Update and delete pipeline parameters ++In this section, you learn how to update and delete pipeline parameters. ++### Update pipeline parameters ++Use the following steps to update a component pipeline parameter: ++1. At the top of the canvas, select the gear icon. +1. In the **Pipeline parameters** section, you can view and update the name and default value for all of your pipeline parameter. ++### Delete a dataset pipeline parameter ++Use the following steps to delete a dataset pipeline parameter: ++1. Select the dataset component. +1. Uncheck the option **Set as pipeline parameter**. +++### Delete component pipeline parameters ++Use the following steps to delete a component pipeline parameter: ++1. At the top of the canvas, select the gear icon. ++1. Select the ellipses (**...**) next to the pipeline parameter. ++ This view shows you which components the pipeline parameter is attached to. ++  ++1. Select **Delete parameter** to delete the pipeline parameter. ++ > [!NOTE] + > Deleting a pipeline parameter will cause all attached component parameters to be detached and the value of detached component parameters will keep current pipeline parameter value. ++## Trigger a pipeline job with pipeline parameters ++In this section, you learn how to submit a pipeline job while setting pipeline parameters. ++### Resubmit a pipeline job ++After submitting a pipeline with pipeline parameters, you can resubmit a pipeline job with different parameters: ++1. Go to pipeline detail page. In the **Pipeline job overview** window, you can check current pipeline parameters and values. ++1. Select **Resubmit**. +1. In the **Setup pipeline job**, specify your new pipeline parameters. ++ ++### Use published pipelines ++You can also publish a pipeline to use its pipeline parameters. A **published pipeline** is a pipeline that has been deployed to a compute resource, which client applications can invoke via a REST endpoint. ++Published endpoints are especially useful for retraining and batch prediction scenarios. For more information, see [How to retrain models in the designer](how-to-retrain-designer.md) or [Run batch predictions in the designer](how-to-run-batch-predictions-designer.md). ++## Next steps ++In this article, you learned how to create pipeline parameters in the designer. Next, see how you can use pipeline parameters to [retrain models](how-to-retrain-designer.md) or perform [batch predictions](how-to-run-batch-predictions-designer.md). ++You can also learn how to [use pipelines programmatically with the SDK v1](how-to-deploy-pipelines.md?view=azureml-api-1&preserve-view=true). |
machine-learning | Migrate Rebuild Experiment | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/migrate-rebuild-experiment.md | In Azure Machine Learning, the visual graph is called a **pipeline draft**. In t 1. Go to Azure Machine Learning studio ([ml.azure.com](https://ml.azure.com)) 1. In the left navigation pane, select **Designer** > **Easy-to-use prebuilt modules**-  +  1. Manually rebuild your experiment with designer components. A pipeline job executes on a **compute target** attached to your workspace. You Once you submit a job from a pipeline draft, it turns into a **pipeline job**. Each pipeline job is recorded and logged in Azure Machine Learning. To set a default compute target for the entire pipeline:-1. Select the **Gear icon**  next to the pipeline name. ++1. Select the **Gear icon**  next to the pipeline name. 1. Select **Select compute target**. 1. Select an existing compute, or create a new compute by following the on-screen instructions. |
machine-learning | Samples Designer | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/samples-designer.md | + + Title: Example pipelines & datasets for the designer ++description: Learn how to use samples in Azure Machine Learning designer to jumps-start your machine learning pipelines. +++++++ Last updated : 10/21/2021++++# Example pipelines & datasets for Azure Machine Learning designer ++Use the built-in examples in Azure Machine Learning designer to quickly get started building your own machine learning pipelines. The Azure Machine Learning designer [GitHub repository](https://github.com/Azure/MachineLearningDesigner) contains detailed documentation to help you understand some common machine learning scenarios. ++## Prerequisites ++* An Azure subscription. If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/) +* An Azure Machine Learning workspace +++## Use sample pipelines ++The designer saves a copy of the sample pipelines to your studio workspace. You can edit the pipeline to adapt it to your needs and save it as your own. Use them as a starting point to jumpstart your projects. ++Here's how to use a designer sample: ++1. Sign in to <a href="https://ml.azure.com?tabs=jre" target="_blank">ml.azure.com</a>, and select the workspace you want to work with. ++1. Select **Designer**. ++1. Select a sample pipeline under the **New pipeline** section. ++ Select **Show more samples** for a complete list of samples. ++1. To run a pipeline, you first have to set default compute target to run the pipeline on. ++ 1. In the **Settings** pane to the right of the canvas, select **Select compute target**. ++ 1. In the dialog that appears, select an existing compute target or create a new one. Select **Save**. ++ 1. Select **Submit** at the top of the canvas to submit a pipeline job. ++ Depending on the sample pipeline and compute settings, jobs may take some time to complete. The default compute settings have a minimum node size of 0, which means that the designer must allocate resources after being idle. Repeated pipeline jobs will take less time since the compute resources are already allocated. Additionally, the designer uses cached results for each component to further improve efficiency. +++1. After the pipeline finishes running, you can review the pipeline and view the output for each component to learn more. Use the following steps to view component outputs: ++ 1. Right-click the component in the canvas whose output you'd like to see. + 1. Select **Visualize**. +++ Use the samples as starting points for some of the most common machine learning scenarios. ++## Regression ++Explore these built-in regression samples. ++| Sample title | Description | +| | | +| [Regression - Automobile Price Prediction (Basic)](https://github.com/Azure/MachineLearningDesigner/blob/master/articles/samples/regression-automobile-price-prediction-basic.md) | Predict car prices using linear regression. | +| [Regression - Automobile Price Prediction (Advanced)](https://github.com/Azure/MachineLearningDesigner/blob/master/articles/samples/regression-automobile-price-prediction-compare-algorithms.md) | Predict car prices using decision forest and boosted decision tree regressors. Compare models to find the best algorithm. ++## Classification ++Explore these built-in classification samples. You can learn more about the samples by opening the samples and viewing the component comments in the designer. ++| Sample title | Description | +| | | +| [Binary Classification with Feature Selection - Income Prediction](https://github.com/Azure/MachineLearningDesigner/blob/master/articles/samples/binary-classification-feature-selection-income-prediction.md) | Predict income as high or low, using a two-class boosted decision tree. Use Pearson correlation to select features. +| [Binary Classification with custom Python script - Credit Risk Prediction](https://github.com/Azure/MachineLearningDesigner/blob/master/articles/samples/binary-classification-python-credit-prediction.md) | Classify credit applications as high or low risk. Use the Execute Python Script component to weight your data. +| [Binary Classification - Customer Relationship Prediction](https://github.com/Azure/MachineLearningDesigner/blob/master/articles/samples/binary-classification-customer-relationship-prediction.md) | Predict customer churn using two-class boosted decision trees. Use SMOTE to sample biased data. +| [Text Classification - Wikipedia SP 500 Dataset](https://github.com/Azure/MachineLearningDesigner/blob/master/articles/samples/text-classification-wiki.md) | Classify company types from Wikipedia articles with multiclass logistic regression. | +| Multiclass Classification - Letter Recognition | Create an ensemble of binary classifiers to classify written letters. | ++## Computer vision ++Explore these built-in computer vision samples. You can learn more about the samples by opening the samples and viewing the component comments in the designer. ++| Sample title | Description | +| | | +| Image Classification using DenseNet | Use computer vision components to build image classification model based on PyTorch DenseNet.| ++## Recommender ++Explore these built-in recommender samples. You can learn more about the samples by opening the samples and viewing the component comments in the designer. ++| Sample title | Description | +| | | +| Wide & Deep based Recommendation - Restaurant Rating Prediction | Build a restaurant recommender engine from restaurant/user features and ratings.| +| Recommendation - Movie Rating Tweets | Build a movie recommender engine from movie/user features and ratings.| ++## Utility ++Learn more about the samples that demonstrate machine learning utilities and features. You can learn more about the samples by opening the samples and viewing the component comments in the designer. ++| Sample title | Description | +| | | +| Binary Classification using Vowpal Wabbit Model - Adult Income Prediction | Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning. This sample shows how to use Vowpal Wabbit model to build binary classification model. +| [Use custom R script - Flight Delay Prediction](https://github.com/Azure/MachineLearningDesigner/blob/master/articles/samples/r-script-flight-delay-prediction.md) | Use customized R script to predict if a scheduled passenger flight will be delayed by more than 15 minutes. +| Cross Validation for Binary Classification - Adult Income Prediction | Use cross validation to build a binary classifier for adult income. +| Permutation Feature Importance | Use permutation feature importance to compute importance scores for the test dataset. +| Tune Parameters for Binary Classification - Adult Income Prediction | Use Tune Model Hyperparameters to find optimal hyperparameters to build a binary classifier. | ++## Datasets ++When you create a new pipeline in Azure Machine Learning designer, a number of sample datasets are included by default. These sample datasets are used by the sample pipelines in the designer homepage. ++The sample datasets are available under **Datasets**-**Samples** category. You can find this in the component palette to the left of the canvas in the designer. You can use any of these datasets in your own pipeline by dragging it to the canvas. ++| Dataset name | Dataset description | +|-|:--| +| Adult Census Income Binary Classification dataset | A subset of the 1994 Census database, using working adults over the age of 16 with an adjusted income index of > 100.<br/>**Usage**: Classify people using demographics to predict whether a person earns over 50K a year.<br/> **Related Research**: Kohavi, R., Becker, B., (1996). [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml). Irvine, CA: University of California, School of Information and Computer Science| +|Automobile price data (Raw)|Information about automobiles by make and model, including the price, features such as the number of cylinders and MPG, as well as an insurance risk score.<br/> The risk score is initially associated with auto price. It is then adjusted for actual risk in a process known to actuaries as symboling. A value of +3 indicates that the auto is risky, and a value of -3 that it is probably safe.<br/>**Usage**: Predict the risk score by features, using regression or multivariate classification.<br/>**Related Research**: Schlimmer, J.C. (1987). [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml). Irvine, CA: University of California, School of Information and Computer Science. | +| CRM Appetency Labels Shared |Labels from the KDD Cup 2009 customer relationship prediction challenge ([orange_small_train_appetency.labels](https://kdd.org/cupfiles/KDDCupData/2009/orange_small_train_appetency.labels)).| +|CRM Churn Labels Shared|Labels from the KDD Cup 2009 customer relationship prediction challenge ([orange_small_train_churn.labels](https://www.kdd.org/kdd-cup/view/kdd-cup-2009/Datas)).| +|CRM Dataset Shared | This data comes from the KDD Cup 2009 customer relationship prediction challenge ([orange_small_train.data.zip](https://kdd.org/cupfiles/KDDCupData/2009/orange_small_train.data.zip)). <br/>The dataset contains 50K customers from the French Telecom company Orange. Each customer has 230 anonymized features, 190 of which are numeric and 40 are categorical. The features are very sparse. | +|CRM Upselling Labels Shared|Labels from the KDD Cup 2009 customer relationship prediction challenge ([orange_large_train_upselling.labels](https://kdd.org/cupfiles/KDDCupData/2009/orange_small_train_upselling.labels)| +|Flight Delays Data|Passenger flight on-time performance data taken from the TranStats data collection of the U.S. Department of Transportation ([On-Time](https://www.transtats.bts.gov/DL_SelectFields.asp?Table_ID=236&DB_Short_Name=On-Time)).<br/>The dataset covers the time period April-October 2013. Before uploading to the designer, the dataset was processed as follows: <br/>- The dataset was filtered to cover only the 70 busiest airports in the continental US <br/>- Canceled flights were labeled as delayed by more than 15 minutes <br/>- Diverted flights were filtered out <br/>- The following columns were selected: Year, Month, DayofMonth, DayOfWeek, Carrier, OriginAirportID, DestAirportID, CRSDepTime, DepDelay, DepDel15, CRSArrTime, ArrDelay, ArrDel15, Canceled| +|German Credit Card UCI dataset|The UCI Statlog (German Credit Card) dataset ([Statlog+German+Credit+Data](https://archive.ics.uci.edu/ml/datasets/Statlog+(German+Credit+Data))), using the german.data file.<br/>The dataset classifies people, described by a set of attributes, as low or high credit risks. Each example represents a person. There are 20 features, both numerical and categorical, and a binary label (the credit risk value). High credit risk entries have label = 2, low credit risk entries have label = 1. The cost of misclassifying a low risk example as high is 1, whereas the cost of misclassifying a high risk example as low is 5.| +|IMDB Movie Titles|The dataset contains information about movies that were rated in Twitter tweets: IMDB movie ID, movie name, genre, and production year. There are 17K movies in the dataset. The dataset was introduced in the paper "S. Dooms, T. De Pessemier and L. Martens. MovieTweetings: a Movie Rating Dataset Collected From Twitter. Workshop on Crowdsourcing and Human Computation for Recommender Systems, CrowdRec at RecSys 2013."| +|Movie Ratings|The dataset is an extended version of the Movie Tweetings dataset. The dataset has 170K ratings for movies, extracted from well-structured tweets on Twitter. Each instance represents a tweet and is a tuple: user ID, IMDB movie ID, rating, timestamp, number of favorites for this tweet, and number of retweets of this tweet. The dataset was made available by A. Said, S. Dooms, B. Loni and D. Tikk for Recommender Systems Challenge 2014.| +|Weather Dataset|Hourly land-based weather observations from NOAA ([merged data from 201304 to 201310](https://az754797.vo.msecnd.net/data/WeatherDataset.csv)).<br/>The weather data covers observations made from airport weather stations, covering the time period April-October 2013. Before uploading to the designer, the dataset was processed as follows: <br/> - Weather station IDs were mapped to corresponding airport IDs <br/> - Weather stations not associated with the 70 busiest airports were filtered out <br/> - The Date column was split into separate Year, Month, and Day columns <br/> - The following columns were selected: AirportID, Year, Month, Day, Time, TimeZone, SkyCondition, Visibility, WeatherType, DryBulbFarenheit, DryBulbCelsius, WetBulbFarenheit, WetBulbCelsius, DewPointFarenheit, DewPointCelsius, RelativeHumidity, WindSpeed, WindDirection, ValueForWindCharacter, StationPressure, PressureTendency, PressureChange, SeaLevelPressure, RecordType, HourlyPrecip, Altimeter| +|Wikipedia SP 500 Dataset|Data is derived from Wikipedia (https://www.wikipedia.org/) based on articles of each S&P 500 company, stored as XML data. <br/>Before uploading to the designer, the dataset was processed as follows: <br/> - Extract text content for each specific company <br/> - Remove wiki formatting <br/> - Remove non-alphanumeric characters <br/> - Convert all text to lowercase <br/> - Known company categories were added <br/>Note that for some companies an article could not be found, so the number of records is less than 500.| +|Restaurant Feature Data| A set of metadata about restaurants and their features, such as food type, dining style, and location. <br/>**Usage**: Use this dataset, in combination with the other two restaurant datasets, to train and test a recommender system.<br/> **Related Research**: Bache, K. and Lichman, M. (2013). [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml). Irvine, CA: University of California, School of Information and Computer Science.| +|Restaurant Ratings| Contains ratings given by users to restaurants on a scale from 0 to 2.<br/>**Usage**: Use this dataset, in combination with the other two restaurant datasets, to train and test a recommender system. <br/>**Related Research**: Bache, K. and Lichman, M. (2013). [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml). Irvine, CA: University of California, School of Information and Computer Science.| +|Restaurant Customer Data| A set of metadata about customers, including demographics and preferences. <br/>**Usage**: Use this dataset, in combination with the other two restaurant datasets, to train and test a recommender system. <br/> **Related Research**: Bache, K. and Lichman, M. (2013). [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml) Irvine, CA: University of California, School of Information and Computer Science.| ++## Clean up resources +++## Next steps ++Learn the fundamentals of predictive analytics and machine learning with [Tutorial: Predict automobile price with the designer](tutorial-designer-automobile-price-train-score.md) + |
machine-learning | Tutorial Designer Automobile Price Deploy | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/tutorial-designer-automobile-price-deploy.md | + + Title: 'Tutorial: Designer - deploy no-code models' ++description: Deploy a machine learning model to predict car prices with the Azure Machine Learning designer. +++++++ Last updated : 05/10/2022++++# Tutorial: Designer - deploy a machine learning model ++Use the designer to deploy a machine learning model to predict the price of cars. This tutorial is part two of a two-part series. ++>[!Note] +> Designer supports two types of components, classic prebuilt components (v1) and custom components (v2). These two types of components are NOT compatible. +> +>Classic prebuilt components provide prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. +> +>Custom components allow you to wrap your own code as a component. It supports sharing components across workspaces and seamless authoring across Studio, CLI v2, and SDK v2 interfaces. +> +>For new projects, we highly suggest you use custom component, which is compatible with AzureML V2 and will keep receiving new updates. +> +>This article applies to classic prebuilt components and not compatible with CLI v2 and SDK v2. ++In [part one of the tutorial](tutorial-designer-automobile-price-train-score.md) you trained a linear regression model on car prices. In part two, you deploy the model to give others a chance to use it. In this tutorial, you: ++> [!div class="checklist"] +> * Create a real-time inference pipeline. +> * Create an inferencing cluster. +> * Deploy the real-time endpoint. +> * Test the real-time endpoint. ++## Prerequisites ++Complete [part one of the tutorial](tutorial-designer-automobile-price-train-score.md) to learn how to train and score a machine learning model in the designer. +++## Create a real-time inference pipeline ++To deploy your pipeline, you must first convert the training pipeline into a real-time inference pipeline. This process removes training components and adds web service inputs and outputs to handle requests. ++> [!NOTE] +> Create inference pipeline only supports training pipelines which contain only the designer built-in components and must have a component like **Train Model** which outputs the trained model. ++### Create a real-time inference pipeline ++1. On pipeline job detail page, above the pipeline canvas, select **Create inference pipeline** > **Real-time inference pipeline**. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/create-real-time-inference.png" alt-text="Screenshot of create inference pipeline in pipeline job detail page."::: ++ Your new pipeline will now look like this: ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/real-time-inference-pipeline.png" alt-text="Screenshot showing the expected configuration of the pipeline after preparing it for deployment."::: ++ When you select **Create inference pipeline**, several things happen: + + * The trained model is stored as a **Dataset** component in the component palette. You can find it under **My Datasets**. + * Training components like **Train Model** and **Split Data** are removed. + * The saved trained model is added back into the pipeline. + * **Web Service Input** and **Web Service Output** components are added. These components show where user data enters the pipeline and where data is returned. ++ > [!NOTE] + > By default, the **Web Service Input** will expect the same data schema as the component output data which connects to the same downstream port as it. In this sample, **Web Service Input** and **Automobile price data (Raw)** connect to the same downstream component, hence **Web Service Input** expect the same data schema as **Automobile price data (Raw)** and target variable column `price` is included in the schema. + > However, usually When you score the data, you won't know the target variable values. For such case, you can remove the target variable column in the inference pipeline using **Select Columns in Dataset** component. Make sure that the output of **Select Columns in Dataset** removing target variable column is connected to the same port as the output of the **Web Service Input** component. ++1. Select **Submit**, and use the same compute target and experiment that you used in part one. ++ If this is the first job, it may take up to 20 minutes for your pipeline to finish running. The default compute settings have a minimum node size of 0, which means that the designer must allocate resources after being idle. Repeated pipeline jobs will take less time since the compute resources are already allocated. Additionally, the designer uses cached results for each component to further improve efficiency. ++1. Go to the real-time inference pipeline job detail by selecting **Job detail** link in the left pane. ++1. Select **Deploy** in the job detail page. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/deploy-in-job-detail-page.png" alt-text="Screenshot showing deploying in job detail page."::: ++## Create an inferencing cluster ++In the dialog box that appears, you can select from any existing Azure Kubernetes Service (AKS) clusters to deploy your model to. If you don't have an AKS cluster, use the following steps to create one. ++1. Select **Compute** in the dialog box that appears to go to the **Compute** page. ++1. On the navigation ribbon, select **Inference Clusters** > **+ New**. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/new-inference-cluster.png" alt-text="Screenshot showing how to get to the new inference cluster pane."::: + +1. In the inference cluster pane, configure a new Kubernetes Service. ++1. Enter *aks-compute* for the **Compute name**. + +1. Select a nearby region that's available for the **Region**. ++1. Select **Create**. ++ > [!NOTE] + > It takes approximately 15 minutes to create a new AKS service. You can check the provisioning state on the **Inference Clusters** page. ++## Deploy the real-time endpoint ++After your AKS service has finished provisioning, return to the real-time inferencing pipeline to complete deployment. ++1. Select **Deploy** above the canvas. ++1. Select **Deploy new real-time endpoint**. ++1. Select the AKS cluster you created. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/setup-endpoint.png" alt-text="Screenshot showing how to set up a new real-time endpoint."::: ++ You can also change **Advanced** setting for your real-time endpoint. ++ |Advanced setting|Description| + ||| + |Enable Application Insights diagnostics and data collection| Whether to enable Azure Application Insights to collect data from the deployed endpoints. </br> By default: false. | + |Scoring timeout| A timeout in milliseconds to enforce for scoring calls to the web service.</br>By default: 60000.| + |Auto scale enabled| Whether to enable autoscaling for the web service.</br>By default: true.| + |Min replicas| The minimum number of containers to use when autoscaling this web service.</br>By default: 1.| + |Max replicas| The maximum number of containers to use when autoscaling this web service.</br> By default: 10.| + |Target utilization|The target utilization (in percent out of 100) that the autoscaler should attempt to maintain for this web service.</br> By default: 70.| + |Refresh period|How often (in seconds) the autoscaler attempts to scale this web service.</br> By default: 1.| + |CPU reserve capacity|The number of CPU cores to allocate for this web service.</br> By default: 0.1.| + |Memory reserve capacity|The amount of memory (in GB) to allocate for this web service.</br> By default: 0.5.| ++1. Select **Deploy**. ++ A success notification from the notification center appears after deployment finishes. It might take a few minutes. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/deploy-notification.png" alt-text="Screenshot showing deployment notification."::: ++> [!TIP] +> You can also deploy to **Azure Container Instance** (ACI) if you select **Azure Container Instance** for **Compute type** in the real-time endpoint setting box. +> Azure Container Instance is used for testing or development. Use ACI for low-scale CPU-based workloads that require less than 48 GB of RAM. ++## Test the real-time endpoint ++After deployment finishes, you can view your real-time endpoint by going to the **Endpoints** page. ++1. On the **Endpoints** page, select the endpoint you deployed. ++ In the **Details** tab, you can see more information such as the REST URI, Swagger definition, status, and tags. ++ In the **Consume** tab, you can find sample consumption code, security keys, and set authentication methods. ++ In the **Deployment logs** tab, you can find the detailed deployment logs of your real-time endpoint. ++1. To test your endpoint, go to the **Test** tab. From here, you can enter test data and select **Test** verify the output of your endpoint. ++## Update the real-time endpoint ++You can update the online endpoint with new model trained in the designer. On the online endpoint detail page, find your previous training pipeline job and inference pipeline job. ++1. You can directly find and modify your training pipeline draft in the designer homepage. + + Or you can open the training pipeline job link and then clone it into a new pipeline draft to continue editing. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/endpoint-train-job-link.png" alt-text="Screenshot showing training job link in endpoint detail page."::: ++1. After you submit the modified training pipeline, go to the job detail page. ++1. When the job completes, right click **Train Model** and select **Register data**. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/register-train-model-as-dataset.png" alt-text="Screenshot showing register trained model as dataset."::: ++ Input name and select **File** type. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/register-train-model-as-dataset-2.png" alt-text="Screenshot of register as a data asset with new data asset selected."::: ++1. After the dataset registers successfully, open your inference pipeline draft, or clone the previous inference pipeline job into a new draft. In the inference pipeline draft, replace the previous trained model shown as **MD-XXXX** node connected to the **Score Model** component with the newly registered dataset. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/modify-inference-pipeline.png" alt-text="Screenshot showing how to modify inference pipeline."::: +++1. If you need to update the data preprocessing part in your training pipeline, and would like to update that into the inference pipeline, the processing is similar as steps above. ++ You just need to register the transformation output of the transformation component as dataset. ++ Then manually replace the **TD-** component in inference pipeline with the registered dataset. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/replace-td-module.png" alt-text="Screenshot showing how to replace transformation component."::: ++1. After modifying your inference pipeline with the newly trained model or transformation, submit it. When the job is completed, deploy it to the existing online endpoint deployed previously. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/deploy-to-existing-endpoint.png" alt-text="Screenshot showing how to replace existing real-time endpoint."::: ++## Limitations ++* Due to datastore access limitation, if your inference pipeline contains **Import Data** or **Export Data** component, they'll be auto-removed when deploy to real-time endpoint. ++* If you have datasets in the real-time inference pipeline and want to deploy it to real-time endpoint, currently this flow only supports datasets registered from **Blob** datastore. If you want to use datasets from other type datastores, you can use Select Column to connect with your initial dataset with settings of selecting all columns, register the outputs of Select Column as File dataset and then replace the initial dataset in the real-time inference pipeline with this newly registered dataset. ++* If your inference graph contains "Enter Data Manually" component which is not connected to the same port as ΓÇ£Web service InputΓÇ¥ component, the "Enter Data Manually" component will not be executed during HTTP call processing. A workaround is to register the outputs of that "Enter Data Manually" component as dataset, then in the inference pipeline draft, replace the "Enter Data Manually" component with the registered dataset. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-deploy/real-time-inferencepipeline-limitation.png" alt-text="Screenshot showing how to modify inference pipeline containing enter data manually component."::: ++## Clean up resources +++## Next steps ++In this tutorial, you learned the key steps in how to create, deploy, and consume a machine learning model in the designer. To learn more about how you can use the designer see the following links: +++ [Designer samples](samples-designer.md): Learn how to use the designer to solve other types of problems.++ [Use Azure Machine Learning studio in an Azure virtual network](../how-to-enable-studio-virtual-network.md). |
machine-learning | Tutorial Designer Automobile Price Train Score | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/machine-learning/v1/tutorial-designer-automobile-price-train-score.md | + + Title: 'Tutorial: Designer - train a no-code regression model' ++description: Train a regression model that predicts car prices using the Azure Machine Learning designer. +++++++ Last updated : 05/10/2022++++# Tutorial: Designer - train a no-code regression model ++Train a linear regression model that predicts car prices using the Azure Machine Learning designer. This tutorial is part one of a two-part series. ++This tutorial uses the Azure Machine Learning designer, for more information, see [What is Azure Machine Learning designer?](concept-designer.md) ++>[!Note] +> Designer supports two types of components, classic prebuilt components (v1) and custom components (v2). These two types of components are NOT compatible. +> +>Classic prebuilt components provide prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. +> +>Custom components allow you to wrap your own code as a component. It supports sharing components across workspaces and seamless authoring across Studio, CLI v2, and SDK v2 interfaces. +> +>For new projects, we highly suggest you use custom component, which is compatible with AzureML V2 and will keep receiving new updates. +> +>This article applies to classic prebuilt components and not compatible with CLI v2 and SDK v2. ++In part one of the tutorial, you learn how to: ++> [!div class="checklist"] +> * Create a new pipeline. +> * Import data. +> * Prepare data. +> * Train a machine learning model. +> * Evaluate a machine learning model. ++In [part two](tutorial-designer-automobile-price-deploy.md) of the tutorial, you deploy your model as a real-time inferencing endpoint to predict the price of any car based on technical specifications you send it. ++> [!NOTE] +>A completed version of this tutorial is available as a sample pipeline. +> +>To find it, go to the designer in your workspace. In the **New pipeline** section, select **Sample 1 - Regression: Automobile Price Prediction(Basic)**. +++## Create a new pipeline ++Azure Machine Learning pipelines organize multiple machine learning and data processing steps into a single resource. Pipelines let you organize, manage, and reuse complex machine learning workflows across projects and users. ++To create an Azure Machine Learning pipeline, you need an Azure Machine Learning workspace. In this section, you learn how to create both these resources. ++### Create a new workspace ++You need an Azure Machine Learning workspace to use the designer. The workspace is the top-level resource for Azure Machine Learning, it provides a centralized place to work with all the artifacts you create in Azure Machine Learning. For instruction on creating a workspace, see [Create workspace resources](../quickstart-create-resources.md). ++> [!NOTE] +> If your workspace uses a Virtual network, there are additional configuration steps you must use to use the designer. For more information, see [Use Azure Machine Learning studio in an Azure virtual network](../how-to-enable-studio-virtual-network.md) ++### Create the pipeline ++>[!Note] +> Designer supports two type of components, classic prebuilt components and custom components. These two types of components are not compatible. +> +>Classic prebuilt components provides prebuilt components majorly for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added. +> +> +>Custom components allow you to provide your own code as a component. It supports sharing across workspaces and seamless authoring across Studio, CLI, and SDK interfaces. +> +>This article applies to classic prebuilt components. ++1. Sign in to <a href="https://ml.azure.com?tabs=jre" target="_blank">ml.azure.com</a>, and select the workspace you want to work with. ++1. Select **Designer** -> **Classic prebuilt** ++ :::image type="content" source="./media/tutorial-designer-automobile-price-train-score/launch-designer.png" alt-text="Screenshot of the visual workspace showing how to access the designer."::: ++1. Select **Create a new pipeline using classic prebuilt components**. ++1. Click the pencil icon beside the automatically generated pipeline draft name, rename it to *Automobile price prediction*. The name doesn't need to be unique. ++ +++## Set the default compute target ++A pipeline jobs on a compute target, which is a compute resource that's attached to your workspace. After you create a compute target, you can reuse it for future jobs. ++> [!Important] +> Attached compute is not supported, use [compute instances or clusters](../concept-compute-target.md#azure-machine-learning-compute-managed) instead. ++You can set a **Default compute target** for the entire pipeline, which will tell every component to use the same compute target by default. However, you can specify compute targets on a per-module basis. ++1. Select **Settings** to the right of the canvas to open the **Settings** pane. + +1. Select **Create Azure Machine Learning compute instance**. ++ * If you already have an available compute target, you can select it from the **Select Azure Machine Learning compute instance** drop-down to run this pipeline. ++ * Or, select "Serverless" to use [serverless compute (preview)](../how-to-use-serverless-compute.md). ++1. Enter a name for the compute resource. ++1. Select **Create**. ++ > [!NOTE] + > It takes approximately five minutes to create a compute resource. After the resource is created, you can reuse it and skip this wait time for future jobs. + > + > The compute resource autoscales to zero nodes when it's idle to save cost. When you use it again after a delay, you might experience approximately five minutes of wait time while it scales back up. ++## Import data ++There are several sample datasets included in the designer for you to experiment with. For this tutorial, use **Automobile price data (Raw)**. ++1. To the left of the pipeline canvas is a palette of datasets and components. Select **Component** -> **Sample data**. ++1. Select the dataset **Automobile price data (Raw)**, and drag it onto the canvas. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-train-score/automobile-data.png" alt-text="Gif of dragging the Automobile price data to the canvas."::: +++### Visualize the data ++You can visualize the data to understand the dataset that you'll use. ++1. Right-click the **Automobile price data (Raw)** and select **Preview Data**. ++1. Select the different columns in the data window to view information about each one. ++ Each row represents an automobile, and the variables associated with each automobile appear as columns. There are 205 rows and 26 columns in this dataset. ++## Prepare data ++Datasets typically require some preprocessing before analysis. You might have noticed some missing values when you inspected the dataset. These missing values must be cleaned so that the model can analyze the data correctly. ++### Remove a column ++When you train a model, you have to do something about the data that's missing. In this dataset, the **normalized-losses** column is missing many values, so you'll exclude that column from the model altogether. ++1. In the datasets and component palette to the left of the canvas, click **Component** and search for the **Select Columns in Dataset** component. ++1. Drag the **Select Columns in Dataset** component onto the canvas. Drop the component below the dataset component. ++1. Connect the **Automobile price data (Raw)** dataset to the **Select Columns in Dataset** component. Drag from the dataset's output port, which is the small circle at the bottom of the dataset on the canvas, to the input port of **Select Columns in Dataset**, which is the small circle at the top of the component. ++ > [!TIP] + > You create a flow of data through your pipeline when you connect the output port of one component to an input port of another. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-train-score/connect-modules.gif" alt-text="Screenshot of connecting Automobile price data component to select columns in dataset component."::: ++1. Select the **Select Columns in Dataset** component. ++1. Click on the arrow icon under Settings to the right of the canvas to open the component details pane. Alternatively, you can double-click the **Select Columns in Dataset** component to open the details pane. ++1. Select **Edit column** to the right of the pane. ++1. Expand the **Column names** drop down next to **Include**, and select **All columns**. ++1. Select the **+** to add a new rule. ++1. From the drop-down menus, select **Exclude** and **Column names**. ++1. Enter *normalized-losses* in the text box. ++1. In the lower right, select **Save** to close the column selector. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-train-score/exclude-column.png" alt-text="Screenshot of select columns with exclude highlighted."::: ++1. In the **Select Columns in Dataset** component details pane, expand **Node info**. ++1. Select the **Comment** text box and enter *Exclude normalized losses*. ++ Comments will appear on the graph to help you organize your pipeline. ++### Clean missing data ++Your dataset still has missing values after you remove the **normalized-losses** column. You can remove the remaining missing data by using the **Clean Missing Data** component. ++> [!TIP] +> Cleaning the missing values from input data is a prerequisite for using most of the components in the designer. ++1. In the datasets and component palette to the left of the canvas, click **Component** and search for the **Clean Missing Data** component. ++1. Drag the **Clean Missing Data** component to the pipeline canvas. Connect it to the **Select Columns in Dataset** component. ++1. Select the **Clean Missing Data** component. ++1. Click on the arrow icon under Settings to the right of the canvas to open the component details pane. Alternatively, you can double-click the **Clean Missing Data** component to open the details pane. ++1. Select **Edit column** to the right of the pane. ++1. In the **Columns to be cleaned** window that appears, expand the drop-down menu next to **Include**. Select, **All columns** ++1. Select **Save** ++1. In the **Clean Missing Data** component details pane, under **Cleaning mode**, select **Remove entire row**. ++1. In the **Clean Missing Data** component details pane, expand **Node info**. ++1. Select the **Comment** text box and enter *Remove missing value rows*. ++ Your pipeline should now look something like this: ++ :::image type="content" source="./media/tutorial-designer-automobile-price-train-score/pipeline-clean.png" alt-text="Screenshot of automobile price data connected to select columns in dataset component, which is connected to clean missing data."::: ++## Train a machine learning model ++Now that you have the components in place to process the data, you can set up the training components. ++Because you want to predict price, which is a number, you can use a regression algorithm. For this example, you use a linear regression model. ++### Split the data ++Splitting data is a common task in machine learning. You'll split your data into two separate datasets. One dataset will train the model and the other will test how well the model performed. ++1. In the datasets and component palette to the left of the canvas, click **Component** and search for the **Split Data** component. ++1. Drag the **Split Data** component to the pipeline canvas. ++1. Connect the left port of the **Clean Missing Data** component to the **Split Data** component. ++ > [!IMPORTANT] + > Make sure that the left output port of **Clean Missing Data** connects to **Split Data**. The left port contains the cleaned data. The right port contains the discarded data. ++1. Select the **Split Data** component. ++1. Click on the arrow icon under Settings to the right of the canvas to open the component details pane. Alternatively, you can double-click the **Split Data** component to open the details pane. ++1. In the **Split Data** details pane, set the **Fraction of rows in the first output dataset** to 0.7. ++ This option splits 70 percent of the data to train the model and 30 percent for testing it. The 70 percent dataset will be accessible through the left output port. The remaining data will be available through the right output port. ++1. In the **Split Data** details pane, expand **Node info**. ++1. Select the **Comment** text box and enter *Split the dataset into training set (0.7) and test set (0.3)*. ++### Train the model ++Train the model by giving it a dataset that includes the price. The algorithm constructs a model that explains the relationship between the features and the price as presented by the training data. ++1. In the datasets and component palette to the left of the canvas, click **Component** and search for the **Linear Regression** component. ++1. Drag the **Linear Regression** component to the pipeline canvas. ++1. In the datasets and component palette to the left of the canvas, click **Component** and search for the **Train Model** component. ++1. Drag the **Train Model** component to the pipeline canvas. ++1. Connect the output of the **Linear Regression** component to the left input of the **Train Model** component. ++1. Connect the training data output (left port) of the **Split Data** component to the right input of the **Train Model** component. ++ > [!IMPORTANT] + > Make sure that the left output port of **Split Data** connects to **Train Model**. The left port contains the training set. The right port contains the test set. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-train-score/pipeline-train-model.png" alt-text="Screenshot showing the Linear Regression connects to left port of Train Model and the Split Data connects to right port of Train Model."::: ++1. Select the **Train Model** component. ++1. Click on the arrow icon under Settings to the right of the canvas to open the component details pane. Alternatively, you can double-click the **Train Model** component to open the details pane. ++1. Select **Edit column** to the right of the pane. ++1. In the **Label column** window that appears, expand the drop-down menu and select **Column names**. ++1. In the text box, enter *price* to specify the value that your model is going to predict. ++ >[!IMPORTANT] + > Make sure you enter the column name exactly. Do not capitalize **price**. ++ Your pipeline should look like this: ++ :::image type="content" source="./media/tutorial-designer-automobile-price-train-score/pipeline-train-graph.png" alt-text="Screenshot showing the correct configuration of the pipeline after adding the Train Model component."::: ++### Add the Score Model component ++After you train your model by using 70 percent of the data, you can use it to score the other 30 percent to see how well your model functions. ++1. In the datasets and component palette to the left of the canvas, click **Component** and search for the **Score Model** component. ++1. Drag the **Score Model** component to the pipeline canvas. ++1. Connect the output of the **Train Model** component to the left input port of **Score Model**. Connect the test data output (right port) of the **Split Data** component to the right input port of **Score Model**. ++### Add the Evaluate Model component ++Use the **Evaluate Model** component to evaluate how well your model scored the test dataset. ++1. In the datasets and component palette to the left of the canvas, click **Component** and search for the **Evaluate Model** component. ++1. Drag the **Evaluate Model** component to the pipeline canvas. ++1. Connect the output of the **Score Model** component to the left input of **Evaluate Model**. ++ The final pipeline should look something like this: ++ :::image type="content" source="./media/tutorial-designer-automobile-price-train-score/pipeline-final-graph.png" alt-text="Screenshot showing the correct configuration of the pipeline."::: ++## Submit the pipeline ++Now that your pipeline is all setup, you can submit a pipeline job to train your machine learning model. You can submit a valid pipeline job at any point, which can be used to review changes to your pipeline during development. ++1. At the top of the canvas, select **Submit**. ++1. In the **Set up pipeline job** dialog box, select **Create new**. ++ > [!NOTE] + > Experiments group similar pipeline jobs together. If you run a pipeline multiple times, you can select the same experiment for successive jobs. ++ 1. For **New experiment Name**, enter **Tutorial-CarPrices**. ++ 1. Select **Submit**. ++ 1. You'll see a submission list in the left pane of the canvas, and a notification will pop up at the top right corner of the page. You can select the **Job detail** link to go to job detail page for debugging. ++ :::image type="content" source="./media/how-to-run-batch-predictions-designer/submission-list.png" alt-text="Screenshot of the submitted jobs list with a success notification."::: ++ If this is the first job, it may take up to 20 minutes for your pipeline to finish running. The default compute settings have a minimum node size of 0, which means that the designer must allocate resources after being idle. Repeated pipeline jobs will take less time since the compute resources are already allocated. Additionally, the designer uses cached results for each component to further improve efficiency. ++### View scored labels ++In the job detail page, you can check the pipeline job status, results and logs. +++After the job completes, you can view the results of the pipeline job. First, look at the predictions generated by the regression model. ++1. Right-click the **Score Model** component, and select **Preview data** > **Scored dataset** to view its output. ++ Here you can see the predicted prices and the actual prices from the testing data. ++ :::image type="content" source="./media/tutorial-designer-automobile-price-train-score/score-result.png" alt-text="Screenshot of the output visualization highlighting the Scored Label column."::: ++### Evaluate models ++Use the **Evaluate Model** to see how well the trained model performed on the test dataset. ++1. Right-click the **Evaluate Model** component and select **Preview data** > **Evaluation results** to view its output. ++The following statistics are shown for your model: ++* **Mean Absolute Error (MAE)**: The average of absolute errors. An error is the difference between the predicted value and the actual value. +* **Root Mean Squared Error (RMSE)**: The square root of the average of squared errors of predictions made on the test dataset. +* **Relative Absolute Error**: The average of absolute errors relative to the absolute difference between actual values and the average of all actual values. +* **Relative Squared Error**: The average of squared errors relative to the squared difference between the actual values and the average of all actual values. +* **Coefficient of Determination**: Also known as the R squared value, this statistical metric indicates how well a model fits the data. ++For each of the error statistics, smaller is better. A smaller value indicates that the predictions are closer to the actual values. For the coefficient of determination, the closer its value is to one (1.0), the better the predictions. ++## Clean up resources ++Skip this section if you want to continue on with part 2 of the tutorial, [deploying models](tutorial-designer-automobile-price-deploy.md). +++## Next steps ++In part two, you'll learn how to deploy your model as a real-time endpoint. ++> [!div class="nextstepaction"] +> [Continue to deploying models](tutorial-designer-automobile-price-deploy.md) |
mysql | Concepts Version Policy | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/mysql/concepts-version-policy.md | Azure Database for MySQL automatically performs minor version upgrades to the Az The table below provides the retirement details for MySQL major versions. The dates follow the [MySQL versioning policy](https://www.mysql.com/support/eol-notice.html). -| Version | What's New | Azure support start date | Retirement date | -| | | | | -| [MySQL 5.7](https://dev.mysql.com/doc/relnotes/mysql/5.7/en/) | [Features](https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-31.html) | March 20, 2018 | October 2023 -| [MySQL 8](https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/) | [Features](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-21.html)) | December 11, 2019 | April 2026 +| Version | What's New | Azure support start date | Azure support end date | Community Retirement date +| | | | | | +| [MySQL 5.7](https://dev.mysql.com/doc/relnotes/mysql/5.7/en/) | [Features](https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-31.html) | March 20, 2018 |September 2025 |October 2023| +| [MySQL 8](https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/) | [Features](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-21.html)) | December 11, 2019 | NA |April 2026| ++## What will happen to Azure Database for MySQL service after MySQL community version is retired in October 2023? ++In line with Oracle's announcement regarding the end-of-life (EOL) of [MySQL Community Version v5.7 in __October 2023__](https://www.oracle.com/us/support/library/lsp-tech-chart-069290.pdf) (Page 23), we at Azure are actively preparing for this important transition. This development specifically impacts customers who are currently utilizing Version 5.7 of Azure Database for MySQL - Single Server and Flexible Server. ++In response to the customer's requests, Microsoft has decided to prolong the support for Azure Database for MySQL beyond __October 2023__. During the extended support period, which will last until __September 2025__, Microsoft prioritizes the availability, reliability, and security of the service. While there are no specific guarantees regarding minor version upgrades, we implement essential modifications to ensure that the service remains accessible, dependable, and protected. Our plan includes: ++- Extended support for v5.7 on Azure Database for MySQL- Flexible Servers until __September 2025__, offering ample time for customers to plan and execute their upgrades to MySQL v8.0. ++- Extended support for v5.7 on Azure Database for MySQL- Single Servers until they're retired on __September 2024__. This extended support provides Azure Database for MySQL -Single Server customers ample time to migrate to Azure Database for MySQL - Flexible Server version 5.7 and then later upgrade to 8.0. ++Before we end our support of Azure Database for MySQL 5.7, there are several important timelines that you should pay attention. ++__Azure MySQL 5.7 Deprecation Timelines__ ++|Timelines| Azure MySQL 5.7 Flexible end at |Azure MySQL 5.7 Single end at| +|||| +|Creation of new servers using the Azure portal.| Jan 2024| Already ended as part of [Single Server deprecation](single-server/whats-happening-to-mysql-single-server.md)| +|Creation of new servers using the Command Line Interface (CLI). | April 2024| September 2024| +|Creation of replica servers for existing servers. | September 2025| September 2024| +|Creation of servers using restore workflow for the existing servers| September 2025|September 2024| +|Creation of new servers for migrating from Azure Database for MySQL - Single Server to Azure Database for MySQL - Flexible Server.| NA| September 2024| +|Creation of new servers for migrating from Azure Database for MariaDB to Azure Database for MySQL - Flexible Server.| September 2025| NA| +|Extended support for Azure Database for MySQL v5.7| September 2025| September 2024| ++To summarize, creating Azure Database for MySQL v5.7 - Flexible Server will conclude in __April 2024__. However, it's important to note that certain scenarios such as replica creation, point in time recovery, and migration from Azure Database for MySQL - Single Server or Azure Database for MariaDB to Azure Database for MySQL - Flexible Server, will allow you to create MySQL version 5.7 until the end of the extended support period. ++### FAQs ++__Q: What is the process for upgrading Azure database for MySQL - Flexible server from version v5.7 to v8.0?__ ++A: Starting May 2023, Azure Database for MySQL - Flexible Server enables you to carry out an in-place upgrade from MySQL v5.7 to v8.0 utilizing the Major Version Upgrade (MVU) feature. For more detailed information, please consult the [Major version upgrade](flexible-server/how-to-upgrade.md) document. ++__Q: I'm currently using Azure database for MySQL - Single Sever version 5.7, how should I plan my upgrade?__ ++A: Azure Database for MySQL - Single Server does not offer built-in support for major version upgrade from v5.7 to v8.0. As Azure Database for MySQL - Single Server is on deprecation path, there are no investments planned to support major version upgrade from v5.7 to v8.0. The recommended path to upgrade from v5.7 of Azure Database for MySQL - Single Server to v8.0 is to first [migrate your v5.7 Azure Database for MySQL - Single Server to v5.7 of Azure Database for MySQL - Flexible Server](single-server/whats-happening-to-mysql-single-server.md#migrate-from-single-server-to-flexible-server). Once the migration is completed and server is stabilized on Flexible Server, you can proceed with performing a [major version upgrade](flexible-server/how-to-upgrade.md) on the migrated Azure Database for MySQL - Flexible Server from v5.7 to v8.0. The extended support for v5.7 on Flexible Server will allow you to run on v5.7 longer and plan your upgrade to v8.0 on Flexible Server at a later point in time after migration from Single Server. ++__Q: Are there any expected downtime or performance impacts during the upgrade process?__ ++A: Yes, it's expected that there will be some downtime during the upgrade process. The specific duration varies depending on factors such as the size and complexity of the database. We advise conducting a test upgrade on a nonproduction environment to assess the expected downtime and evaluate the potential performance impact. If you wish to minimize downtime for your applications during the upgrade, you can explore the option of [perform minimal downtime major version upgrade from MySQL 5.7 to MySQL 8.0 using read replica](flexible-server/how-to-upgrade.md#perform-minimal-downtime-major-version-upgrade-from-mysql-57-to-mysql-80-using-read-replicas). +++__Q: Can I roll back to MySQL v5.7 after upgrading to v8.0?__ ++A: While it's generally not recommended to downgrade from MySQL v8.0 to v5.7, as the latter is nearing its End of Life status, we acknowledge that there may be specific scenarios where this flexibility becomes necessary. To ensure a smooth upgrade process and alleviate any potential concerns, it's strongly advised adhering to best practices by performing a comprehensive [on-demand backup](flexible-server/how-to-trigger-on-demand-backup.md) before proceeding with the upgrade to MySQL v8.0. This backup serves as a precautionary measure, allowing you to [restore your database](flexible-server/how-to-restore-server-portal.md) to its previous version on to another new Azure Database for MySQL -Flexible server in the event of any unexpected issues or complications with MySQL v8.0. ++__Q: What are the main advantages of upgrading to MySQL v8.0?__ ++A: MySQL v8.0 comes with a host of improvements, including more efficient data dictionary, enhanced security, and other features like common table expressions and window functions. Details please refer to [MySQL 8.0 release notes](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-32.html) ++__Q: Are there any compatibility issues to be aware of when upgrading to MySQL v8.0?__ ++A: Some compatibility issues may arise due to changes in MySQL v8.0. It's important to test your applications with MySQL v8.0 before upgrading the production database. Check [MySQL's official documentation](https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html) for a detailed list of compatibility issues. ++__Q: What support is available if I encounter issues during the upgrade process?__ ++A: If you have questions, get answers from community experts in [Microsoft Q&A](https://aka.ms/microsoft-azure-mysql-qa). If you have a support plan and you need technical help, create a [support request](https://portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade/newsupportrequest). You can also reach out to the Azure Database for MySQL product team at mailto:AskAzureDBforMySQL@service.microsoft.com. ++__Q: What will happen to my data during the upgrade?__ ++A: While your data will remain unaffected during the upgrade process, it's highly advisable to create a backup of your data before proceeding with the upgrade. This precautionary measure will help mitigate the risk of potential data loss in the event of unforeseen complications. ++__Q: What will happen to the server 5.7 post Sep 2025__ ++A: You refer to our [retired MySQL version support policy](concepts-version-policy.md#retired-mysql-engine-versions-not-supported-in-azure-database-for-mysql) to learn what will happen after Azure Database for MySQL 5.7 end of support ++__Q: I have a Azure Database for MariaDB or Azure database for MySQL -Single server, how can I create the server in 5.7 post April 2024 for migrating to Azure database for MySQL - flexible server?__ ++A: If there's MariaDB\Single server in your subscription, this subscription is still permitted to create Azure Database for MySQL ΓÇô Flexible Server v5.7 for the purpose of migration to Azure Database for MySQL ΓÇô Flexible Server + ## Retired MySQL engine versions not supported in Azure Database for MySQL |
mysql | Concepts Service Tiers Storage | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/mysql/flexible-server/concepts-service-tiers-storage.md | To choose a compute tier, use the following table as a starting point. | General Purpose | Most business workloads that require balanced compute and memory with scalable I/O throughput. Examples include servers for hosting web and mobile apps and other enterprise applications.| | Business Critical | High-performance database workloads that require in-memory performance for faster transaction processing and higher concurrency. Examples include servers for processing real-time data and high-performance transactional or analytical apps.| -After you create a server, the compute tier, compute size, and storage size can be changed. Compute scaling requires a restart and takes between 60-120 seconds, while storage scaling does not require restart. You also can independently adjust the backup retention period up or down. For more information, see the [Scale resources](#scale-resources) section. +After you create a server, the compute tier, compute size, and storage size can be changed. Compute scaling requires a restart and takes between 60-120 seconds, while storage scaling doesn't require restart. You also can independently adjust the backup retention period up or down. For more information, see the [Scale resources](#scale-resources) section. ## Service tiers, size, and server types Compute resources can be selected based on the tier and size. This determines th The detailed specifications of the available server types are as follows: -| Compute size | vCores | Memory Size (GiB) | Max Supported IOPS | Max Connections -|-|--|-| | +| Compute size | vCores | Memory Size (GiB) | Max Supported IOPS | Max Connections | Temp Storage (SSD) GiB | +|-|--|-| || | |**Burstable** -|Standard_B1s | 1 | 1 | 320 | 171 -|Standard_B1ms | 1 | 2 | 640 | 341 -|Standard_B2s | 2 | 4 | 1280 | 683 -|Standard_B2ms | 2 | 8 | 1700 | 1365 -|Standard_B4ms | 4 | 16 | 2400 | 2731 -|Standard_B8ms | 8 | 32 | 3100 | 5461 -|Standard_B12ms | 12 | 48 | 3800 | 8193 -|Standard_B16ms | 16 | 64 | 4300 | 10923 -|Standard_B20ms | 20 | 80 | 5000 | 13653 +|Standard_B1s | 1 | 1 | 320 | 171 | 4 | +|Standard_B1ms | 1 | 2 | 640 | 341 | 4 | +|Standard_B2s | 2 | 4 | 1280 | 683 | 4 | +|Standard_B2ms | 2 | 8 | 1700 | 1365 | 16 | +|Standard_B4ms | 4 | 16 | 2400 | 2731 | 32 | +|Standard_B8ms | 8 | 32 | 3100 | 5461 | 64 | +|Standard_B12ms | 12 | 48 | 3800 | 8193 | 96 | +|Standard_B16ms | 16 | 64 | 4300 | 10923 | 128 | +|Standard_B20ms | 20 | 80 | 5000 | 13653 | 160 | |**General Purpose**| -|Standard_D2ads_v5 |2 |8 |3200 |1365 -|Standard_D2ds_v4 |2 |8 |3200 |1365 -|Standard_D4ads_v5 |4 |16 |6400 |2731 -|Standard_D4ds_v4 |4 |16 |6400 |2731 -|Standard_D8ads_v5 |8 |32 |12800 |5461 -|Standard_D8ds_v4 |8 |32 |12800 |5461 -|Standard_D16ads_v5 |16 |64 |20000 |10923 -|Standard_D16ds_v4 |16 |64 |20000 |10923 -|Standard_D32ads_v5 |32 |128 |20000 |21845 -|Standard_D32ds_v4 |32 |128 |20000 |21845 -|Standard_D48ads_v5 |48 |192 |20000 |32768 -|Standard_D48ds_v4 |48 |192 |20000 |32768 -|Standard_D64ads_v5 |64 |256 |20000 |43691 -|Standard_D64ds_v4 |64 |256 |20000 |43691 +|Standard_D2ads_v5 |2 |8 |3200 |1365 | 75 | +|Standard_D2ds_v4 |2 |8 |3200 |1365 | 75 | +|Standard_D4ads_v5 |4 |16 |6400 |2731 | 150 | +|Standard_D4ds_v4 |4 |16 |6400 |2731 | 150 | +|Standard_D8ads_v5 |8 |32 |12800 |5461 | 300 | +|Standard_D8ds_v4 |8 |32 |12800 |5461 | 300 | +|Standard_D16ads_v5 |16 |64 |20000 |10923 | 600 | +|Standard_D16ds_v4 |16 |64 |20000 |10923 | 600 | +|Standard_D32ads_v5 |32 |128 |20000 |21845 | 1200 | +|Standard_D32ds_v4 |32 |128 |20000 |21845 | 1200 | +|Standard_D48ads_v5 |48 |192 |20000 |32768 | 1800 | +|Standard_D48ds_v4 |48 |192 |20000 |32768 | 1800 | +|Standard_D64ads_v5 |64 |256 |20000 |43691 | 2400 | +|Standard_D64ds_v4 |64 |256 |20000 |43691 | 2400 | |**Business Critical** | -|Standard_E2ds_v4 | 2 | 16 | 5000 | 2731 -|Standard_E2ads_v5 | 2 | 16 | 5000 | 2731 -|Standard_E4ds_v4 | 4 | 32 | 10000 | 5461 -|Standard_E4ads_v5 | 4 | 32 | 10000 | 5461 -|Standard_E8ds_v4 | 8 | 64 | 18000 | 10923 -|Standard_E8ads_v5 | 8 | 64 | 18000 | 10923 -|Standard_E16ds_v4 | 16 | 128 | 28000 | 21845 -|Standard_E16ads_v5 | 16 | 128 | 28000 | 21845 -|Standard_E32ds_v4 | 32 | 256 | 38000 | 43691 -|Standard_E32ads_v5 | 32 | 256 | 38000 | 43691 -|Standard_E48ds_v4 | 48 | 384 | 48000 | 65536 -|Standard_E48ads_v5 | 48 | 384 | 48000 | 65536 -|Standard_E64ds_v4 | 64 | 504 | 48000 | 86016 -|Standard_E64ads_v5 | 64 | 504 | 48000 | 86016 -|Standard_E80ids_v4 | 80 | 504 | 48000 | 86016 -|Standard_E2ds_v5 | 2 | 16 | 5000 | 2731 -|Standard_E4ds_v5 | 4 | 32 | 10000 | 5461 -|Standard_E8ds_v5 | 8 | 64 | 18000 | 10923 -|Standard_E16ds_v5 | 16 | 128 | 28000 | 21845 -|Standard_E32ds_v5 | 32 | 256 | 38000 | 43691 -|Standard_E48ds_v5 | 48 | 384 | 48000 | 65536 -|Standard_E64ds_v5 | 64 | 512 | 48000 | 87383 -|Standard_E96ds_v5 | 96 | 672 | 48000 | 100000 +|Standard_E2ds_v4 | 2 | 16 | 5000 | 2731 | 75 | +|Standard_E2ads_v5 | 2 | 16 | 5000 | 2731 | 75 | +|Standard_E4ds_v4 | 4 | 32 | 10000 | 5461 | 150 | +|Standard_E4ads_v5 | 4 | 32 | 10000 | 5461 | 150 | +|Standard_E8ds_v4 | 8 | 64 | 18000 | 10923 | 300 | +|Standard_E8ads_v5 | 8 | 64 | 18000 | 10923 | 300 | +|Standard_E16ds_v4 | 16 | 128 | 28000 | 21845 | 600 | +|Standard_E16ads_v5 | 16 | 128 | 28000 | 21845 | 600 | +|Standard_E32ds_v4 | 32 | 256 | 38000 | 43691 | 1200 | +|Standard_E32ads_v5 | 32 | 256 | 38000 | 43691 | 1200 | +|Standard_E48ds_v4 | 48 | 384 | 48000 | 65536 | 1800 | +|Standard_E48ads_v5 | 48 | 384 | 48000 | 65536 | 1800 | +|Standard_E64ds_v4 | 64 | 504 | 48000 | 86016 | 2400 | +|Standard_E64ads_v5 | 64 | 504 | 48000 | 86016 | 2400 | +|Standard_E80ids_v4 | 80 | 504 | 48000 | 86016 | 2400 | +|Standard_E2ds_v5 | 2 | 16 | 5000 | 2731 | 75 | +|Standard_E4ds_v5 | 4 | 32 | 10000 | 5461 | 150 | +|Standard_E8ds_v5 | 8 | 64 | 18000 | 10923 | 300 | +|Standard_E16ds_v5 | 16 | 128 | 28000 | 21845 | 600 | +|Standard_E32ds_v5 | 32 | 256 | 38000 | 43691 | 1200 | +|Standard_E48ds_v5 | 48 | 384 | 48000 | 65536 | 1800 | +|Standard_E64ds_v5 | 64 | 512 | 48000 | 87383 | 2400 | +|Standard_E96ds_v5 | 96 | 672 | 48000 | 100000 | 3600 | To get more details about the compute series available, refer to Azure VM documentation for [Burstable (B-series)](../../virtual-machines/sizes-b-series-burstable.md), General Purpose [Dadsv5-series](../../virtual-machines/dasv5-dadsv5-series.md#dadsv5-series)[Ddsv4-series](../../virtual-machines/ddv4-ddsv4-series.md#ddsv4-series), and Business Critical [Edsv4](../../virtual-machines/edv4-edsv4-series.md#edsv4-series)/[Edsv5-series](../../virtual-machines/edv5-edsv5-series.md#edsv5-series)/[Eadsv5-series](../../virtual-machines/easv5-eadsv5-series.md#eadsv5-series) Remember that storage once auto-scaled up, cannot be scaled down. Azure Database for MySQL ΓÇô Flexible Server supports the provisioning of additional IOPS. This feature enables you to provision additional IOPS above the complimentary IOPS limit. Using this feature, you can increase or decrease the number of IOPS provisioned based on your workload requirements at any time. -The minimum IOPS is 360 across all compute sizes and the maximum IOPS is determined by the selected compute size. To learn more about the maximum IOPS per compute size refer to the [table](#service-tiers-size-and-server-types). +The minimum IOPS are 360 across all compute sizes and the maximum IOPS is determined by the selected compute size. To learn more about the maximum IOPS per compute size refer to the [table](#service-tiers-size-and-server-types). -The maximum IOPS is dependent on the maximum available IOPS per compute size. Refer to the column *Max uncached disk throughput: IOPS/MBps* in the [B-series](../../virtual-machines/sizes-b-series-burstable.md), [Ddsv4-series](../../virtual-machines/ddv4-ddsv4-series.md), and [Edsv4-series](../../virtual-machines/edv4-edsv4-series.md)/ [Edsv5-series](../../virtual-machines/edv5-edsv5-series.md)] documentation. +The maximum IOPS are dependent on the maximum available IOPS per compute size. Refer to the column *Max uncached disk throughput: IOPS/MBps* in the [B-series](../../virtual-machines/sizes-b-series-burstable.md), [Ddsv4-series](../../virtual-machines/ddv4-ddsv4-series.md), and [Edsv4-series](../../virtual-machines/edv4-edsv4-series.md)/ [Edsv5-series](../../virtual-machines/edv5-edsv5-series.md)] documentation. > [!Important] > **Complimentary IOPS** are equal to MINIMUM("Max uncached disk throughput: IOPS/MBps" of compute size, 300 + storage provisioned in GiB * 3)<br>-> **Minimum IOPS** is 360 across all compute sizes<br> -> **Maximum IOPS** is determined by the selected compute size. +> **Minimum IOPS are 360 across all compute sizes<br> +> **Maximum IOPS are determined by the selected compute size. You can monitor your I/O consumption in the Azure portal (with Azure Monitor) using [IO percent](./concepts-monitoring.md) metric. If you need more IOPS than the max IOPS based on compute then you need to scale your server's compute. ## Autoscale IOPS-The cornerstone of the Azure Database for MySQL - Flexible Server is its ability to achieve the best performance for tier 1 workloads, which can be improved by enabling server automatically scale performance (IO) of its database servers seamlessly depending on the workload needs. This is an opt-in feature which enable users to scale IOPS on demand without having to pre-provision a certain amount of IO per second. With the Autoscale IOPS featured enable, you can now enjoy worry free IO management in Azure Database for MySQL - Flexible Server because the server scales IOPs up or down automatically depending on workload needs.ΓÇ» +The cornerstone of the Azure Database for MySQL - Flexible Server is its ability to achieve the best performance for tier 1 workloads, which can be improved by enabling server automatically scale performance (IO) of its database servers seamlessly depending on the workload needs. This is an opt-in feature that enables users to scale IOPS on demand without having to pre-provision a certain amount of IO per second. With the Autoscale IOPS featured enable, you can now enjoy worry free IO management in Azure Database for MySQL - Flexible Server because the server scales IOPs up or down automatically depending on workload needs.ΓÇ» With Autoscale IOPS, you pay only for the IO the server use and no longer need to provision and pay for resources they arenΓÇÖt fully using, saving both time and money. In addition, mission-critical Tier-1 applications can achieve consistent performance by making additional IO available to the workload at any time. Autoscale IOPS eliminates the administration required to provide the best performance at the least cost for Azure Database for MySQL customers. After you create your server, you can independently change the compute tier, com When you change the compute tier or compute size, the server is restarted for the new server type to take effect. During the moment when the system switches over to the new server, no new connections can be established, and all uncommitted transactions are rolled back. This window varies, but in most cases, is between 60-120 seconds. -Scaling storage and changing the backup retention period are online operations and do not require a server restart. +Scaling storage and changing the backup retention period are online operations and don't require a server restart. ## Pricing If you would like to optimize server cost, you can consider following tips: - Scale down your compute tier or compute size (vCores) if compute is underutilized. - Consider switching to the Burstable compute tier if your workload doesn't need the full compute capacity continuously from the General Purpose and Business Critical tiers. - Stop the server when not in use.-- Reduce the backup retention period if a longer retention of backup is not required.+- Reduce the backup retention period if a longer retention of backup isn't required. ## Next steps |
sentinel | Entities Reference | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/entities-reference.md | Title: Microsoft Sentinel entity types reference | Microsoft Docs description: This article displays the Microsoft Sentinel entity types and their required identifiers. - Previously updated : 07/06/2022 + Last updated : 05/29/2023 -The following table shows the **entity types** currently available for mapping in Microsoft Sentinel, and the **attributes** available as **identifiers** for each entity type - which appear in the **Identifiers** drop-down list in the [entity mapping](map-data-fields-to-entities.md) section of the [analytics rule wizard](detect-threats-custom.md). +The following table shows the **entity types** currently available for mapping in Microsoft Sentinel, and the **attributes** available as **identifiers** for each entity type. These attributes appear in the **Identifiers** drop-down list in the [entity mapping](map-data-fields-to-entities.md) section of the [analytics rule wizard](detect-threats-custom.md). -Each one of the identifiers in the **required identifiers** column is minimally necessary to identify its entity. However, a required identifier might not, by itself, be sufficient to provide *unique* identification. The more identifiers used, the greater the likelihood of unique identification. You can use up to three identifiers for a single entity mapping. +Each one of the identifiers in the **required identifiers** column is necessary to identify its entity. However, a required identifier might not, by itself, be sufficient to provide *unique* identification. The more identifiers used, the greater the likelihood of unique identification. You can use up to three identifiers for a single entity mapping. -For best results - for guaranteed unique identification - you should use identifiers from the **strongest identifiers** column whenever possible. The use of multiple strong identifiers enables correlation between strong identifiers from varying data sources and schemas. This in turn allows Microsoft Sentinel to provide more comprehensive insights for a given entity. +For best results—for guaranteed unique identification—you should use identifiers from the **strongest identifiers** column whenever possible. The use of multiple strong identifiers enables correlation between strong identifiers from varying data sources and schemas. This correlation in turn allows Microsoft Sentinel to provide more comprehensive insights for a given entity. | Entity type | Identifiers | Required identifiers | Strongest identifiers | | - | - | - | - | For best results - for guaranteed unique identification - you should use identif ## Entity type schemas -The following is a more in-depth look at the full schemas of each entity type. You'll notice that many of these schemas include links to other entity types - for example, the User account schema includes a link to the Host entity type, as one attribute of a user account is the host it's defined on. These externally linked entities can't be used as identifiers for entity mapping, but they are very useful in giving a complete picture of entities on entity pages and the investigation graph. +The following section contains a more in-depth look at the full schemas of each entity type. You'll notice that many of these schemas include links to other entity types—for example, the User account schema includes a link to the Host entity type, since one attribute of a user account is the host it's defined on. These externally linked entities can't be used as identifiers for the purpose of entity mapping, but they are very useful in giving a complete picture of entities on entity pages and the investigation graph. > [!NOTE] > A question mark following the value in the **Type** column indicates the field is nullable. Weak identifiers of an account entity: - Name +> [!NOTE] +> If the **Account** entity is defined using the **Name** identifier, and the Name value of a particular entity is one of the following generic, commonly built-in account names, then that entity will be dropped from its alert. +> - ADMIN +> - ADMINISTRATOR +> - SYSTEM +> - ROOT +> - ANONYMOUS +> - AUTHENTICATED USER +> - NETWORK +> - NULL +> - LOCAL SYSTEM +> - LOCALSYSTEM +> - NETWORK SERVICE + ## Host | Field | Type | Description | Strong identifiers of an IP entity: | Type | String | ΓÇÿmalwareΓÇÖ | | Name | String | The malware name by the vendor, such as `Win32/Toga!rfn`. | | Category | String | The malware category by the vendor, e.g. Trojan. |-| Files | List\<Entity> | List of linked file entities on which the malware was found. Can contain the File entities inline or as reference.<br>See the File entity for additional details on structure. | -| Processes | List\<Entity> | List of linked process entities on which the malware was found. This would often be used when the alert triggered on fileless activity.<br>See the [Process](#process) entity for additional details on structure. | +| Files | List\<Entity> | List of linked file entities on which the malware was found. Can contain the File entities inline or as reference.<br>See the [File](#file) entity for more details on structure. | +| Processes | List\<Entity> | List of linked process entities on which the malware was found. This would often be used when the alert triggered on fileless activity.<br>See the [Process](#process) entity for more details on structure. | Strong identifiers of a malware entity: Strong identifiers of a file entity: | CommandLine | String | The command line used to create the process. | | ElevationToken | Enum? | The elevation token associated with the process.<br>Possible values:<li>TokenElevationTypeDefault<li>TokenElevationTypeFull<li>TokenElevationTypeLimited | | CreationTimeUtc | DateTime? | The time when the process started to run. |-| ImageFile | Entity (File) | Can contain the File entity inline or as reference.<br>See the File entity for additional details on structure. | -| Account | Entity | The account running the processes.<br>Can contain the [Account](#user-account) entity inline or as reference.<br>See the [Account](#user-account) entity for additional details on structure. | +| ImageFile | Entity (File) | Can contain the File entity inline or as reference.<br>See the [File](#file) entity for more details on structure. | +| Account | Entity | The account running the processes.<br>Can contain the Account entity inline or as reference.<br>See the [Account](#user-account) entity for more details on structure. | | ParentProcess | Entity (Process) | The parent process entity. <br>Can contain partial data, i.e. only the PID. | | Host | Entity | The host on which the process was running. | | LogonSession | Entity (HostLogonSession) | The session in which the process was running. | |
storage | Blob Inventory | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/storage/blobs/blob-inventory.md | Each inventory run for a rule generates the following files: - **Inventory file:** An inventory run for a rule generates one or more CSV or Apache Parquet formatted files. If the matched object count is large, then multiple files are generated instead of a single file. Each such file contains matched objects and their metadata. > [!NOTE]- > Reports in the Apache Parquet format present dates in the following format: `timestamp_millis [number of milliseconds since 1970-01-01 00:00:00 UTC`. + > Reports in the Apache Parquet format present dates in the following format: `timestamp_millis [number of milliseconds since 1970-01-01 00:00:00 UTC`]. For a CSV formatted file, the first row is always the schema row. The following image shows an inventory CSV file opened in Microsoft Excel. |
stream-analytics | Cicd Deploy With Bicep | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/stream-analytics/cicd-deploy-with-bicep.md | + + Title: Deploy Azure Stream Analytics jobs using Bicep files +description: This article shows you how to generate and deploy Azure Stream Analytics jobs using Bicep files. +++ Last updated : 05/24/2023++++# Deploy Stream Analytics jobs with Bicep files ++The Azure Stream Analytics (ASA) CI/CD npm package allows you to build, test, and deploy your Stream Analytics projects in your CI/CD pipeline using Bicep files. This article walks you through how to generate bicep files and deploy your ASA jobs. ++Follow this [guide](quick-create-visual-studio-code.md) to create a new Stream Analytics project using Visual Studio Code or export an existing one from the Azure portal. ++## Installation +```powershell +npm install -g azure-streamanalytics-cicd +``` ++## Build project with Bicep +```powershell +# Generate Bicep template +azure-streamanalytics-cicd build --v2 --project <projectFullPath> [--outputPath <outputPath>] --type Bicep ++# Example: +azure-streamanalytics-cicd build --v2 --project ./asaproj.json --outputPath ./Deploy --type Bicep +``` ++The **build** command does a keyword syntax check and generates Bicep files. If the project is built successfully, you see two files created under the output folder: +* **Bicep template file**: [ProjectName].JobTemplate.bicep +* **Bicep parameter file**: [ProjectName].JobTemplate.bicep.parameters.json ++The default values for **parameters.json** file come from your project settings. If you want to deploy to another environment, replace the values accordingly. ++The default values for all credentials are null. You're required to set the values before you deploy to Azure. ++## Deploy to Azure ++```powershell +az login ++az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ++az deployment group create --name demodeployment --resource-group {resource-group-name} --template-file .\DeployV2\{project-name}.JobTemplate.bicep --parameters .\DeployV2\{project-name}.JobTemplate.bicep.parameters.json +``` ++## Next steps ++* [Azure Stream Analytics CI/CD tool](cicd-overview.md) +* [Automate builds, tests, and deployments of an Azure Stream Analytics job](cicd-tools.md) +* [Set up CI/CD pipeline for Stream Analytics job using Azure Pipelines](set-up-cicd-pipeline.md) + |
stream-analytics | Cicd Overview | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/stream-analytics/cicd-overview.md | Title: Continuous integration and deployment for Azure Stream Analytics -description: This article gives an overview of a continuous integration and deployment (CI/CD) pipeline for Azure Stream Analytics. + Title: Continuous integration and continuous deployment of Azure Stream Analytics jobs +description: This article gives an overview of setting up a continuous integration and deployment (CI/CD) pipeline for Azure Stream Analytics jobs. Previously updated : 12/27/2022 Last updated : 05/24/2023 -# Continuous integration and deployment (CI/CD) for Azure Stream Analytics +# Continuous integration and continuous deployment (CI/CD) of Stream Analytics jobs -You can build and deploy your Azure Stream Analytics (ASA) job continuously using a source control integration. Source control integration creates a workflow in which updating code would trigger a resource deployment to Azure. This article outlines the basic steps for creating a continuous integration and continuous delivery (CI/CD) pipeline. --If you're new to Azure Stream Analytics, get started with the [Azure Stream Analytics quickstart](stream-analytics-quick-create-portal.md). +You can build, test and deploy your Azure Stream Analytics (ASA) job using a source control integration. Source control integration creates a workflow in which updating code would trigger a resource deployment to Azure. This article outlines the basic steps for creating a continuous integration and continuous delivery (CI/CD) pipeline. ## Create a CI/CD pipeline Follow the steps to create a CI/CD pipeline for your Stream Analytics project: -1. Create a Stream Analytics project using VSCode. - - You can either create a new project or export an existing job to your computer using the ASA Tools extension for Visual Studio Code. Check out these two docs for more information: - * [Quickstart: Create a Stream Analytics job using VSCode](./quick-create-visual-studio-code.md) - * [Export an existing job](visual-studio-code-explore-jobs.md#export-a-job-to-a-local-project) +1. Create a Stream Analytics project using VS Code. You can either create a new project or export an existing job to your local machine using the ASA Tools extension for Visual Studio Code. + * [Quickstart: Create a Stream Analytics job using VS Code](./quick-create-visual-studio-code.md) + * [Export an existing job](visual-studio-code-explore-jobs.md) 2. Commit your Stream Analytics project to your source control system, like a Git repository. |
stream-analytics | Visual Studio Code Explore Jobs | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/stream-analytics/visual-studio-code-explore-jobs.md | Title: Explore Azure Stream Analytics jobs in Visual Studio Code -description: This article shows you how to export an Azure Stream Analytics job to a local project, list jobs and view job entities. + Title: Export and manage Azure Stream Analytics jobs in Visual Studio Code +description: This article shows you how to export and manage an Azure Stream Analytics job with the Azure Stream Analytics extension for Visual Studio Code. Previously updated : 12/27/2022 Last updated : 05/24/2023 -# Explore Azure Stream Analytics with Visual Studio Code +# Export and manage Stream Analytics jobs in Visual Studio Code -The Azure Stream Analytics extension for Visual Studio Code gives you a seamless experience for managing Stream Analytics jobs in the cloud. It can be used on Windows, Mac and Linux. With the Azure Stream Analytics extension, you can: +The Azure Stream Analytics (ASA) extension for Visual Studio Code gives you a seamless experience for managing Stream Analytics jobs in the cloud. It can be used across Windows, Mac and Linux platforms. With the ASA extension, it allows you to: -- [Create](quick-create-visual-studio-code.md), start, and stop jobs-- Export existing jobs to a local project+- Create, start, and stop a cloud job in Azure +- Export existing jobs to a local machine - List jobs and view job entities-- View job diagram and debug in Job Monitor+- View and debug job using **Job Diagram** and **Monitor** -## Export a job to a local project +## Export job to local machine -To export a job to a local project, locate the job you wish to export in the **Stream Analytics Explorer** in Visual Studio Code. Then select a folder for your project. The project is exported to the folder you select, and you can continue to manage the job from Visual Studio Code. For more information on using Visual Studio Code to manage Stream Analytics jobs, see the Visual Studio Code [quickstart](quick-create-visual-studio-code.md). +1. Open your VS Code and select **Azure** icon on the activity bar. If you haven't installed the ASA extension, follow [this guide](./quick-create-visual-studio-code.md) to install. +2. Select **STREAM ANALYTICS** in the explorer to locate the job you want to export. - + ## List job and view job entities You can use the job view to interact with Azure Stream Analytics jobs from Visual Studio. +1. Select the **Azure** icon on Visual Studio Code Activity Bar and then expand **Stream Analytics node**. Your jobs should appear under your subscriptions. -1. Click the **Azure** icon on Visual Studio Code Activity Bar and then expand **Stream Analytics node**. Your jobs should appear under your subscriptions. --  +  2. Expand your job node, you can open and view the job query, configuration, inputs, outputs and functions. -3. Right click your job node, and choose the **Open Job View in Portal** node to open the job view in the Azure portal. +3. Right-click your job node, and choose the **Open Job View in Portal** node to open the job view in the Azure portal. -  +  ## View job diagram and debug in Job Monitor You can use job monitor in Visual Studio Code to view and troubleshoot your Azur ### View job diagram and job summary 1. Select **Job Monitor**. Your Job Monitor should appear, and job diagram should be loaded automatically.- -  --2. You can view your job diagram and click on **Job Summary** to view properties and information of your job. --  +  -3. You can click on **Test Connection** button to test connection to your input and output. +2. You can view your job diagram and select **Job Summary** to view properties and information of your job. +  -  +3. You can select **Test Connection** button to test connection to your input and output. +  -4. You can also click on **Locate Script** button to view your query. - -  +4. You can also select **Locate Script** button to view your query. +  ### Monitor and debug with Metrics -1. Click on the arrow button, you can open the Metrics panel. --  --2. You can interact with it and analyze your job with key metrics showing in chart. You can choose to view job-level metrics or nodes level metrics. And you can also decide which metrics you want them to show in the chart. +1. Select the arrow button, you can open the Metrics panel. +  -  +2. You can interact with it and analyze your job with key metrics showing in chart. You can choose to view job-level metrics or nodes level metrics. And you can also decide which metrics you want them to show in the chart. +  ### Debug with diagnostic logs and activity logs You can view your jobΓÇÖs diagnostic logs and activity logs for troubleshooting. 1. Select **Diagnostic Logs** tab. -  +  2. Select **Activity Logs** tab -  +  ## Next steps -* [Create an Azure Stream Analytics cloud job in Visual Studio Code](quick-create-visual-studio-code.md) +* [Create an Azure Stream Analytics cloud job using Visual Studio Code extension](quick-create-visual-studio-code.md) |
stream-analytics | Visual Studio Code Local Run Live Input | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/stream-analytics/visual-studio-code-local-run-live-input.md | Title: Test Azure Stream Analytics queries locally against live stream input by using Visual Studio Code -description: How to test queries locally against live stream input by using Azure Stream Analytics Tools for Visual Studio Code. + Title: Testing Azure Stream Analytics query locally against live stream input using Visual Studio Code extension. +description: This article describes how to test query locally against live stream input using the Azure Stream Analytics Tools extension for Visual Studio Code. -- Previously updated : 11/14/2019++ Last updated : 05/24/2023 -# Test Stream Analytics queries locally against live stream input by using Visual Studio Code -You can use Azure Stream Analytics Tools for Visual Studio Code to test your Stream Analytics jobs locally against live stream input. The input can come from a source like Azure Event Hubs or Azure IoT Hub. The output results are sent as JSON files to a folder in your project called **LocalRunOutputs**. +# Testing Stream Analytics query locally against live stream input with Visual Studio Code -For more information, see [Overview of local Stream Analytics runs in Visual Studio Code with ASA Tools](visual-studio-code-local-run-all.md). +Testing your Stream Analytics query locally against live stream input is a crucial step in ensuring the accuracy and efficiency of your query logic. With the Azure Stream Analytics (ASA) extension for Visual Studio Code (VS Code), you have the necessary tools to perform this testing seamlessly. This article guides you through the steps of setting up your environment, configuring the live stream input, and executing your query locally for thorough testing. ## Prerequisites * Install the [.NET Core SDK](https://dotnet.microsoft.com/download) and restart Visual Studio Code.--* Use [this quickstart](quick-create-visual-studio-code.md) to learn how to create a Stream Analytics job by using Visual Studio Code. +* Follow [this quickstart](quick-create-visual-studio-code.md) to install and create a Stream Analytics job using Visual Studio Code. ## Define a live stream input -1. Right-click the **Inputs** folder in your Stream Analytics project. Then select **ASA: Add Input** from the context menu. +1. Right-click the **Inputs** folder in your Stream Analytics project and select **ASA: Add Input**. +  + OR press **Ctrl+Shift+P** to open the command palette and enter **ASA: Add Input**. Then choose the query script for processing the input stream. +  -  +2. Choose a live input source type from the drop-down list, **Select from your Azure Subscriptions** and enter a name for the input source. +  - You can also select **Ctrl+Shift+P** to open the command palette and enter **ASA: Add Input**. +3. You see a new JSON file created under the **Input** folder. Open the file and **Select from your subscriptions** to help you configure your Event Hubs input. +  -  +4. Select **Preview data** to validate if the live input is successfully configured. +  -2. Choose an input source type from the drop-down list. +## Run query locally -  +Open your query file, select **Run locally** or the **Play** button on the menu bar to open a **Local run option** window for configuring local run mode. -3. If you added the input from the command palette, choose the Stream Analytics query script that will use the input. It should be automatically populated with the file path to **myASAproj.asaql**. + -  +Choose **Use Live Input and Local Output** to run job locally against live input stream and produce output results to a local folder. Then select **Run** to start running job locally. -4. Choose **Select from your Azure Subscriptions** from the drop-down menu. + -  +You can see a **Local test** window is opened and refreshed every 3 seconds. The output results are stored as JSON format in **LocalRunOutputs** folder. -5. Configure the newly generated JSON file. You can use the CodeLens feature to help you enter a string, select from a drop-down list, or change the text directly in the file. The following screenshot shows **Select from your Subscriptions** as an example. + -  -## Preview input +## Specify input partitions for local testing -To make sure that the input data is coming, select **Preview data** in your live input configuration file from the top line. Some input data comes from an IoT hub and is shown in the preview window. The preview might take a few seconds to appear. +To avoid ingesting all data from Event Hubs, you can specify specific partitions for your Event Hubs during local testing. -  +1. Select **Run locally** to open the local run option window. +2. Under **Select the input partitions** section and choose **Custom**. +3. Enter the specific partition numbers that you want to ingest data from for your local testing. -## Run queries locally + -Return to your query editor, and select **Run locally**. Then select **Use Live Input** from the drop-down list. +By specifying the partitions, you can focus on testing your query logic without worrying about a large volume of data. This feature allows for more efficient and targeted testing of your Stream Analytics job. - +## Submit job to Azure - +Once you have completed testing your query locally, you can submit your Stream Analytics project to Azure and start running the job in the cloud. +1. Select the **Submit to Azure** option or select the **Upload** button on the query file. +2. In the submit options window, you can **update an existing job in Azure** or **create a new job** for the upload. +3. Provide the necessary details, including your subscription, resource group, and region for the deployment. -The result is shown in the right window and refreshed every 3 seconds. You can select **Run** to test again. You can also select **Open in folder** to see the result files in File Explorer and open them with Visual Studio Code or a tool like Excel. The result files are available only in JSON format. + -The default time for the job to start creating output is set to **Now**. You can customize the time by selecting the **Output start time** button in the result window. +Once the submission process is complete, you can view your cloud job in a new window. From there, you can monitor its performance and manage its configurations as needed. You can also open the job in your browser by clicking on the link provided in the OUTPUT panel. - + ## Next steps -* [Overview of local Stream Analytics runs in Visual Studio Code with ASA Tools](visual-studio-code-local-run-all.md) -* [Test Stream Analytics queries locally with sample data using Visual Studio Code](visual-studio-code-local-run.md) -* [Explore Azure Stream Analytics jobs with Visual Studio Code (preview)](visual-studio-code-explore-jobs.md) -* [Set up CI/CD pipelines and unit testing by using the npm package](./cicd-overview.md) +* [Export and manage Stream Analytics jobs using Visual Studio Code extension](visual-studio-code-explore-jobs.md) +* [Overview of running Stream Analytics jobs locally](visual-studio-code-local-run-all.md) +* [Test Stream Analytics queries locally with sample data](visual-studio-code-local-run.md) +* [Set up CI/CD pipelines using the ASA npm package](./cicd-overview.md) |
virtual-machines | Run Scripts In Vm | https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/windows/run-scripts-in-vm.md | The [Hybrid Runbook Worker](../../automation/automation-hybrid-runbook-worker.md * Full script output is returned and stored. * Job history available for 90 days. * Scripts can run as Local System or with user-supplied credentials.-* Requires [manual installation](../../automation/automation-windows-hrw-install.md) +* Requires [manual installation](../../automation/extension-based-hybrid-runbook-worker-install.md). ++ ## Serial console |