CINXE.COM
AllBlogs.Page | Microsoft Community Hub
<!doctype html> <html lang="en-US"> <head> <base href="https://techcommunity.microsoft.com/Blogs"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <link rel="icon" href="https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/themes/customTheme1/favicon-1730836283320.png?time=1730836286415&image-dimensions=32x32" type="image/png"> <link rel="apple-touch-icon" href="https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/themes/customTheme1/favicon-1730836283320.png?time=1730836286415&image-dimensions=180x180" type="image/png"> <link rel="manifest" href="/manifest.webmanifest/customTheme1/1732227367408"> <style>@font-face { font-family: "Segoe UI"; font-style: normal; font-weight: 400; font-display: swap; src: local("Segoe UI-normal-400"), url("https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/themes/customTheme1/SegoeUI-normal-400.woff2") format('woff2'); } @font-face { font-family: "Segoe UI"; font-style: normal; font-weight: 300; font-display: swap; src: local("Segoe UI-normal-300"), url("https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/themes/customTheme1/SegoeUI-normal-300.woff2") format('woff2'); } @font-face { font-family: "Segoe UI"; font-style: normal; font-weight: 600; font-display: swap; src: local("Segoe UI-normal-600"), url("https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/themes/customTheme1/SegoeUI-normal-600.woff2") format('woff2'); } @font-face { font-family: "Segoe UI"; font-style: normal; font-weight: 700; font-display: swap; src: local("Segoe UI-normal-700"), url("https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/themes/customTheme1/SegoeUI-normal-700.woff2") format('woff2'); } @font-face { font-family: "Segoe UI"; font-style: italic; font-weight: 400; font-display: swap; src: local("Segoe UI-italic-400"), url("https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/themes/customTheme1/SegoeUI-italic-400.woff2") format('woff2'); }</style> <style type="text/css">:root { --lia-vars-loaded: flex;--lia-body-margin: 0;--lia-body-max-width: 100%;--lia-container-max-width: 1300px;--lia-one-column-narrow-width: 800px;--lia-grid-gutter-width-md: 30px;--lia-grid-gutter-width-xs: 10px;--lia-bs-black-h: 0;--lia-bs-black-s: 0%;--lia-bs-black-l: 0%;--lia-bs-black: hsl(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l));--lia-bs-white-h: 0;--lia-bs-white-s: 0%;--lia-bs-white-l: 100%;--lia-bs-white: hsl(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l));--lia-bs-gray-100-h: 0;--lia-bs-gray-100-s: 0%;--lia-bs-gray-100-l: 96.86274509803921%;--lia-bs-gray-100: hsl(var(--lia-bs-gray-100-h), var(--lia-bs-gray-100-s), var(--lia-bs-gray-100-l));--lia-bs-gray-200-h: 0;--lia-bs-gray-200-s: 0%;--lia-bs-gray-200-l: 96.86274509803921%;--lia-bs-gray-200: hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), var(--lia-bs-gray-200-l));--lia-bs-gray-300-h: 0;--lia-bs-gray-300-s: 0%;--lia-bs-gray-300-l: 90.98039215686275%;--lia-bs-gray-300: hsl(var(--lia-bs-gray-300-h), var(--lia-bs-gray-300-s), var(--lia-bs-gray-300-l));--lia-bs-gray-400-h: 0;--lia-bs-gray-400-s: 0%;--lia-bs-gray-400-l: 85.09803921568627%;--lia-bs-gray-400: hsl(var(--lia-bs-gray-400-h), var(--lia-bs-gray-400-s), var(--lia-bs-gray-400-l));--lia-bs-gray-500-h: 0;--lia-bs-gray-500-s: 0%;--lia-bs-gray-500-l: 80%;--lia-bs-gray-500: hsl(var(--lia-bs-gray-500-h), var(--lia-bs-gray-500-s), var(--lia-bs-gray-500-l));--lia-bs-gray-600-h: 0;--lia-bs-gray-600-s: 0%;--lia-bs-gray-600-l: 44.31372549019608%;--lia-bs-gray-600: hsl(var(--lia-bs-gray-600-h), var(--lia-bs-gray-600-s), var(--lia-bs-gray-600-l));--lia-bs-gray-700-h: 0;--lia-bs-gray-700-s: 0%;--lia-bs-gray-700-l: 43.92156862745098%;--lia-bs-gray-700: hsl(var(--lia-bs-gray-700-h), var(--lia-bs-gray-700-s), var(--lia-bs-gray-700-l));--lia-bs-gray-800-h: 0;--lia-bs-gray-800-s: 0%;--lia-bs-gray-800-l: 32.94117647058823%;--lia-bs-gray-800: hsl(var(--lia-bs-gray-800-h), var(--lia-bs-gray-800-s), var(--lia-bs-gray-800-l));--lia-bs-gray-900-h: 0;--lia-bs-gray-900-s: 0%;--lia-bs-gray-900-l: 20%;--lia-bs-gray-900: hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l));--lia-bs-dark-h: 0;--lia-bs-dark-s: 0%;--lia-bs-dark-l: 32.94117647058823%;--lia-bs-dark: hsl(var(--lia-bs-dark-h), var(--lia-bs-dark-s), var(--lia-bs-dark-l));--lia-bs-light-h: 0;--lia-bs-light-s: 0%;--lia-bs-light-l: 96.86274509803921%;--lia-bs-light: hsl(var(--lia-bs-light-h), var(--lia-bs-light-s), var(--lia-bs-light-l));--lia-bs-primary-h: 210.2830188679245;--lia-bs-primary-s: 100%;--lia-bs-primary-l: 41.568627450980394%;--lia-bs-primary: hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l));--lia-bs-secondary-h: 0;--lia-bs-secondary-s: 0%;--lia-bs-secondary-l: 20%;--lia-bs-secondary: hsl(var(--lia-bs-secondary-h), var(--lia-bs-secondary-s), var(--lia-bs-secondary-l));--lia-bs-body-bg-h: 0;--lia-bs-body-bg-s: 0%;--lia-bs-body-bg-l: 100%;--lia-bs-body-bg: hsl(var(--lia-bs-body-bg-h), var(--lia-bs-body-bg-s), var(--lia-bs-body-bg-l));--lia-bs-body-color-h: 0;--lia-bs-body-color-s: 0%;--lia-bs-body-color-l: 20%;--lia-bs-body-color: hsl(var(--lia-bs-body-color-h), var(--lia-bs-body-color-s), var(--lia-bs-body-color-l));--lia-bs-info-h: 206.66666666666674;--lia-bs-info-s: 73.63636363636363%;--lia-bs-info-l: 56.86274509803921%;--lia-bs-info: hsl(var(--lia-bs-info-h), var(--lia-bs-info-s), var(--lia-bs-info-l));--lia-bs-success-h: 169.5454545454545;--lia-bs-success-s: 53.2258064516129%;--lia-bs-success-l: 51.37254901960784%;--lia-bs-success: hsl(var(--lia-bs-success-h), var(--lia-bs-success-s), var(--lia-bs-success-l));--lia-bs-warning-h: 43.04347826086956;--lia-bs-warning-s: 96.8421052631579%;--lia-bs-warning-l: 62.745098039215684%;--lia-bs-warning: hsl(var(--lia-bs-warning-h), var(--lia-bs-warning-s), var(--lia-bs-warning-l));--lia-bs-danger-h: 9.316770186335418;--lia-bs-danger-s: 74.88372093023257%;--lia-bs-danger-l: 42.15686274509804%;--lia-bs-danger: hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), var(--lia-bs-danger-l));--lia-alert-system-color-h: 24;--lia-alert-system-color-s: 100%;--lia-alert-system-color-l: 50%;--lia-alert-system-color: hsl(var(--lia-alert-system-color-h), var(--lia-alert-system-color-s), var(--lia-alert-system-color-l));--lia-bs-text-muted-h: 0;--lia-bs-text-muted-s: 0%;--lia-bs-text-muted-l: 43.92156862745098%;--lia-bs-text-muted: hsl(var(--lia-bs-text-muted-h), var(--lia-bs-text-muted-s), var(--lia-bs-text-muted-l));--lia-highlight-color-h: 57.804878048780495;--lia-highlight-color-s: 100%;--lia-highlight-color-l: 83.92156862745098%;--lia-highlight-color: hsl(var(--lia-highlight-color-h), var(--lia-highlight-color-s), var(--lia-highlight-color-l));--lia-outline-color: var(--lia-bs-primary);--lia-bs-font-size-base: 16px;--lia-bs-font-size-sm: 14px;--lia-font-size-xxs: 11px;--lia-font-size-xs: 12px;--lia-bs-font-size-lg: 20px;--lia-bs-small-font-size: 14px;--lia-font-size-xl: 24px;--lia-bs-font-family-base: Segoe UI, system-ui;--lia-bs-font-weight-base: 400;--lia-bs-font-weight-light: 300;--lia-bs-font-weight-normal: 400;--lia-font-weight-md: 500;--lia-bs-font-weight-bold: 700;--lia-font-style-base: normal;--lia-bs-line-height-base: 1.5;--lia-bs-h1-font-size: 34px;--lia-bs-h2-font-size: 32px;--lia-bs-h3-font-size: 28px;--lia-bs-h4-font-size: 24px;--lia-bs-h5-font-size: 20px;--lia-bs-h6-font-size: 16px;--lia-bs-headings-font-family: Segoe UI, system-ui;--lia-bs-headings-line-height: 1.3;--lia-bs-headings-font-weight: 400;--lia-headings-font-style: normal;--lia-subheader-font-size: 11px;--lia-subheader-font-weight: 500;--lia-bs-headings-color: var(--lia-bs-body-color);--lia-h1-letter-spacing: normal;--lia-h2-letter-spacing: normal;--lia-h3-letter-spacing: normal;--lia-h4-letter-spacing: normal;--lia-h5-letter-spacing: normal;--lia-h6-letter-spacing: normal;--lia-letter-spacing-subheading: 2px;--lia-letter-spacing-sm: normal;--lia-letter-spacing-xs: normal;--lia-h1-font-weight: var(--lia-bs-headings-font-weight);--lia-h2-font-weight: var(--lia-bs-headings-font-weight);--lia-h3-font-weight: var(--lia-bs-headings-font-weight);--lia-h4-font-weight: var(--lia-bs-headings-font-weight);--lia-h5-font-weight: var(--lia-bs-headings-font-weight);--lia-h6-font-weight: var(--lia-bs-headings-font-weight);--lia-btn-font-style: normal;--lia-bs-btn-font-weight: 700;--lia-btn-text-transform: none;--lia-bs-btn-disabled-opacity: 0.5;--lia-bs-btn-border-radius-sm: 3px;--lia-bs-btn-border-radius: 3px;--lia-bs-btn-border-radius-lg: 5px;--lia-bs-btn-padding-x: 12px;--lia-bs-btn-padding-x-lg: 16px;--lia-btn-padding-x-hero: 60px;--lia-bs-btn-padding-y: 5px;--lia-bs-btn-padding-y-lg: 7px;--lia-btn-padding-y-hero: var(--lia-bs-btn-padding-y-lg);--lia-btn-primary-text-color: var(--lia-bs-white);--lia-btn-primary-text-hover-color: var(--lia-bs-white);--lia-btn-primary-text-active-color: var(--lia-bs-white);--lia-btn-primary-bg-color: var(--lia-bs-primary);--lia-btn-primary-bg-hover-color: hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.85));--lia-btn-primary-bg-active-color: hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.7));--lia-btn-primary-border: 1px solid transparent;--lia-btn-primary-border-hover: 1px solid transparent;--lia-btn-primary-border-active: 1px solid transparent;--lia-btn-primary-border-focus: 1px solid var(--lia-bs-white);--lia-btn-primary-box-shadow-focus: 0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2);--lia-btn-secondary-text-color: var(--lia-bs-gray-900);--lia-btn-secondary-text-hover-color: hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.95));--lia-btn-secondary-text-active-color: hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.9));--lia-btn-secondary-bg-color: var(--lia-bs-gray-200);--lia-btn-secondary-bg-hover-color: hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.96));--lia-btn-secondary-bg-active-color: hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.92));--lia-btn-secondary-border: 1px solid transparent;--lia-btn-secondary-border-hover: 1px solid transparent;--lia-btn-secondary-border-active: 1px solid transparent;--lia-btn-secondary-border-focus: 1px solid transparent;--lia-btn-secondary-box-shadow-focus: 0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2);--lia-btn-tertiary-text-color: var(--lia-bs-gray-900);--lia-btn-tertiary-text-hover-color: hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.95));--lia-btn-tertiary-text-active-color: hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.9));--lia-btn-tertiary-bg-color: transparent;--lia-btn-tertiary-bg-hover-color: transparent;--lia-btn-tertiary-bg-active-color: hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.04);--lia-btn-tertiary-border: 1px solid transparent;--lia-btn-tertiary-border-hover: 1px solid hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08);--lia-btn-tertiary-border-active: 1px solid transparent;--lia-btn-tertiary-border-focus: 1px solid transparent;--lia-btn-tertiary-box-shadow-focus: 0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2);--lia-btn-destructive-text-color: var(--lia-bs-danger);--lia-btn-destructive-text-hover-color: hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.95));--lia-btn-destructive-text-active-color: hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.9));--lia-btn-destructive-bg-color: var(--lia-bs-gray-200);--lia-btn-destructive-bg-hover-color: hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.96));--lia-btn-destructive-bg-active-color: hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.92));--lia-btn-destructive-border: 1px solid transparent;--lia-btn-destructive-border-hover: 1px solid transparent;--lia-btn-destructive-border-active: 1px solid transparent;--lia-btn-destructive-border-focus: 1px solid transparent;--lia-btn-destructive-box-shadow-focus: 0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2);--lia-bs-border-color: hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08);--lia-bs-border-radius-sm: 3px;--lia-bs-border-radius: 5px;--lia-bs-border-radius-lg: 9px;--lia-border-radius-50: 100vw;--lia-content-item-border: none;--lia-box-shadow-xs: 0 0 0 1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.08), 0 3px 0 -1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.16);--lia-bs-box-shadow-sm: 0 2px 4px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.12);--lia-bs-box-shadow: 0 5px 15px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.3);--lia-bs-box-shadow-lg: 0 10px 30px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.3);--lia-bs-link-color: var(--lia-bs-primary);--lia-bs-link-hover-color: hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) - 10%));--lia-bs-link-decoration: none;--lia-bs-link-hover-decoration: underline;--lia-timing-fast: 150ms;--lia-timing-normal: 250ms;--lia-timing-slow: 500ms;--lia-timing-slowest: 750ms;--lia-timing-function: cubic-bezier(0.07, 0.91, 0.51, 1);--lia-avatar-border-radius: 50%;--lia-default-message-font-style: NORMAL;--lia-default-message-font-weight: 400;--lia-default-message-link-color: var(--lia-bs-link-color);--lia-default-message-link-decoration: none;--lia-default-message-link-font-weight: 400;--lia-default-message-link-font-style: NORMAL;--lia-forum-color-h: 207.03703703703695;--lia-forum-color-s: 73.63636363636363%;--lia-forum-color-l: 56.86274509803921%;--lia-forum-color: hsl(var(--lia-forum-color-h), var(--lia-forum-color-s), var(--lia-forum-color-l));--lia-forum-font-family: var(--lia-bs-font-family-base);--lia-forum-font-weight: var(--lia-default-message-font-weight);--lia-forum-line-height: var(--lia-bs-line-height-base);--lia-forum-font-style: var(--lia-default-message-font-style);--lia-forum-message-link-color: var(--lia-default-message-link-color);--lia-forum-message-link-decoration: var(--lia-default-message-link-decoration);--lia-forum-message-link-font-style: var(--lia-default-message-link-font-style);--lia-forum-message-link-font-weight: var(--lia-default-message-link-font-weight);--lia-forum-solved-color-h: 161.94690265486724;--lia-forum-solved-color-s: 73.85620915032679%;--lia-forum-solved-color-l: 30.000000000000004%;--lia-forum-solved-color: hsl(var(--lia-forum-solved-color-h), var(--lia-forum-solved-color-s), var(--lia-forum-solved-color-l));--lia-blog-color-h: 170.126582278481;--lia-blog-color-s: 73.83177570093459%;--lia-blog-color-l: 41.96078431372548%;--lia-blog-color: hsl(var(--lia-blog-color-h), var(--lia-blog-color-s), var(--lia-blog-color-l));--lia-blog-font-family: var(--lia-bs-font-family-base);--lia-blog-font-weight: var(--lia-default-message-font-weight);--lia-blog-line-height: 1.75;--lia-blog-font-style: var(--lia-default-message-font-style);--lia-blog-message-link-color: var(--lia-default-message-link-color);--lia-blog-message-link-decoration: var(--lia-default-message-link-decoration);--lia-blog-message-link-font-style: var(--lia-default-message-link-font-style);--lia-blog-message-link-font-weight: var(--lia-default-message-link-font-weight);--lia-tkb-color-h: 212.6470588235294;--lia-tkb-color-s: 30.909090909090907%;--lia-tkb-color-l: 43.13725490196079%;--lia-tkb-color: hsl(var(--lia-tkb-color-h), var(--lia-tkb-color-s), var(--lia-tkb-color-l));--lia-tkb-font-family: var(--lia-bs-font-family-base);--lia-tkb-font-weight: var(--lia-default-message-font-weight);--lia-tkb-line-height: 1.75;--lia-tkb-font-style: var(--lia-default-message-font-style);--lia-tkb-message-link-color: var(--lia-default-message-link-color);--lia-tkb-message-link-decoration: var(--lia-default-message-link-decoration);--lia-tkb-message-link-font-style: var(--lia-default-message-link-font-style);--lia-tkb-message-link-font-weight: var(--lia-default-message-link-font-weight);--lia-qanda-color-h: 207.03703703703695;--lia-qanda-color-s: 73.63636363636363%;--lia-qanda-color-l: 56.86274509803921%;--lia-qanda-color: hsl(var(--lia-qanda-color-h), var(--lia-qanda-color-s), var(--lia-qanda-color-l));--lia-qanda-font-family: var(--lia-bs-font-family-base);--lia-qanda-font-weight: var(--lia-default-message-font-weight);--lia-qanda-line-height: var(--lia-bs-line-height-base);--lia-qanda-font-style: var(--lia-default-message-link-font-style);--lia-qanda-message-link-color: var(--lia-default-message-link-color);--lia-qanda-message-link-decoration: var(--lia-default-message-link-decoration);--lia-qanda-message-link-font-style: var(--lia-default-message-link-font-style);--lia-qanda-message-link-font-weight: var(--lia-default-message-link-font-weight);--lia-qanda-solved-color: #3FA023;--lia-idea-color-h: 30.117647058823536;--lia-idea-color-s: 100%;--lia-idea-color-l: 50%;--lia-idea-color: hsl(var(--lia-idea-color-h), var(--lia-idea-color-s), var(--lia-idea-color-l));--lia-idea-font-family: var(--lia-bs-font-family-base);--lia-idea-font-weight: var(--lia-default-message-font-weight);--lia-idea-line-height: var(--lia-bs-line-height-base);--lia-idea-font-style: var(--lia-default-message-font-style);--lia-idea-message-link-color: var(--lia-default-message-link-color);--lia-idea-message-link-decoration: var(--lia-default-message-link-decoration);--lia-idea-message-link-font-style: var(--lia-default-message-link-font-style);--lia-idea-message-link-font-weight: var(--lia-default-message-link-font-weight);--lia-contest-color-h: 42.95081967213116;--lia-contest-color-s: 96.82539682539684%;--lia-contest-color-l: 62.94117647058823%;--lia-contest-color: hsl(var(--lia-contest-color-h), var(--lia-contest-color-s), var(--lia-contest-color-l));--lia-contest-font-family: var(--lia-bs-font-family-base);--lia-contest-font-weight: var(--lia-default-message-font-weight);--lia-contest-line-height: var(--lia-bs-line-height-base);--lia-contest-font-style: var(--lia-default-message-link-font-style);--lia-contest-message-link-color: var(--lia-default-message-link-color);--lia-contest-message-link-decoration: var(--lia-default-message-link-decoration);--lia-contest-message-link-font-style: ITALIC;--lia-contest-message-link-font-weight: var(--lia-default-message-link-font-weight);--lia-occasion-color-h: 9.101123595505612;--lia-occasion-color-s: 74.16666666666666%;--lia-occasion-color-l: 47.05882352941176%;--lia-occasion-color: hsl(var(--lia-occasion-color-h), var(--lia-occasion-color-s), var(--lia-occasion-color-l));--lia-occasion-font-family: var(--lia-bs-font-family-base);--lia-occasion-font-weight: var(--lia-default-message-font-weight);--lia-occasion-line-height: var(--lia-bs-line-height-base);--lia-occasion-font-style: var(--lia-default-message-font-style);--lia-occasion-message-link-color: var(--lia-default-message-link-color);--lia-occasion-message-link-decoration: var(--lia-default-message-link-decoration);--lia-occasion-message-link-font-style: var(--lia-default-message-link-font-style);--lia-occasion-message-link-font-weight: var(--lia-default-message-link-font-weight);--lia-grouphub-color-h: 0;--lia-grouphub-color-s: 0%;--lia-grouphub-color-l: 20%;--lia-grouphub-color: hsl(var(--lia-grouphub-color-h), var(--lia-grouphub-color-s), var(--lia-grouphub-color-l));--lia-category-color-h: 0;--lia-category-color-s: 0%;--lia-category-color-l: 58.03921568627452%;--lia-category-color: hsl(var(--lia-category-color-h), var(--lia-category-color-s), var(--lia-category-color-l));--lia-community-color-h: 0;--lia-community-color-s: 0%;--lia-community-color-l: 100%;--lia-community-color: hsl(var(--lia-community-color-h), var(--lia-community-color-s), var(--lia-community-color-l));--lia-product-color-h: 0;--lia-product-color-s: 0%;--lia-product-color-l: 58.03921568627452%;--lia-product-color: hsl(var(--lia-product-color-h), var(--lia-product-color-s), var(--lia-product-color-l));--lia-panel-bg-color: var(--lia-bs-white);--lia-panel-border-radius: var(--lia-bs-border-radius);--lia-panel-border-color: var(--lia-bs-border-color);--lia-panel-box-shadow: none;--lia-card-bg-color: var(--lia-panel-bg-color);--lia-card-border-radius: var(--lia-panel-border-radius);--lia-card-box-shadow: var(--lia-box-shadow-xs);--lia-bs-modal-content-color: var(--lia-bs-body-color);--lia-bs-modal-content-bg: var(--lia-bs-white);--lia-bs-modal-backdrop-bg: var(--lia-bs-black);--lia-bs-modal-sm: 440px;--lia-bs-modal-md: 760px;--lia-bs-modal-lg: 1080px;--lia-bs-modal-backdrop-opacity: 0.3;--lia-bs-modal-content-box-shadow-xs: var(--lia-bs-box-shadow-sm);--lia-bs-modal-content-box-shadow-xs-up: var(--lia-bs-box-shadow);--lia-bs-modal-header-font-weight: 700;--lia-icon-size-10: 10px;--lia-icon-size-12: 12px;--lia-icon-size-14: 14px;--lia-icon-size-16: 16px;--lia-icon-size-20: 20px;--lia-icon-size-24: 24px;--lia-icon-size-30: 30px;--lia-icon-size-40: 40px;--lia-icon-size-50: 50px;--lia-icon-size-60: 60px;--lia-icon-size-80: 80px;--lia-icon-size-120: 120px;--lia-icon-size-160: 160px;--lia-bs-input-border-color: var(--lia-bs-gray-600);--lia-bs-input-disabled-color: var(--lia-bs-gray-600);--lia-bs-input-focus-border-color: var(--lia-bs-primary);--lia-bs-label-margin-bottom: 10px;--lia-bs-input-btn-font-size: var(--lia-bs-font-size-sm);--lia-bs-input-focus-box-shadow: 0 0 0 3px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2);--lia-check-label-margin-bottom: 2px;--lia-checkbox-border-radius: 3px;--lia-bs-input-border-radius-sm: var(--lia-bs-border-radius-sm);--lia-bs-input-border-radius: var(--lia-bs-border-radius);--lia-bs-input-border-radius-lg: var(--lia-bs-border-radius-lg);--lia-bs-form-text-margin-top: 4px;--lia-textarea-border-radius: var(--lia-bs-border-radius);--lia-input-active-fill-color: var(--lia-bs-primary);--lia-bs-popover-arrow-height: 8px;--lia-bs-popover-arrow-width: 16px;--lia-bs-popover-max-width: 300px;--lia-bs-popover-min-width: 100px;--lia-bs-popover-header-bg: var(--lia-bs-white);--lia-bs-popover-border-color: var(--lia-bs-border-color);--lia-bs-popover-border-radius: var(--lia-bs-border-radius);--lia-bs-popover-box-shadow: 0 0.5rem 1rem hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.15);--lia-bs-dropdown-font-size: var(--lia-bs-font-size-sm);--lia-bs-dropdown-border-color: var(--lia-bs-border-color);--lia-bs-dropdown-border-radius: var(--lia-bs-border-radius-sm);--lia-bs-dropdown-divider-bg: var(--lia-bs-gray-300);--lia-bs-dropdown-item-padding-y: 5px;--lia-bs-dropdown-item-padding-x: 20px;--lia-bs-dropdown-header-color: var(--lia-bs-gray-700);--lia-bs-list-group-item-padding-y: 15px;--lia-bs-list-group-item-padding-x: 15px;--lia-bs-list-group-border-color: var(--lia-bs-gray-300);--lia-list-li-mb-sm: 5px;--lia-list-li-mb-md: 10px;--lia-list-li-mb-lg: 15px;--lia-list-li-mb-xl: 20px;--lia-list-li-mb-xxl: 25px;--lia-img-preview-content-bg-color: var(--lia-bs-gray-900);--lia-img-preview-title-color: var(--lia-bs-white);--lia-img-preview-control-color: var(--lia-bs-white);--lia-img-preview-control-bg-color: var(--lia-bs-gray-800);--lia-load-dot-dark-color: hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.2);--lia-load-dot-light-color: hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.5);--lia-load-bar-dark-color: hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.06);--lia-load-bar-light-color: hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.4);--lia-load-text-color: var(--lia-bs-link-color);--lia-load-text-font-weight: var(--lia-font-weight-md);--lia-load-text-font-size: var(--lia-bs-font-size-sm);--lia-divider-size: 3px;--lia-divider-ml: 4px;--lia-divider-mr: 4px;--lia-divider-border-radius: 50%;--lia-divider-bg-color: var(--lia-bs-gray-600);--lia-divider-bg-color-active: var(--lia-bs-gray-600);--lia-chip-max-width: 300px;--lia-chip-height: 30px;--lia-yiq-light-h: 0;--lia-yiq-light-s: 0%;--lia-yiq-light-l: 100%;--lia-yiq-light: hsl(var(--lia-yiq-light-h), var(--lia-yiq-light-s), var(--lia-yiq-light-l));--lia-yiq-dark-h: 0;--lia-yiq-dark-s: 0%;--lia-yiq-dark-l: 0%;--lia-yiq-dark: hsl(var(--lia-yiq-dark-h), var(--lia-yiq-dark-s), var(--lia-yiq-dark-l));--lia-rte-bg-color: var(--lia-bs-white);--lia-rte-border-radius: var(--lia-panel-border-radius);--lia-rte-box-shadow: var(--lia-panel-box-shadow);--lia-rte-custom-color-1: #bfedd2;--lia-rte-custom-color-2: #fbeeb8;--lia-rte-custom-color-3: #f8cac6;--lia-rte-custom-color-4: #eccafa;--lia-rte-custom-color-5: #c2e0f4;--lia-rte-custom-color-6: #2dc26b;--lia-rte-custom-color-7: #f1c40f;--lia-rte-custom-color-8: #e03e2d;--lia-rte-custom-color-9: #b96ad9;--lia-rte-custom-color-10: #3598db;--lia-rte-custom-color-11: #169179;--lia-rte-custom-color-12: #e67e23;--lia-rte-custom-color-13: #ba372a;--lia-rte-custom-color-14: #843fa1;--lia-rte-custom-color-15: #236fa1;--lia-rte-custom-color-16: #ecf0f1;--lia-rte-custom-color-17: #ced4d9;--lia-rte-custom-color-18: #95a5a6;--lia-rte-custom-color-19: #7e8c8d;--lia-rte-custom-color-20: #34495e;--lia-rte-custom-color-21: #000000;--lia-rte-custom-color-22: #ffffff;--lia-rte-default-message-header-mt: 40px;--lia-rte-default-message-header-mb: 20px;--lia-rte-default-message-item-mt: 0;--lia-rte-default-message-item-mb: 10px;--lia-rte-diff-added-color: hsla(170, 53%, 51%, 0.4);--lia-rte-diff-removed-color: hsla(9, 74%, 47%, 0.4);--lia-rte-diff-none-color: hsla(0, 0%, 80%, 0.4);--lia-rte-diff-changed-color: hsla(43, 97%, 63%, 0.4);--lia-rte-special-message-header-mt: 40px;--lia-rte-special-message-header-mb: 20px;--lia-rte-special-message-item-mt: 0;--lia-rte-special-message-item-mb: 10px;--lia-prism-color: #000000;--lia-prism-bg-color: #f5f2f0;--lia-prism-font-family: var(--font-family-monospace);--lia-prism-font-size: var(--lia-bs-font-size-base);--lia-prism-font-weight-bold: var(--lia-bs-font-weight-bold);--lia-prism-font-style-italic: italic;--lia-prism-tab-size: 2;--lia-prism-highlight-color: #b3d4fc;--lia-prism-comment-color: #62707e;--lia-prism-punctuation-color: #6f6f6f;--lia-prism-namespace-opacity: 0.7;--lia-prism-prop-color: #990055;--lia-prism-selector-color: #517a00;--lia-prism-operator-color: #906736;--lia-prism-operator-bg-color: hsla(0, 0%, 100%, 0.5);--lia-prism-keyword-color: #0076a9;--lia-prism-function-color: #d3284b;--lia-prism-variable-color: #c14700;--lia-tag-bg-color: var(--lia-bs-gray-200);--lia-tag-bg-hover-color: var(--lia-bs-gray-400);--lia-tag-border-radius: var(--lia-bs-border-radius-sm);--lia-tag-color: var(--lia-bs-body-color);--lia-tag-hover-color: var(--lia-bs-body-color);--lia-tag-font-weight: var(--lia-font-weight-md);--lia-tag-font-size: var(--lia-font-size-xxs);--lia-tag-text-transform: uppercase;--lia-tag-letter-spacing: 0.5px;--lia-bs-toast-border-radius: var(--lia-bs-border-radius);--lia-bs-toast-padding-x: 12px;--lia-emoji-skin-tone-default: #ffcd43;--lia-emoji-skin-tone-light: #fae3c5;--lia-emoji-skin-tone-medium-light: #e2cfa5;--lia-emoji-skin-tone-medium: #daa478;--lia-emoji-skin-tone-medium-dark: #a78058;--lia-emoji-skin-tone-dark: #5e4d43;--lia-checkmark-input-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/checkmark-input.svg#checkmark-input);--lia-chevron-down-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/chevron-down.svg#chevron-down);--lia-close-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/close.svg#close);--lia-edit-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/edit.svg#edit);--lia-select-arrow-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/select-arrow.svg#select-arrow);--lia-video-play-active-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/video-play-active.svg#video-play-active);--lia-video-play-disabled-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/video-play-disabled.svg#video-play-disabled);--lia-user-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/user.svg#user);--lia-user-mention-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/mention.svg#mention);--lia-content-blog-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-blog.svg#content-blog);--lia-content-knowledge-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-knowledge.svg#content-knowledge);--lia-content-category-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-category.svg#content-category);--lia-content-contest-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-contest.svg#content-contest);--lia-content-discussion-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-discussion.svg#content-discussion);--lia-content-discussion-question-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-discussion-question.svg#content-discussion-question);--lia-content-occasion-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-occasion.svg#content-occasion);--lia-content-group-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-group.svg#content-group);--lia-content-idea-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-idea.svg#content-idea);--lia-external-link-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/external-link.svg#external-link);--lia-anchor-icon: url(/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/anchor.svg#anchor);--lia-primary-dark-h: var(--lia-bs-primary-h);--lia-primary-dark-s: var(--lia-bs-primary-s);--lia-primary-dark-l: 36%;--lia-primary-dark: hsl(var(--lia-primary-dark-h), var(--lia-primary-dark-s), var(--lia-primary-dark-l));--lia-primary-light-h: var(--lia-bs-primary-h);--lia-primary-light-s: var(--lia-bs-primary-s);--lia-primary-light-l: 74%;--lia-primary-light: hsl(var(--lia-primary-light-h), var(--lia-primary-light-s), var(--lia-primary-light-l));--lia-primary-lighter-h: var(--lia-bs-primary-h);--lia-primary-lighter-s: var(--lia-bs-primary-s);--lia-primary-lighter-l: 89%;--lia-primary-lighter: hsl(var(--lia-primary-lighter-h), var(--lia-primary-lighter-s), var(--lia-primary-lighter-l));--lia-primary-lightest-h: var(--lia-bs-primary-h);--lia-primary-lightest-s: var(--lia-bs-primary-s);--lia-primary-lightest-l: 95%;--lia-primary-lightest: hsl(var(--lia-primary-lightest-h), var(--lia-primary-lightest-s), var(--lia-primary-lightest-l));--lia-info-dark-h: var(--lia-bs-info-h);--lia-info-dark-s: var(--lia-bs-info-s);--lia-info-dark-l: 39%;--lia-info-dark: hsl(var(--lia-info-dark-h), var(--lia-info-dark-s), var(--lia-info-dark-l));--lia-info-light-h: var(--lia-bs-info-h);--lia-info-light-s: var(--lia-bs-info-s);--lia-info-light-l: 72%;--lia-info-light: hsl(var(--lia-info-light-h), var(--lia-info-light-s), var(--lia-info-light-l));--lia-info-lighter-h: var(--lia-bs-info-h);--lia-info-lighter-s: var(--lia-bs-info-s);--lia-info-lighter-l: 85%;--lia-info-lighter: hsl(var(--lia-info-lighter-h), var(--lia-info-lighter-s), var(--lia-info-lighter-l));--lia-info-lightest-h: var(--lia-bs-info-h);--lia-info-lightest-s: var(--lia-bs-info-s);--lia-info-lightest-l: 93%;--lia-info-lightest: hsl(var(--lia-info-lightest-h), var(--lia-info-lightest-s), var(--lia-info-lightest-l));--lia-success-dark-h: var(--lia-bs-success-h);--lia-success-dark-s: var(--lia-bs-success-s);--lia-success-dark-l: 24%;--lia-success-dark: hsl(var(--lia-success-dark-h), var(--lia-success-dark-s), var(--lia-success-dark-l));--lia-success-light-h: var(--lia-bs-success-h);--lia-success-light-s: var(--lia-bs-success-s);--lia-success-light-l: 62%;--lia-success-light: hsl(var(--lia-success-light-h), var(--lia-success-light-s), var(--lia-success-light-l));--lia-success-lighter-h: var(--lia-bs-success-h);--lia-success-lighter-s: var(--lia-bs-success-s);--lia-success-lighter-l: 80%;--lia-success-lighter: hsl(var(--lia-success-lighter-h), var(--lia-success-lighter-s), var(--lia-success-lighter-l));--lia-success-lightest-h: var(--lia-bs-success-h);--lia-success-lightest-s: var(--lia-bs-success-s);--lia-success-lightest-l: 91%;--lia-success-lightest: hsl(var(--lia-success-lightest-h), var(--lia-success-lightest-s), var(--lia-success-lightest-l));--lia-warning-dark-h: var(--lia-bs-warning-h);--lia-warning-dark-s: var(--lia-bs-warning-s);--lia-warning-dark-l: 39%;--lia-warning-dark: hsl(var(--lia-warning-dark-h), var(--lia-warning-dark-s), var(--lia-warning-dark-l));--lia-warning-light-h: var(--lia-bs-warning-h);--lia-warning-light-s: var(--lia-bs-warning-s);--lia-warning-light-l: 68%;--lia-warning-light: hsl(var(--lia-warning-light-h), var(--lia-warning-light-s), var(--lia-warning-light-l));--lia-warning-lighter-h: var(--lia-bs-warning-h);--lia-warning-lighter-s: var(--lia-bs-warning-s);--lia-warning-lighter-l: 84%;--lia-warning-lighter: hsl(var(--lia-warning-lighter-h), var(--lia-warning-lighter-s), var(--lia-warning-lighter-l));--lia-warning-lightest-h: var(--lia-bs-warning-h);--lia-warning-lightest-s: var(--lia-bs-warning-s);--lia-warning-lightest-l: 93%;--lia-warning-lightest: hsl(var(--lia-warning-lightest-h), var(--lia-warning-lightest-s), var(--lia-warning-lightest-l));--lia-danger-dark-h: var(--lia-bs-danger-h);--lia-danger-dark-s: var(--lia-bs-danger-s);--lia-danger-dark-l: 41%;--lia-danger-dark: hsl(var(--lia-danger-dark-h), var(--lia-danger-dark-s), var(--lia-danger-dark-l));--lia-danger-light-h: var(--lia-bs-danger-h);--lia-danger-light-s: var(--lia-bs-danger-s);--lia-danger-light-l: 72%;--lia-danger-light: hsl(var(--lia-danger-light-h), var(--lia-danger-light-s), var(--lia-danger-light-l));--lia-danger-lighter-h: var(--lia-bs-danger-h);--lia-danger-lighter-s: var(--lia-bs-danger-s);--lia-danger-lighter-l: 89%;--lia-danger-lighter: hsl(var(--lia-danger-lighter-h), var(--lia-danger-lighter-s), var(--lia-danger-lighter-l));--lia-danger-lightest-h: var(--lia-bs-danger-h);--lia-danger-lightest-s: var(--lia-bs-danger-s);--lia-danger-lightest-l: 95%;--lia-danger-lightest: hsl(var(--lia-danger-lightest-h), var(--lia-danger-lightest-s), var(--lia-danger-lightest-l)); }</style> <title>AllBlogs.Page | Microsoft Community Hub</title> <meta name="robots" content="index,follow"> <meta name="twitter:card" content="summary"> <meta property="og:title" content="AllBlogs.Page | Microsoft Community Hub"> <meta property="og:url" content="https://techcommunity.microsoft.com/blogs"> <meta property="og:type" content="website"> <meta property="og:site_name" content="TECHCOMMUNITY.MICROSOFT.COM"> <link rel="canonical" href="https://techcommunity.microsoft.com/blogs"> <style type="text/css">:root:root { --lia-nav-bg-color: var(--lia-bs-white); --lia-nav-bg-opacity: 0.8; --lia-nav-pt: 15px; --lia-nav-pb: 15px; --lia-nav-border-bottom: 1px solid var(--lia-bs-border-color); --lia-nav-box-shadow: var(--lia-bs-box-shadow-sm); --lia-nav-brand-mr: 30px; --lia-nav-brand-mr-sm: 10px; --lia-nav-brand-logo-height: 30px; --lia-nav-link-gap: 10px; --lia-nav-link-justify-content: flex-start; --lia-nav-link-py: 5px; --lia-nav-link-px: 10px; --lia-nav-link-dropdown-py: 9px; --lia-nav-link-dropdown-px: var(--lia-nav-link-px); --lia-nav-link-color: var(--lia-bs-body-color); --lia-nav-link-hover-color: var(--lia-bs-body-color); --lia-nav-link-font-size: 14px; --lia-nav-link-font-style: NORMAL; --lia-nav-link-font-weight: 400; --lia-nav-link-text-transform: none; --lia-nav-link-letter-spacing: normal; --lia-nav-link-border-radius: var(--lia-bs-border-radius-sm); --lia-nav-link-bg-color: transparent; --lia-nav-link-bg-hover-color: transparent; --lia-nav-link-border: none; --lia-nav-link-border-hover: none; --lia-nav-link-box-shadow: none; --lia-nav-link-box-shadow-hover: none; --lia-nav-link-text-border-bottom: none; --lia-nav-link-text-border-bottom-hover: 2px solid var(--lia-bs-body-color); --lia-nav-dropdown-pt: 10px; --lia-nav-dropdown-pb: 15px; --lia-nav-dropdown-px: 10px; --lia-nav-dropdown-menu-offset: 2px; --lia-nav-dropdown-divider-mt: 10px; --lia-nav-dropdown-divider-mb: 10px; --lia-nav-dropdown-border-color: hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08); --lia-nav-controller-bg-hover-color: hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.1); --lia-nav-controller-icon-color: var(--lia-bs-body-color); --lia-nav-controller-icon-hover-color: var(--lia-bs-body-color); --lia-nav-controller-icon-highlight: hsla(30, 100%, 50%); --lia-nav-controller-icon-highlight-text: var(--lia-yiq-dark); --lia-nav-controller-text-color: var(--lia-nav-controller-icon-color); --lia-nav-controller-text-hover-color: var(--lia-nav-controller-icon-hover-color); --lia-nav-controller-border-radius: var(--lia-border-radius-50); --lia-nav-hamburger-color: var(--lia-nav-controller-icon-color); --lia-nav-hamburger-hover-color: var(--lia-nav-controller-icon-color); --lia-nav-hamburger-bg-color: transparent; --lia-nav-hamburger-bg-hover-color: transparent; --lia-nav-hamburger-border: none; --lia-nav-hamburger-border-hover: none; --lia-nav-collapse-menu-ml: 20px; --lia-nav-collapse-menu-divider-bg: var(--lia-nav-link-color); --lia-nav-collapse-menu-divider-opacity: 0.16; }</style> <style data-testid="CustomComponentContentCss" type="text/css">.custom_widget_MicrosoftFooter_context-uhf_f95yq_1 { min-width: 17.5rem; font-size: 0.9375rem; box-sizing: border-box; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; & *, & *:before, & *:after { box-sizing: inherit; } a.custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12 { color: #616161; word-break: break-word; text-decoration: none; } &a:link, &a:focus, &a:hover, &a:active, &a:visited { text-decoration: none; color: inherit; } & div { font-family: 'Segoe UI', SegoeUI, 'Helvetica Neue', Helvetica, Arial, sans-serif; } } .custom_widget_MicrosoftFooter_c-uhff_f95yq_12 { background: #f2f2f2; margin: -1.5625; width: auto; height: auto; } .custom_widget_MicrosoftFooter_c-uhff-nav_f95yq_35 { margin: 0 auto; max-width: calc(100rem + 10%); padding: 0 5%; box-sizing: inherit; &:before, &:after { content: ' '; display: table; clear: left; } @media only screen and (max-width: 1083px) { padding-left: 0.75rem; } .custom_widget_MicrosoftFooter_c-heading-4_f95yq_49 { color: #616161; word-break: break-word; font-size: 0.9375rem; line-height: 1.25rem; padding: 2.25rem 0 0.25rem; font-weight: 600; } .custom_widget_MicrosoftFooter_c-uhff-nav-row_f95yq_57 { .custom_widget_MicrosoftFooter_c-uhff-nav-group_f95yq_58 { display: block; float: left; min-height: 0.0625rem; vertical-align: text-top; padding: 0 0.75rem; width: 100%; zoom: 1; &:first-child { padding-left: 0; @media only screen and (max-width: 1083px) { padding-left: 0.75rem; } } @media only screen and (min-width: 540px) and (max-width: 1082px) { width: 33.33333%; } @media only screen and (min-width: 1083px) { width: 16.6666666667%; } ul.custom_widget_MicrosoftFooter_c-list_f95yq_78.custom_widget_MicrosoftFooter_f-bare_f95yq_78 { font-size: 0.6875rem; line-height: 1rem; margin-top: 0; margin-bottom: 0; padding-left: 0; list-style-type: none; li { word-break: break-word; padding: 0.5rem 0; margin: 0; } } } } } .custom_widget_MicrosoftFooter_c-uhff-base_f95yq_94 { background: #f2f2f2; margin: 0 auto; max-width: calc(100rem + 10%); padding: 1.875rem 5% 1rem; &:before, &:after { content: ' '; display: table; } &:after { clear: both; } a.custom_widget_MicrosoftFooter_c-uhff-ccpa_f95yq_107 { font-size: 0.6875rem; line-height: 1rem; float: left; margin: 0.1875rem 0; } a.custom_widget_MicrosoftFooter_c-uhff-ccpa_f95yq_107:hover { text-decoration: underline; } ul.custom_widget_MicrosoftFooter_c-list_f95yq_78 { font-size: 0.6875rem; line-height: 1rem; float: right; margin: 0.1875rem 0; color: #616161; li { padding: 0 1.5rem 0.25rem 0; display: inline-block; } } .custom_widget_MicrosoftFooter_c-list_f95yq_78.custom_widget_MicrosoftFooter_f-bare_f95yq_78 { padding-left: 0; list-style-type: none; } @media only screen and (max-width: 1083px) { display: flex; flex-wrap: wrap; padding: 1.875rem 1.5rem 1rem; } } </style> <meta name="next-head-count" content="17"> <noscript id="__next_css__DO_NOT_USE__"></noscript> <script id="prism-bootstrap" data-nscript="beforeInteractive" crossorigin="anonymous">window.Prism = window.Prism || {};Prism.manual = true;</script> <link rel="preload" href="/_next/static/css/70f9debde82c7430.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/70f9debde82c7430.css" crossorigin="anonymous" data-n-g=""> <link rel="preload" href="/_next/static/css/5618e531214e48a2.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/5618e531214e48a2.css" crossorigin="anonymous" data-n-p=""> <link rel="preload" href="/_next/static/css/695513f4460cf9de.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/695513f4460cf9de.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/27354a62d6df58b7.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/27354a62d6df58b7.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/6b6feb98a73e4b36.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/6b6feb98a73e4b36.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/b3570409e4961851.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/b3570409e4961851.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/862b9c0d1ee38b75.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/862b9c0d1ee38b75.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/75c3051a6282c4c8.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/75c3051a6282c4c8.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/2816a50928585b4e.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/2816a50928585b4e.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/a4c140cf50161a33.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/a4c140cf50161a33.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/e3e529bed0e161d0.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/e3e529bed0e161d0.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/cae0f6594f52c6c6.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/cae0f6594f52c6c6.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/6d34664495fc4324.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/6d34664495fc4324.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/aaf10f0ba0cbc63d.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/aaf10f0ba0cbc63d.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/409df01db028e852.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/409df01db028e852.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/d4264eb30d961446.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/d4264eb30d961446.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/75ad7c095c67e244.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/75ad7c095c67e244.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/301c38302d8be06d.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/301c38302d8be06d.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/c937327d1540684c.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/c937327d1540684c.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/898a37b39d750ea3.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/898a37b39d750ea3.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/23c96cb7cbd5ad7f.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/23c96cb7cbd5ad7f.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/8cc8a18b0063d113.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/8cc8a18b0063d113.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/abdf327dd8cf79f1.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/abdf327dd8cf79f1.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/741822ca69eb63d7.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/741822ca69eb63d7.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/a7ac9eb562ffba33.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/a7ac9eb562ffba33.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/da1b9bc00ca1b132.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/da1b9bc00ca1b132.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/2cb7930a61479b70.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/2cb7930a61479b70.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/0da1a563af23ca7c.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/0da1a563af23ca7c.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/96e83c4412cdcd6d.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/96e83c4412cdcd6d.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/0aea06143d4d2261.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/0aea06143d4d2261.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/a87e85723550ff6c.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/a87e85723550ff6c.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/01bbadcc1be827c5.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/01bbadcc1be827c5.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/1f6561d6eee9579a.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/1f6561d6eee9579a.css" crossorigin="anonymous"> <link rel="preload" href="/_next/static/css/6b5f713b892f81ee.css" as="style" crossorigin="anonymous"> <link rel="stylesheet" href="/_next/static/css/6b5f713b892f81ee.css" crossorigin="anonymous"> <noscript data-n-css=""></noscript> <script defer crossorigin="anonymous" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script> <script id="cookie_consent" src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/pagescripts/1729284608000/cookie_consent.js?page.id=AllBlogs.Page" defer data-nscript="beforeInteractive" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/23842-414a45ee6e8c5f95.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/37330-c326830a1058a439.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/76820-63044a5ae14ef4d9.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/56930-58cd27f5a68847f9.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/97524-1a872e9fae5f72bc.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/77463-2acfddc67ff4590a.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/84770-15660bbd05b5edfa.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/97333-fce065001bc1b0c7.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/34062-58f93d648b5d2fe8.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/70193.0446f1b58a8be886.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/98634.08fca480f4787f87.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/44786.618e88b46021e53c.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/25232.332c8cc01832b7d7.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/2873-0a7ce710344b0df9.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/43158.727e0ab7008cdc0a.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/40423.6e764a1e65bf4776.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/30727.e5b4792fb52d65db.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/19019.ae2ffb70d180fa38.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/91078.4274ed178f62b89a.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/18825.00b85515a76c908e.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/80688.a8a2cc5a0dff3786.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/83729-97dd3581e8d24305.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/30533.778da7f7a7b75294.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/31304.6409cab09edddad3.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/91923.a4ac16ee4520b61f.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/11374.444b56702caaebe9.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/21001.c02687307ce2c901.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/37852.fa12895224939548.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/1749.04f99db996826665.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/47130.bcfe32915549cfac.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/54340.964a0582cb40e965.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/91653.02fb1491c9107943.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/33711.3de152a2dbfed88e.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/60191.f2167037b024b5b6.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/36752-d4ea73eca4898eba.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/53272-c87fd99570e7af79.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/43847-eb5bebd3c9cb2d5a.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/55411-0dffaf1f7970aab7.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/83256.5925a1bd3f2ed59e.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/79231.3d400a71d7f01bb9.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/41088.808e7659aacedb1d.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/61796.176b3aedad79ae9b.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/84281.7dbaa6cf0fda7daa.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/2590.aba8839ec0b67488.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/80810.5996b3cca8b58aaf.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/18544.9bfc5377bc7f3b0d.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/91180.5417279c62a90c31.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/62365.324eafa8a8f55a61.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/62252.75c276ad2235f5c3.js" crossorigin="anonymous"></script> <script defer src="/_next/static/chunks/80558.99a56ce0c4e84a58.js" crossorigin="anonymous"></script> <script src="/_next/static/chunks/webpack-a8859695fbd039ab.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/main-699e4d9ec4f3530c.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/pages/_app-61f6e182962a7a6e.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/56954-a661bff96978ced0.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/37553-349b571b1837d9f5.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/67527-2f9f9c5d94b90716.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/85258-3c88938f5903bdfa.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/51325-f799cb915ede1d5f.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/42098-d0f5af2a77df3416.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/92236-da8b93af03bac1ec.js" defer crossorigin="anonymous"></script> <script src="/_next/static/chunks/pages/custom/CustomPage/CustomPage-fb69f46ba108ee67.js" defer crossorigin="anonymous"></script> <script src="/_next/static/PueESxikv_D6pRYmXbJsM/_buildManifest.js" defer crossorigin="anonymous"></script> <script src="/_next/static/PueESxikv_D6pRYmXbJsM/_ssgManifest.js" defer crossorigin="anonymous"></script> <meta http-equiv="X-Translated-By" content="Google"> <meta http-equiv="X-Translated-To" content="cs"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1hbgkFx4Qn8.O/am=DgY/d=1/rs=AN8SPfqlmAPxwfG457BPbRXwNq39oSMGHg/m=corsproxy" data-sourceurl="https://techcommunity.microsoft.com/Blogs"></script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1hbgkFx4Qn8.O/am=DgY/d=1/exm=corsproxy/ed=1/rs=AN8SPfqlmAPxwfG457BPbRXwNq39oSMGHg/m=phishing_protection" data-phishing-protection-enabled="false" data-forms-warning-enabled="true" data-source-url="https://techcommunity.microsoft.com/Blogs"></script> <meta name="robots" content="none"> </head> <body> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1hbgkFx4Qn8.O/am=DgY/d=1/exm=corsproxy,phishing_protection/ed=1/rs=AN8SPfqlmAPxwfG457BPbRXwNq39oSMGHg/m=navigationui" data-environment="prod" data-proxy-url="https://techcommunity-microsoft-com.translate.goog" data-proxy-full-url="https://techcommunity-microsoft-com.translate.goog/Blogs?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" data-source-url="https://techcommunity.microsoft.com/Blogs" data-source-language="pl" data-target-language="cs" data-display-language="en-GB" data-detected-source-language="" data-is-source-untranslated="false" data-source-untranslated-url="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://techcommunity.microsoft.com/Blogs&anno=2" data-client="tr"></script> <div id="__next"> <header data-testid="QuiltWrapperSection"> <div aria-hidden="true"></div> <nav class="Navbar_lia-nav__x3UtG Navbar_lia-nav-fixed__mp9zl" style="--lia-d-nav-bg-combined:hsla(0, 0%, 100%, 0.8)"> <div data-testid="ThemedContainer" class="Navbar_lia-container__PneN7 ThemedContainer_lia-fixed-container__MPYgN ThemedContainer_lia-fixed-gutters__1PeHV styles_container__6wTQq"> <div class="NavbarHamburgerDropdown_lia-hamburger__wMSGy styles_dropdown__gtmlA"> <button data-testid="Button" aria-haspopup="true" aria-expanded="false" aria-label="Side Menu" id=":R3mmilbem:" type="button" class="styles_lia-g-unstyled-btn__Sglpm NavbarHamburgerDropdown_lia-hamburger-toggle__A99vU styles_dropdown-toggle__lyIUd styles_btn__1HFm0"><span class="HamburgerIcon_lia-hamburger__Vl1W7"><span class="HamburgerIcon_lia-burger-part__gpOaQ HamburgerIcon_lia-lettuce__CHkD6 NavbarHamburgerDropdown_lia-hamburger-icon__CaJzZ"></span><span class="HamburgerIcon_lia-burger-part__gpOaQ HamburgerIcon_lia-tomato__gEm9r NavbarHamburgerDropdown_lia-hamburger-icon__CaJzZ"></span><span class="HamburgerIcon_lia-burger-part__gpOaQ HamburgerIcon_lia-cheese__4316P NavbarHamburgerDropdown_lia-hamburger-icon__CaJzZ"></span></span></button> </div> <div class="Navbar_lia-brand-wrap__kMjMv"> <a class="Navbar_lia-brand-logo___j4kl" href="https://techcommunity-microsoft-com.translate.goog/?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/themes/customTheme1/favicon-1730836271365.png?time=1730836274203" alt="Brand Logo" class="BrandLogo_lia-logo__9HhbP"></a><a href="https://techcommunity-microsoft-com.translate.goog/Blogs?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#main-content" class="Navbar_lia-skip-content__x8IQ0">Skip to content</a> </div> <section class="NavbarTextLinks_lia-main-links-container__QOLn4"> <div class="NavbarTextLinks_lia-main-links__XTYIO"> <a tabindex="0" href="https://techcommunity-microsoft-com.translate.goog/?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" class="styles_lia-g-navbar-link___5V8S" data-testid="NavbarLink.gxcuf89792" target="_self"><span class="styles_lia-g-navbar-link-text__hNCPc">Tech Community</span></a><a tabindex="0" href="https://techcommunity-microsoft-com.translate.goog/Directory?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" class="styles_lia-g-navbar-link___5V8S" data-testid="NavbarLink.external_link" target="_self"><span class="styles_lia-g-navbar-link-text__hNCPc">Community Hubs</span></a> <div data-menu-open="false" class="NavbarDropdown_lia-dropdown__UxoG7 styles_dropdown__gtmlA"> <div aria-haspopup="true" aria-label="Press the down arrow to open the menu" data-testid="NavbarDropdown.Toggle" tabindex="-1" id=":R6nmmilbem:"> <a tabindex="0" href="https://techcommunity-microsoft-com.translate.goog/?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" class="styles_lia-g-navbar-link___5V8S NavbarDropdownToggle_lia-link-extender__HG9yN NavbarAnchor_lia-disabled__IqfY3" data-testid="NavbarLink.communities" target="_blank"><span class="styles_lia-g-navbar-link-text__hNCPc">Products <svg class="styles_lia-g-navbar-dropdown-icon__MBB_c Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-body-color);--lia-local-icon-color-h:var(--lia-bs-body-color-h);--lia-local-icon-color-s:var(--lia-bs-body-color-s);--lia-local-icon-color-l:var(--lia-bs-body-color-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/chevron-down.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#chevron-down"></use> </svg></span></a> </div> </div> <div data-menu-open="false" class="NavbarDropdown_lia-dropdown__UxoG7 styles_dropdown__gtmlA"> <div aria-haspopup="true" aria-label="Press the down arrow to open the menu" data-testid="NavbarDropdown.Toggle" tabindex="-1" id=":R8nmmilbem:"> <a tabindex="0" href="https://techcommunity-microsoft-com.translate.goog/?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" class="styles_lia-g-navbar-link___5V8S NavbarDropdownToggle_lia-link-extender__HG9yN NavbarAnchor_lia-disabled__IqfY3" data-testid="NavbarLink.communities_1" target="_self"><span class="styles_lia-g-navbar-link-text__hNCPc">Topics <svg class="styles_lia-g-navbar-dropdown-icon__MBB_c Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-body-color);--lia-local-icon-color-h:var(--lia-bs-body-color-h);--lia-local-icon-color-s:var(--lia-bs-body-color-s);--lia-local-icon-color-l:var(--lia-bs-body-color-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/chevron-down.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#chevron-down"></use> </svg></span></a> </div> </div><a tabindex="0" href="https://techcommunity-microsoft-com.translate.goog/Blogs?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" class="styles_lia-g-navbar-link___5V8S" data-testid="NavbarLink.external" target="_self"><span class="styles_lia-g-navbar-link-text__hNCPc">Blogs</span></a><a tabindex="0" href="https://techcommunity-microsoft-com.translate.goog/Events?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" class="styles_lia-g-navbar-link___5V8S" data-testid="NavbarLink.external_1" target="_self"><span class="styles_lia-g-navbar-link-text__hNCPc">Events</span></a> <div data-menu-open="false" class="NavbarDropdown_lia-dropdown__UxoG7 styles_dropdown__gtmlA"> <div aria-haspopup="true" aria-label="Press the down arrow to open the menu" data-testid="NavbarDropdown.Toggle" tabindex="-1" id=":Renmmilbem:"> <a tabindex="0" href="https://techcommunity-microsoft-com.translate.goog/category/MicrosoftLearn?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" class="styles_lia-g-navbar-link___5V8S NavbarDropdownToggle_lia-link-extender__HG9yN NavbarAnchor_lia-disabled__IqfY3" data-testid="NavbarLink.microsoft_learn" target="_self"><span class="styles_lia-g-navbar-link-text__hNCPc">Microsoft Learn <svg class="styles_lia-g-navbar-dropdown-icon__MBB_c Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-body-color);--lia-local-icon-color-h:var(--lia-bs-body-color-h);--lia-local-icon-color-s:var(--lia-bs-body-color-s);--lia-local-icon-color-l:var(--lia-bs-body-color-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/chevron-down.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#chevron-down"></use> </svg></span></a> </div> </div><a tabindex="0" href="https://techcommunity-microsoft-com.translate.goog/category/Community-Info-Center?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" class="styles_lia-g-navbar-link___5V8S" data-testid="NavbarLink.community_info_center" target="_self"><span class="styles_lia-g-navbar-link-text__hNCPc">Lounge</span></a> </div> <div class="NavbarTextLinks_lia-more__Lo2H5"></div> </section> <section class="Navbar_lia-section__0E_DT Navbar_lia-controls__i63Rp"> <a data-testid="AuthenticationLink.registration" class="Navbar_lia-controller-text-link__1JNsW styles_lia-g-navbar-link___5V8S" href="https://techcommunity-microsoft-com.translate.goog/t5/s/gxcuf89792/auth/oidcss/sso_login_redirect/provider/default?referer=https://techcommunity.microsoft.com/blogs&_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Register</a><a data-testid="AuthenticationLink.login" class="Navbar_lia-controller-text-link__1JNsW styles_lia-g-navbar-link___5V8S" href="https://techcommunity-microsoft-com.translate.goog/t5/s/gxcuf89792/auth/oidcss/sso_login_redirect/provider/default?referer=https://techcommunity.microsoft.com/blogs&_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Sign In</a> </section> </div> </nav> <div class="Navbar_lia-nav-spacer__e1b2y" aria-hidden="true"></div> </header> <main id="main-content"> <section class="QuiltSection_lia-section-spacing__WK9AB" data-testid="QuiltSection-node-navigation"> <div data-testid="ThemedContainer" class="ThemedContainer_lia-fixed-container__MPYgN styles_container__6wTQq"> <div class="styles_row__sjnST"> <div style="--lia-content-item-border:none" class="QuiltSection_lia-column__iNmDj styles_col-lg-12__u20eR"> <div class="styles_lia-g-section-widget__aHMgk"> <article class="CustomComponent_lia-article__sQ7z4" data-testid="CustomComponent"> <section></section> </article> </div> </div> </div> </div> </section> <section class="QuiltSection_lia-section-spacing__WK9AB" data-testid="QuiltSection-home-widgets-section-1"> <div data-testid="ThemedContainer" class="ThemedContainer_lia-fixed-container__MPYgN styles_container__6wTQq"> <div class="styles_row__sjnST"> <div style="--lia-content-item-border:none" class="QuiltSection_lia-column__iNmDj styles_col-lg-8__V2wNr"> <div class="styles_lia-g-section-widget__aHMgk"></div> <div class="styles_lia-g-section-widget__aHMgk"> <article class="PaneledItemList_lia-panel-list-standard__6akrM styles_text-body__F7QRV" data-testid="PanelItemList.MessageListForNodeByRecentActivityWidget"> <header class="PaneledItemList_lia-panel-list-header__yTGbK"> <h3 class="styles_text-break__Ny06M styles_h5__q_74t styles_mb-0__dO7t3">Recent Blogs</h3> </header> <section class="PaneledItemList_lia-panel-list-body__FDtRF PaneledItemList_lia-has-footer__CUfyF styles_lia-g-mb-0__AIhaX" role="tabpanel"> <ul class="styles_list-unstyled__4L_2i styles_lia-g-list-li-mb-xl__aRbIa"> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Azure Database for PostgreSQL Flexible Server - Elastic Clusters, faster disks, and AI updates" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/azure-database-for-postgresql-flexible-server---elastic-clusters-faster-disks-an/4329788?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LTZrQnlqaw?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">12 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Azure Database for PostgreSQL Flexible Server - Elastic Clusters, faster disks, and AI updates" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Azure Database for PostgreSQL Flexible Server - Elastic Clusters, faster disks, and AI updates" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/azure-database-for-postgresql-flexible-server---elastic-clusters-faster-disks-an/4329788?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Azure Database for PostgreSQL Flexible Server - Elastic Clusters, faster disks, and AI updates</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Increase scalability, optimize performance, and integrate advanced AI features with Azure Database for PostgreSQL Flexible Server. Scale up with SSD v2 for up to 4x more transactions per second and significantly lower latency. Scale out effortlessly with Elastic Clusters using Citus, distributing workloads across multiple servers at no extra cost. Optimize performance with Automatic Index Tuning, reducing server utilization and enhancing efficiency. Leverage advanced AI features like DiskANN, semantic reranking, and Graph RAG to build better AI apps. Charles Feddersen, Partner Director of Program Management for Postgres at Microsoft, joins Jeremy Chapman to show you how to build scalable, high-performance AI apps on Azure PostgreSQL Flexible Server today. Up to 4x more transactions per second & lower latency. Get started with SSD v2 public preview on Azure Database for PostgreSQL Flexible Server today. Scale your PostgreSQL workloads using an elastic cluster. Run your Postgres workload at cluster scale with Flexible Server today. See it here. Reduce query time from minutes to milliseconds. Optimize PostgreSQL performance with Azure Database for PostgreSQL Automatic Index Tuning. Start here. Watch our video here. QUICK LINKS: 00:00 — Azure Database for Postgres Flexible Server 00:39 — Updates to PostGreSQL 01:50 — Faster storage with SSD v2 03:06 — Scale out workloads using elastic cluster 03:59 — Provision an elastic cluster 05:34 — Scale “in-place” 07:12 — Eliminate redundant indexes 07:44 — Optimize server parameters 09:52 — Improve AI apps with Postgres Flexible Server 11:40 — Code behind queries using PG Admin 12:31 — Scale workloads 13:36 — Wrap up Link References Get started at https://aka.ms/azurepostgresblog Access code at https://aka.ms/AzurePostgresAI Unfamiliar with Microsoft Mechanics? As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. Subscribe to our YouTube:https://www.youtube.com/c/MicrosoftMechanicsSeries Talk with other IT Pros, join us on the Microsoft Tech Community:https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog Watch or listen from anywhere, subscribe to our podcast:https://microsoftmechanics.libsyn.com/podcast Keep getting this insider knowledge, join us on social: Follow us on Twitter:https://twitter.com/MSFTMechanics Share knowledge on LinkedIn:https://www.linkedin.com/company/microsoft-mechanics/ Enjoy us on Instagram:https://www.instagram.com/msftmechanics/ Loosen up with us on TikTok:https://www.tiktok.com/@msftmechanics Video Transcript: - Postgres is one of the most popular open source databases in use today. And the team at Microsoft has been working to make Postgres on Azure more scalable, easy to manage, and more optimized for building new AI apps. And today we’re going to explore Azure Database for Postgres Flexible Server to learn more about scaling infrastructure and designing data models to support different workloads, optimizing configurations for specific workloads quickly and easily, leveraging new AI features to build better AI apps. And to walk us through all this, I’m joined once again by Charles Feddersen who leads the product management team for Postgres on Azure. Welcome back. - Thanks for having me. It’s great to be back, Jeremy. - And it’s really great to have you back on. You know, last time you were on the show, we actually showed how Microsoft is deeply invested in Postgres. Not only do we run the Flexible Server managed service in Azure, we also contribute heavily to the open source community. So what are some of the latest updates that we have that we’ve worked on with Postgres? - Yeah, look, there’s really been a ton of updates. For the latest Postgres 17 release, Microsoft engineers made 412 commits to the open source project, and these include capabilities like I/O combining, which can improve I/O efficiency, and planner changes to optimize UNION scenarios, amongst many others. Both of these optimizations improve query performance and are easily applied to your existing workloads. - Okay, so as we make updates and the community makes updates, how soon can we get those into the service running on Azure? - So we’ve got it down to just a few days. In fact, this year we reduced the time between open source Postgres 17 becoming generally available, and when we shipped it in Flexible Server to just four days. And one of the best things is that we’ll make Postgres 17 in Azure generally available in-place so that you won’t need to redo any of the work that you’ve done during preview. And we’re working on ways to bring new Postgres versions to Azure even faster in the future. - Okay, so Postgres is already running on version 17 on Azure. So what are we doing now in terms of making Azure the best place to run your Postgres workloads? - So we’re really focused on scalability, and we’ve taken three distinct approaches to this. The first is to provide the latest Azure infrastructure for Flexible Server, and in this case, it’s faster storage with SSD v2. I’ll show you the performance of these disks. I’ve set up a side-by-side benchmark to demonstrate the performance of premium SSD v1 versus premium SSD v2 on the right. I’ll go ahead and kick off the benchmark, and on the right side, I’ll highlight the host name to show that I’m using SSD v2 on the right, whereas I’m using SSD v1 on the left. I’ll kick off the SSD v1 benchmark on the left. And as we can start to get some initial results, you can see that v2 are running at about 15,000 transactions per second, whereas v1 is only running at about 4,000 transactions per second. And this correlates to the latency being much higher on SSD v1 than v2. And so scaling up the disk to SSD v2 alone can provide almost 4x transactions. These disks are still in preview, but you can start to test and get started today. - All right, so we’ve seen now scaling up using faster disks, but you mentioned there were three different approaches. So what are the other ones? - Yeah, the second approach is scaling out workloads using the new elastic cluster feature. This enables you to distribute a single Postgres workload across multiple servers using sharded data. Elastic clusters use Citus to scale workloads, and it’s now available in Flexible Server for no additional cost. And Citus supports two approaches for scaling out your data. You can either create distributed tables that spread the rows of a table across different servers, or you can distribute entire schemas where one or more schemas are stored on each node of a cluster. And unlike previous versions of Citus, the elastic cluster and Flexible Server has no coordinated node. You can just add compute nodes and scale your workload. This makes it more efficient and easier to manage. - Okay, so what does it take then to set up an elastic cluster in this case? - Yeah, I can show you. I’ll start by provisioning a Flexible Server with elastic cluster. I’m in the portal, and I’m going to configure a new Flexible Server. I’ll click configure server, and you can see I’ve got a new cluster option. The default is server, which is a traditional single node Flexible Server that you can use today, or I can choose the new elastic cluster option. I’ll select that, and then I just need to set the number of nodes in my cluster, and I’ll start with four. So I’ll move over to pgAdmin, and I’m connected to my cluster. So let’s scale out a table. I’ve created a normal Postgres table with this query, and distributed it out using a Citus command. Super easy. Now, I’ve pre-populated a table earlier, so let’s use that to build on our previous demo to show SSD v2 performance in a cluster. Here, I’ve got another side-by-side demo with terminal windows, where the left side is a single Flexible Server, and on the right is an elastic cluster with four nodes. I’ll kick off the left with the single server, and now the cluster on the right. And as this runs, you’ll see that the cluster with sharded data has significantly higher transactions per second versus our Flexible Server running on SSD v2. And once it’s complete, you’ll see the average transactions per second is much higher, and the latency is also significantly lower in this case. - It’s really great to see this has come to Flexible Server, but now we’ve kind of looked at scaling up with our disks and scaling out with our elastic cluster. So what’s the next one? - Yeah, so the third approach is simply scaling in-place, where we’ve built features to help maximize the usage of existing resources. And there are two ways to do this automatically in Postgres Flexible Server. First, instead of manually tuning indexes, which is time consuming and error prone, we’ve built Automatic Index Tuning to optimize indexes for you. A well-designed index can reduce query time from minutes to milliseconds. Let me show you an example. Here I’m in the portal on the index tuning blade, and you can see that the tuning engine is configured to analyze the past one hour of queries. But I’d like a larger sample size. So I’ll click on tuning settings and change the frequency to four hours, and this will then analyze a four-hour window of my workload. You can see there are other configurations specific to create and drop recommendations, but we’ll leave those as is. Once the tuning is finished, I can see there are 20 recommendations, and I’ll go ahead and click to view those. I’ll select the top recommendation. And you can see it tells me the database, schema, and table that the index applies to. It gives me the SQL script to create the index. And it even gives me an impact assessment so that I can see the estimated performance improvement, size on my disk, and the reason for creating this index. Skipping ahead, I’ve gone ahead and created those 20 indexes, and I’ll look at the resource usage on my database. You can see that before index tuning, my server was running at about 70% utilization, but now it’s dropped significantly to only about 15%. This is a great outcome using a really simple index optimization feature. - So in this case, we saw how the creation of indexes basically helps in terms of performance, but I know for personal experience also dropping redundant indexes can help performance as well. - Yeah, I think generally the focus is on creating indexes to improve performance, but what a lot of people don’t realize is that over time, redundant indexes accumulate, which can have a significant impact on performance. This feature is really useful for eliminating redundant indexes and it reduces the compute required to maintain indexes and the IOPS and disk space needed to modify and store them. - So how else then can we optimize our Postgres workloads? - So another key approach in Postgres is optimizing server parameters. Tuning server parameters is a well-known optimization technique for Postgres, but it’s hard to get right, and even once you do, workloads change and the new configuration may not be optimal anymore. So to help with this, we’ve now automated parameter tuning, and we’ve had really positive feedback from organizations who have faced this challenge in their own workloads. - Okay, so how would something like this then work? - Well, it profiles your workload and progressively reconfigures a subset of server parameters to find the optimal configuration to maximize throughput. Let me show you how it works. I’m in the portal, and you can see I’m in the parameter tuning blade. I’ll click run tuning session, and the blade gives me the choice of restarting during the optimization process or not. This is because Postgres has some parameters that need a restart to take effect. I’ll keep no restart enabled to avoid interruption to my workload. And you can see that the session has started. And when I click into the tuning session, there are two charts. The top one shows an average query runtime, which we want to minimize, and the lower one is for transactions per second, which we want to maximize. The tuning session actually takes about four hours, so I’m going to show you one we prepared earlier. About halfway through, you can see the charts are populated to show the performance of different parameter configurations. And if we skip to the end, the green shows the optimal configuration. Now, if you’re curious, you can select other parameter configurations from the chart and then look at the table below to see the different settings for each parameter. - Right, and those recommendations effectively add scale. And I say it in air quotes, because it’s kind of like if you want to make a race car faster, you can either lighten its weight or you can add more horsepower. So getting that kind of in-place optimization there first is always a good practice. - Yeah, look, you always want to maximize the resources that you’ve got first before you add more, but sometimes there is no option but to add more power. The scale-out capabilities are unique to this class of Postgres service, and if the data model is well architected for scale-out, you can see a significant performance boost in your apps. - That’s really good advice. But I want to switch gears because I think a lot of people that are watching right now are developers who’re thinking about things like writing AI apps. So how can Postgres make AI apps better? - Yeah, so we’re a couple of years into this AI journey. Application patents are starting to be established, and we’ve seen a lot of amazing AI apps on Flexible Server. And your feedback for AI features is clear that the most important requirement for querying a database is accuracy. And so to help with this, we’ve implemented three new features: a new vector index called DiskANN, which was developed by Microsoft to optimize how indexes are used in memory and offloads work to the disk, Semantic Reranking to reorder query results and improve their accuracy, and Graph RAG that allows querying of complex relationships between data points and can significantly improve recall. - And the good news is, as a Postgres developer, you can just use normal SQL commands. - That’s right. You can leverage each of these features independently or combine them to improve the recall of a query. Let me show you how to use them together. For this demo, I’m going to use a simple app to show how recall improves, and then we’ll walk through the code to show you how it actually works. I’ve got an app that searches through public US case law data. At the top, I can choose to search using either Vector Search, Semantic Ranker, or Graph RAG, which combines all techniques into a single query. I’ll run the prompt on the left, which relates to prominent cases of water leaking in Washington. In the results, we can see cases related to water but nothing prominent. Let’s go back now and try the Semantic Ranker approach. And these results, I can see water leaks, but still not quite right now. I’ll go one more time and use Graph RAG. These results look really good, and I can see a specific reference to a prominent case of water leakage in Bremerton, which is in Washington. Let’s look at the code behind each of these three example queries using pgAdmin. I’ve got three tabs here, one for each query, and I’ll just show you the key syntax for each one. The first query just uses a standard pgvector operator for cosine distance to return the most relevant results. The second query for ranking is a little more complex. This part of the code passes my initial results to the ranker model to optimize for better relevance. And the third query is a little more complex, again. To provide Graph RAG functionality, we’re using the Apache AGE extension. This part of the code is the key difference where we’re using the cypher query to count the number of citations each legal case has to identify which ones are the most prominent. - Right, and search is such an important part for RAG and also agentic-based applications, so I wonder though, if you can take basically the scale that we saw before with all the things we’re doing to scale up and out and kind of in place, and this search technology together to make things better. - Yeah, absolutely. When you start to work with embeddings, you’ll notice pretty quickly that they’re really large in size and computationally intensive to query, and you can exhaust the scale of a single server or a disk pretty quickly. With Flexible Server Elastic Cluster, you can easily scale these workloads across machines to multiply compute and storage for these large workloads. Let me give you a quick example. I’m connected to a standard single node Flexible Cluster on the left and an elastic cluster with four nodes on the right. I’m running a simple similarity search query against embeddings with a vector index. On the left, you can see my single node returns about 2000 transactions per second, but my four node cluster on the right provides the scalability with around 8,000 transactions per second. This horizontal scalability is very important for building RAG-based apps on Postgres, where you may have thousands of concurrent users chatting with the data at once. So now we’ve shown how Postgres Flexible Server can meet performance demands and also how it can power new AI apps. So for all the folks that are watching right now looking to get started, what do you recommend? - You can find all of our latest updates at aka.ms/azurepostgresblog, and you can also access the code I walked through today at aka.ms/AzurePostgresAI. - Thanks, Charles. It’s great to see how Postgres just keeps getting better on Azure. Of course, you’re going to want to check out our previous shows on Postgres and AI. Subscribe to be the first to see the new ones. And as always, thank you for watching. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4329788"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Zachary-Cavanell" aria-describedby="UserHoverCard-205" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/zachary-cavanell/205?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Zachary-Cavanell</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft Mechanics Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoftmechanics/blog/microsoftmechanicsblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft Mechanics Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Azure Database for PostgreSQL Flexible Server - Elastic Clusters, faster disks, and AI updates" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/azure-database-for-postgresql-flexible-server---elastic-clusters-faster-disks-an/4329788?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 23, 2024 at 11:50 PM" role="none">Nov 23, 2024</span></span></a> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>8<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Windows 365 Frontline updates: New shared mode" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/windows-365-frontline-updates-new-shared-mode/4322036?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUtjU1JrQQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">8 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Windows 365 Frontline updates: New shared mode" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Windows 365 Frontline updates: New shared mode" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/windows-365-frontline-updates-new-shared-mode/4322036?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Windows 365 Frontline updates: New shared mode</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Provide tailored Cloud PC experiences for diverse workforce needs with Windows 365 Frontline. With shared mode, offer cost-effective, on-demand Cloud PCs that reset after each session — ideal for frontline and part-time staff needing intermittent access. Dedicated mode delivers a personalized, consistent desktop experience for employees requiring prolonged use, all managed through Microsoft Intune. As an IT admin, set precise access policies, automate session timeouts, and adjust resources based on role requirements. Sam Tulimat, Cloud Endpoints Principal PM Lead, shows how Windows 365 Frontline is designed to optimize resources, streamline workflows, and meet the unique needs of any team, ensuring every employee has the tools they need, when and where they need them. Provide Cloud PC access to more users with fewer licenses. With shared mode, desktop experiences are secure and data resets after each session. Check out updates to Windows 365 Frontline. Boost productivity with the right mode for your Cloud PCs. Choose shared mode for quick tasks or dedicated mode for consistent access. Make sure every team member has the right tool for the job. Updates to Windows 365 Frontline. Enhance security and free up resources. Set auto log-out and idle time limits on shared Cloud PCs for efficient use in Windows 365 Frontline. See it here. Watch our video here: QUICK LINKS: 00:00 — One Cloud PC for multiple users 01:01 — Optimize costs with shared Cloud PCs 01:44 — Role-specific Cloud PCs 02:15 — Dedicated mode configuration 04:40 — Shared mode configuration steps 06:25 — Provisioning policies 07:15 — Options to reprovision Cloud PCs 07:49 — Wrap up Link References To get started, check out https://aka.ms/Windows365Frontline Unfamiliar with Microsoft Mechanics? As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. Subscribe to our YouTube: https://www.youtube.com/c/MicrosoftMechanicsSeries Talk with other IT Pros, join us on the Microsoft Tech Community: https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog Watch or listen from anywhere, subscribe to our podcast: https://microsoftmechanics.libsyn.com/podcast Keep getting this insider knowledge, join us on social: Follow us on Twitter: https://twitter.com/MSFTMechanics Share knowledge on LinkedIn: https://www.linkedin.com/company/microsoft-mechanics/ Enjoy us on Instagram: https://www.instagram.com/msftmechanics/ Loosen up with us on TikTok: https://www.tiktok.com/@msftmechanic Video Transcript: -Windows 365 Frontline now supports sharing Cloud PCs across multiple users in your organization. As a new cost effective option called shared mode in Windows 365 Frontline, you can now share Cloud PCs across groups of users that need ad-hoc access to apps to carry out specific and specialized tasks wherever they may be located. -These can be contractors, part-time workers, or frontline workers who are in your organization’s directory, in retail or other industries. In shared mode, user data is deleted once a user signs out and is made ready for the next user to start fresh with a new Windows 365 desktop experience. -This new option is in addition to the existing dedicated mode option that you may be familiar with. This provides a personalized, persistent, and full desktop experience to employees and is designed to start and stop based on a user’s working hours, which means whether your employees need occasional use for a Cloud PC or require more consistent access with a dedicated Cloud PC experience, we’ve got you covered. -Let me start by showing you an example of the new shared mode experience in Windows 365 Frontline with a retail scenario. Here, I have the Windows App open. Let’s say that I’m a member of the floor retail staff, Lynn Robbins. When I connect to a Cloud PC, you’ll see that it’s running a retail configured windows desktop with the required apps pinned to the task bar and sign in with my account. -It’s optimized for intermittent use for just a few moments each time where the floor retail staff in this case can complete, finish a task, like check or receive inventory, then sign out of the Cloud PC as you normally would. Once I sign out of the shared Cloud PC, my user profile is removed and the Cloud PC is made ready for the next staff member to sign in to repeat that task or to do something else. -Also, if you have someone in a role that wears multiple hats, like a manager, they can have access to a shared Cloud PC designed to be used with a specific task, like I just showed you, and the dedicated personalized Cloud PC that might be used throughout the day, which also shuts down once their workday ends. In this case, you see that I have access to both a shared Cloud PC for checking inventory and a dedicated Cloud PC. If I open the dedicated Cloud PC, it will be personalized to me with my files and with apps that I typically use like Microsoft Teams and Outlook. -Now, let me show you how you would set these two modes as an IT admin, starting with a dedicated mode in Windows 365 Frontline. From the Windows 365 page in the Microsoft Intune Admin Center, I’ve started a new provisioning policy. This policy is for anyone who needs a dedicated Cloud PC and that typically includes employees who require prolonged and consistent access to a device like the manager role I just showed you. -For that use case, you can choose between a licensed type for Windows 365 Enterprise edition or Frontline edition, where again, the main difference is that enterprise is always available where a Frontline Cloud PC will automatically shut down outside of working hours, then start up again while in use. Let me explain how this works. -Let’s say for example, you have nine users with only three of them working at the same time. In this case, you would only need three Frontline licenses for all nine users. This is because with dedicated mode, each license enables any three users non-concurrent access to a Cloud PC. -And when a worker completes, for example, their shift and is no longer accessing their Cloud PC, it’s turned off. And because Windows 365 gives every user their own Cloud PC, their personal settings are retained whenever they sign in. So I’ll choose the license type as Frontline. -Below that is a new option for Frontline type. Here you can see our options for dedicated and shared. In this case, I’ll choose dedicated mode, and depending on the image you select in the next step, it will give assigned users consistent access to personalized app experiences like Microsoft Teams for meetings, Outlook for email, and so it’s more suited to their role. -Then I just need to select the Microsoft hosted network and my geography for where these Cloud PCs will be provisioned, and I’ll also choose Microsoft Entra single sign-on to make it even easier to use. In the next step, I’ll keep the gallery image as mentioned with Microsoft 365 apps included, then assign it to our retail managers group in Seattle. -Now I just need to configure the Cloud PC size available to provision. Remember, with Windows 365 enterprise, you define the Cloud PC size when assigning licenses in the Microsoft 365 admin center, whereas with Windows 365 Frontline, licenses are purchased in advance, then assigned in the provisioning policy like I showed you. -Finally, to complete the policy, I just need to review and confirm. Then each member of this group is going to get their own dedicated and personalized Cloud PC. So that’s the dedicated mode experience. And then for the shared mode experience, the configuration steps are just a little different. Let me show you. -Here, I’ve started another Windows 365 Provisioning Policy, but this time for Frontline type, I’m going to choose shared. Like before, I’m going to select Microsoft Hosted Network and my geography for where these Cloud PCs will be provisioned and Single Sign On. This time for the image, I’m just going to select Windows 11 24H2, without the Microsoft 365 apps. -And here in configuration, I can choose the Windows Autopilot preparation policy name from the dropdown. This ensures that preselected apps and scripts will run prior to first sign-in, and the number of minutes I’ll allow this run as well as whether I want users to connect in case of a failure. -Then for the group assignment, I’ll choose “Retail Staff, Seattle Stores” group. This group has about 100 members, so I’m presented the Cloud PC size available to assign to this group. And below that, there are some new controls specific to shared mode. I need to give the assignment a name like retail station. -This will appear later to help describe the Cloud PC in the Windows App. Then I can add the total number of concurrent running Cloud PCs needed for this group of floor retail staff, and in this case, it’s going to be 20. That means that if 20 people are signed into these 20 Cloud PCs, if a 21st user signs in, they will not be able to access a Cloud PC until another user signs out. -And unlike the dedicated mode, Windows 365 Frontline experience where Cloud PCs are stopped and started according to employees working hours, these are always running and ready to go. I’ll keep the defaults for the rest to save time and confirm. And that’s it. We’ve configured Windows 365 Frontline experiences for dedicated and shared mode use cases. -Then once services are up and running, you can monitor the experiences and usage of Windows 365 Frontline Cloud PCs. For example, if we fast forward in time a little, here, you can see that the shared Cloud PC that I just provisioned are occasionally hitting our peak number of 20 sign-in users active across all 20 Cloud PCs. And the good news is that we have options to help. -First, you can expand the Cloud PC limit as needed, where here you might want to change the count from 20 to 25, or you can set policies to automatically end sessions after a defined number of idle minutes. Here, the end, a disconnected session option, after one minute of idle time locks the screen, but the session remains active. -The next control is a time limit that signs the user out, in this case after five minutes, and this frees Cloud PCs up faster for other employees. Additionally, you have options to reprovision Cloud PCs as needed. This is something that you might want to do as you update your Cloud PCs or the underlying Windows image used to provision them. -From an existing provisioning policies properties, you can choose to reprovision assigned Cloud PCs immediately and set the percentage of these Cloud PCs that you want to ensure are still available for use as the update rolls out. And coming soon, you’ll also be able to reprovision the Cloud PCs assigned to a provisioning policy on a weekly or monthly schedule at the time you choose. This way you can ensure that your Cloud PCs do not drift from your desired state. -So with Windows 365 Frontline, you now have tailored options to choose from for expanding access to Cloud PCs to your entire organization while also optimizing costs. To get started and find out more, check out aka.ms/Windows365Frontline and keep watching Microsoft Mechanics, subscribe, and thanks for watching. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4322036"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Zachary-Cavanell" aria-describedby="UserHoverCard-205" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/zachary-cavanell/205?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Zachary-Cavanell</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft Mechanics Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoftmechanics/blog/microsoftmechanicsblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft Mechanics Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Windows 365 Frontline updates: New shared mode" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/windows-365-frontline-updates-new-shared-mode/4322036?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 23, 2024 at 11:49 PM" role="none">Nov 23, 2024</span></span></a> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>11<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Build autonomous SQL databases in Microsoft Fabric" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/build-autonomous-sql-databases-in-microsoft-fabric/4330453?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLURqVHpEeA?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">13 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Build autonomous SQL databases in Microsoft Fabric" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Build autonomous SQL databases in Microsoft Fabric" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/build-autonomous-sql-databases-in-microsoft-fabric/4330453?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Build autonomous SQL databases in Microsoft Fabric</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Spin up SQL databases in seconds with Microsoft Fabric, seamlessly integrating your operational and analytical data across multiple clouds. Use AI to scale, tune, and secure databases, so you can focus on building powerful, data-rich applications without the manual management overhead. Create and host API endpoints directly from your SQL database in one click, enabling seamless interaction with your data using popular frameworks like React. Integrate your database management into your CI/CD pipelines with ease, ensuring high availability and streamlined development processes. Anna Hoffman, Principal GPM, SQL database in Microsoft Fabric, joins Jeremy Chapman, Director of Microsoft 365, to show you how to get started. Spin up a SQL database in seconds. Quickly integrate operational and analytical data without needing deep database management skills. Get started with Microsoft Fabric. Focus on building your app. Microsoft Fabric’s AI-powered SQL databases handle security, performance, and availability autonomously. See it here. Streamline the development process & enhance data integration. Microsoft Fabric’s SQL databases enable direct API creation in one click. Check it out. Watch our video here. QUICK LINKS: 00:00 — SQL database in Microsoft Fabric 00:38 — A new class of autonomous database 01:44 — Spin up a database in seconds 03:09 — Use APIs to read and write data 05:00 — Integrate into CI/CD pipeline & source control 05:41 — Bring in data from across your data estate 06:50 — Vector-based semantic search with keyword search 09:03 — See a finished app 11:12 — Query performance 12:31 — Security and control 13:04 — Wrap up Link References Sign up for a free trial at https://aka.ms/SQLinFabric Unfamiliar with Microsoft Mechanics? As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. Subscribe to our YouTube:https://www.youtube.com/c/MicrosoftMechanicsSeries Talk with other IT Pros, join us on the Microsoft Tech Community:https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog Watch or listen from anywhere, subscribe to our podcast:https://microsoftmechanics.libsyn.com/podcast Keep getting this insider knowledge, join us on social: Follow us on Twitter:https://twitter.com/MSFTMechanics Share knowledge on LinkedIn:https://www.linkedin.com/company/microsoft-mechanics/ Enjoy us on Instagram:https://www.instagram.com/msftmechanics/ Loosen up with us on TikTok:https://www.tiktok.com/@msftmechanics Video Transcript: - What if I told you you can now spin up a SQL database in seconds that is seamlessly connected to operational and analytical data sitting across multiple clouds, has built-in vector support for search, autonomously scales and tunes itself to meet demand, and is integrated with AI for easy querying and troubleshooting? Well, today, we’ll take a closer look at a new class of databases that’s part of Microsoft’s data and analytics platform, Microsoft Fabric, that does just that as you build modern AI apps. And joining me to unpack all this is Anna Hoffman from the SQL Engineering Team, welcome. - Thanks for having me on the show, - And thanks so much for joining us today. So we have a new class of autonomous database with Microsoft Fabric, so what’s behind all this? - It’s really a significant leap forward for databases. Of course, every app needs data and Microsoft Fabric by design makes data more accessible, whether that’s operational or analytical data from across your data estate. Now, anyone using Fabric without being a database or infrastructure expert can add a database that’s automatically integrated with a Fabric platform so you can build more powerful and data-rich apps for analytics. - And this is different from current PaaS databases, right? While those can automatically scale, there’s often some bit of manual expertise needed to configure and also tune and optimize the performance of those, right? - Right, this is totally different. This new class of database in Fabric is autonomous, and beyond automatic scale, they handle everything from provisioning along with index tuning, applying best practice security controls, automatic updates, and using multiple availability zones by default for high availability, which means there’s less manual burden and you can focus on just building your app. - And the first autonomous database here in this case is a SQL relational database. So how easy is it to spin up one of these if you’re a developer? - Oh, it’s super easy. One of the standout capabilities of autonomous SQL databases in Fabric is their simplicity. You can spin one up in seconds. This lets you focus on building apps rather than managing a database. Let me show you. I’m in the Fabric home experience where you can see the different workloads in Fabric, which now includes databases, and you’ll see the option for SQL databases. And as we mentioned, SQL is the first database to land in Fabric with more on the way. To create one, I’ll just give it a name, I’ll call this Dev and hit Create, and in seconds, I have a SQL database ready to go. We land in the editor and on the left you can see the familiar Object Explorer. You can see it’s currently empty. To get data, I can create data flows or a pipeline to bring external data in right from here. I can also create shortcuts. This doesn’t move the data, but it gives the ability to query other data sources, like OneLake, and even external source options like Amazon S3 buckets, Azure Data Lake storage and more. And from the quick actions in the center, I can see options to get started quickly. I’m going to start by importing some sample data. Once my sample data is ready, I can expand my tables and you can see the data structure. I can open up my product table to get a data preview and that’s it. - Okay, so now you’ve got your database set up. How would you work with that as part of your app? - Yeah, of course, you can do this using T-SQL, that’s fully supported. But what can be more powerful and flexible is using APIs to read and write this data. Databases in Fabric are the first to let you directly create and host an API endpoint to your data in one click. Let me show you. Here in the top ribbon, I have some new options to create a new query, access templates, or create a new GraphQL API. I’ll do that, name it api1, and then confirm. Here in Choose data, I can select the tables that I want to be exposed in my API. I can see a preview for the tables I select, then I just select Load and it just takes a moment. It takes me to the GraphQL playground where I can start writing queries. I’m going to paste in a query I wrote before, then go ahead and run it. Now choose to Generate code. This part’s really powerful because this Python code I can use to interact directly from my app. I’m going to go ahead and copy this sample, and from there, I can move over to my dev environment, in this case VS Code, and paste it in, can run it right from here. And in the terminal, you’ll see that it just works and it’s printed the results of my query. So if you work in React or other front end frameworks and are using APIs, as a developer, you don’t need to build intermediary services or install drivers to work with this data. - Okay, so it’s a really streamlined dev experience, but from a SQL perspective, is the SQL database that’s in Fabric the same one that we’re used to from a developer’s perspective? - Yeah, great question. So this is the exact same SQL server in Azure SQL database engine, it’s familiar, you don’t need to learn anything new. The experience is just more simple and it’s integrated into the whole data and analytics stack. - Right, and like you’ve shown, you don’t have to be a SQL database expert to create one right inside of Microsoft Fabric, and you can even generate an API in order to use that with your code. - And everything you do can be integrated into your CI/CD pipeline and source control as part of your change management process. Let me show you. From Microsoft Fabric, you can commit changes directly into source control. You can see this task flow shows the solution for our data tier and it’s fully integrated with Git. And I’ll go ahead and select all of my changes and commit them. That will run for a moment, and once it’s complete, these changes are also visible here in my Azure DevOps repo. And this can also work with GitHub too. I’ll head back to Fabric and here I can take advantage of deployment pipelines to move through the release cycle. Here you can see that I’ve added stages to move from Dev to Test to Production. So it’s fully integrated with the DevOps process as you build and maintain your apps. - And of course, as you mentioned, one of the great things here and the big advantage is part of Microsoft Fabric, so you can easily bring in your data from across your entire data estate to use it with your app. So how does all of that work? - Yeah, so I’ve shown you how you can create databases for your apps. Let me explain how the data then becomes available to others and how you can also consume data more easily across your data estate. First with SQL database and Fabric, all the data is automatically replicated to Delta Parquet format and lands in near real time into OneLake, giving you a source database endpoint and a SQL analytics endpoint. This means that you can use both your source data and replicated data as a way to load balance operational and analytical processes without them impacting each other. And if you’re new to Fabric, OneLake is the central hub where all data across your estate is represented. It can use shortcuts as references to data wherever it lives, so you can use it in place without moving or duplicating data. This makes it easier to analyze and generate insights and reports. Additionally, real-time intelligence brings streaming and operational data in with fresh insights as they’re happening, which can also be used to trigger actions and automated workflows. - And with so many developers right now probably watching that are building generative AI apps with retrieval augmented generation, how would something like Microsoft Fabric and the SQL database inside of it support those types of apps? - So these types of apps work best with vector-based semantic search together with keyword search. This is so you can retrieve the right information to augment your prompts, and we have built-in vector support, so let me show you an example. Back in Fabric, I can navigate to the files in my Lakehouse, and you can see that I have a lot of product documentation for hybrid and electric vehicles and their parts. These are pretty text-heavy PDFs with a lot of written information. We’re going to use Azure AI services and SQL database in Fabric to build a chat experience for asking questions on this data. First we need to extract and chunk the text and we can do that with Azure Document Intelligence. We can reference the PDFs in the Lakehouse and we use the function begin analyze document to extract the text from the PDF and break it up into chunks. We can clean it up and create a data frame or a table with columns like the file name, chunk ID and text. You can see that the code has gone through all the PDFs, extracted the text and generated chunks with unique IDs. Next, we need to generate embeddings, which are numerical representations of the text segments. We’ll use OpenAI to help us do this. Now you can see for every file and chunk, we have a vector representation. Now that we have embeddings, we can use the new native vector type support in SQL database to store the vectors directly in the database. Here we have a simple program that will essentially generate the embedding for a user search query, and then use the built-in vector distance function to find the most similar chunks of text. Here’s an example where we search for how to replace the oil filter and the most similar file segments are returned. We can further enhance this by leveraging LLMs to make it more conversational with completions. Here a user asked how to replace the oil filter on the CA hybrid utility truck and they ask about the minimum tire load ratings and tire pressures for the CA3 model. The AI is able to segment out the request and gives two sections of results, one with details for oil filter replacement and one with load ratings and tire pressures based on the wheel diameters for the CA3. - Okay, so now we’ve seen all the foundational components kind of in code and the Fabric portal, do we have an example maybe of a completed kind of customer-facing production app? - Yeah, I do, actually, to go along with our automotive example, I have a web app built out using Microsoft Fabric as the data backend for a vehicle manufacturer and its sales network. So this is our Contoso Automotive website, and you can see right at the top that booking a test drive is a major call to action, so we’re going to walk through that flow. The site also encourages people to sign in to both personalize the experience and make sure that when they return, they can easily pick up where they left off. You can use a Microsoft account or others so that basic data like the username can be queried from the connected account. To find the right vehicle, the questionnaire matches the options to your specific needs. This analysis is also running on the backend in Fabric to find the right model. And using the data, it recommends a personalized tour of the best vehicle match. This car looks great, but you might still have a few questions to ask before committing to a test drive. And you can do this right here using an AI agent for natural language interaction over the app’s knowledge base. You can prompt it with something very specific like, do you offer a vegan leather interior for the CA3? And a question like this could be challenging for a normal keyword search, but because we’re using semantic search with our built-in vector support, it knows that vegan leather is a synthetic material and then responds appropriately. And once you’re ready to schedule a test drive, you can prompt the agent to see if that’s something it can help with. Looks like it can. Let’s continue and ask if it’s okay to do the test drive with a car seat. Looks like that’s okay too. And from here, still using natural language, you can start to arrange a time, like you can see here for something on the weekend. The generated response also includes details about the car, a long range CA3, like we saw before, in the pearl white color and suggests the closest location with a number of available times. Once you confirm the time, the agent confirms, giving you the details for who to meet, and it will send a confirmation email with directions based on your signed in account. And it also creates a customer record with a detailed recap of the interactions along with sentiment and predictions for buying intent and more. - Okay, so now we’ve got our app running. Then as it gets more popular, how do I ensure that it’s always performant? - Yeah, great question. So SQL database in Fabric scales automatically to meet demand. The other side of this coin is about query performance, and we have you covered there too. For example, here in the performance dashboard, I can see above normal spikes in CPU consumption across my running queries, and I can drill into any of these spikes for more details and lower time granularity. This query on top is consuming the most CPU in this time period, so let’s see what’s behind that. I can see details for its runs over time and the T-SQL query on the right. I’m going to change the time interval to 24 hours so I can take a look at what’s been going on in the past day. Fabric makes it easy for me to then copy this query and open the Query Editor. Here, I’m going to see if Copilot can help me optimize this query. I’m just going to add a comment to the bottom with a simple prompt that says, “Optimize above query.” It tells me an easy to follow language that it recommends a CTE or common table expression to pre-aggregate the data before joining, then select from the CTE to be more efficient. It gives me the new optimized query that I can verify and use to rewrite my original query. So I can get actionable recommendations from Copilot to make these types of improvements pretty easily. - I’ve got to say that coding, scripting and querying are some of the best applications at the moment for generative AI. And this is really a simplified provisioning and developer experience then for databases, but sometimes these things can come at the cost of things like security or control. - Well, Microsoft Fabric is built with security in mind. Access management and compliance really is at its core. Identity and access management is controlled via Microsoft Intra. You also have full role-based options for any people or entity working directly with Fabric. Additionally, Fabric is deeply integrated with data security and compliance tools in Microsoft Purview where it supports sensitivity labels, as well as the protection policies you set across your data estate. - So now you’ve got everything that you need to build robust data services for your apps, with all the controls that you need to manage it, and as a developer, you can just focus on your code. So what do you recommend for the people who are watching right now to learn more? - So this one is easy, go try it out. SQL database in Fabric is in public preview today. And to learn more, you can just go to aka.ms/SQLinFabric and sign up for a free trial. - Thanks so much for joining us today, Anna. And of course, to stay up to date with the latest tech, be sure to subscribe to Microsoft Mechanics, and as always, thank you for watching. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4330453"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Zachary-Cavanell" aria-describedby="UserHoverCard-205" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/zachary-cavanell/205?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Zachary-Cavanell</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft Mechanics Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoftmechanics/blog/microsoftmechanicsblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft Mechanics Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Build autonomous SQL databases in Microsoft Fabric" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/build-autonomous-sql-databases-in-microsoft-fabric/4330453?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 23, 2024 at 11:48 PM" role="none">Nov 23, 2024</span></span></a> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>8<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Data Security Posture Management (DSPM), new to Microsoft Purview" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/data-security-posture-management-dspm-new-to-microsoft-purview/4329785?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LUZiOGs3YQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">8 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Data Security Posture Management (DSPM), new to Microsoft Purview" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Data Security Posture Management (DSPM), new to Microsoft Purview" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/data-security-posture-management-dspm-new-to-microsoft-purview/4329785?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Data Security Posture Management (DSPM), new to Microsoft Purview</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Stay ahead of evolving risks and mitigate vulnerabilities with Microsoft Purview Data Security Posture Management (DSPM). Gain prioritized visibility into data security risks, track unprotected sensitive information, and receive actionable insights. With built-in classifiers, automated risk assessments, and AI-powered capabilities like Security Copilot, you can identify and mitigate threats, ensuring a compliant data security environment. Talhah Mir, Microsoft Purview’s Principal Group Product Manager, shows how to transform your data security strategy with automated, intelligent risk management and maintain continuous protection across your organization. Stay ahead of evolving risks and mitigate vulnerabilities. See how to manage your data security posture with Microsoft Purview DSPM. Automatically scan your organization’s data for security gaps with built-in classifiers. Get quick, actionable insights with Microsoft Purview DSPM. Uncover risks associated with generative AI apps. Leverage Microsoft Purview and Security Copilot to ensure your organization’s data remains secure. Watch our video here: QUICK LINKS: 00:00 — Build and maintain a strong data security posture 01:25 — Start in Microsoft Purview Portal 02:14 — Microsoft Purview solutions 03:39 — Analytic reports 04:39 — Take action 05:30 — AI app-focused view 06:13 — View trends 06:59 — Add Security Copilot capabilities 09:37 — Wrap up Link References Get started at https://aka.ms/DSPM Unfamiliar with Microsoft Mechanics? As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. Subscribe to our YouTube: https://www.youtube.com/c/MicrosoftMechanicsSeries Talk with other IT Pros, join us on the Microsoft Tech Community: https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog Watch or listen from anywhere, subscribe to our podcast: https://microsoftmechanics.libsyn.com/podcast Keep getting this insider knowledge, join us on social: Follow us on Twitter: https://twitter.com/MSFTMechanics Share knowledge on LinkedIn: https://www.linkedin.com/company/microsoft-mechanics/ Enjoy us on Instagram: https://www.instagram.com/msftmechanics/ Loosen up with us on TikTok: https://www.tiktok.com/@msftmechanics Video Transcript: -Do you have a good handle on the data security risks like data leaks and data theft in your organization? Building and maintaining your data security posture is hard. Every day, people are creating information, and they’re sharing it both inside and outside of the organization. -They may not necessarily be protecting that information consistently, if at all, or there may be policy gaps in the types of information protected, and even where protections are in place, users might downgrade them to more easily share and collaborate, or they may be pasting sensitive information into non-sanctioned AI tools to speed up their productivity. The volume of data and the level of activity around it is hard to get a handle on, and this is where Microsoft Purview Data Security Posture Management, or DSPM comes in. -It gives you prioritized visibility into the data security risks impacting your organization’s data so that you can quickly focus your efforts, and provides a centralized place to continually measure the effectiveness of your data security policies. This also includes surfacing data security risks based on the use of Gen AI apps in your organization, and with built-in Security Copilot integration, I’ll show you how you can effortlessly investigate and uncover risks that might not be immediately apparent. -And the good news is that you can use Microsoft Purview Data Security Posture Management, even if you haven’t configured a single policy in Microsoft Purview or are starting from scratch. Getting started is easy. From the Microsoft Purview portal, you’ll navigate to Data Security Posture Management, then just turn it on, and once you confirm, it will automate the data security risk assessment of your tenant. Under the covers, it uses Microsoft Purview’s built-in classifiers to scan for sensitive information types and leverage other built-in analytics to look for unprotected data and the actions being taken on it. -And after one to three days, depending on the size of your tenant, you’ll see a populated dashboard with a detailed report on your unprotected sensitive information along with where it resides, and top-line insights into activities happening with the data with a detailed report. -Then to help you mitigate top data security risks in your tenant, we give you policy recommendations for implementing protective controls. And this assessment gets even richer if you’re using Microsoft Purview’s best-in-class solutions across areas like Data Loss Prevention to ensure you’re preventing data risks as sensitive information is created and moves inside and outside of your environment. -Information Protection to make sure that content is labeled and classified as a means to discover and trigger the right protections, or Insider Risk Management to catch data risk based on the activities and intent of employees using established user risk levels. All these are solutions that you have access to if you have Microsoft 365 E5 today, and when you use them, those signals will also flow into Data Security Posture Management. -This includes all logged activities and any configurations you may have set. DSPM takes those signals and connects the dots across where information is stored, how it’s being moved, even who is moving it, and their level of user risk, which means everyone, especially your data security analysts, can have a common and holistic perspective on your organization’s data security risks, and together, you can continually measure the effectiveness of your data security policies. -So, it removes people and tool silos where you may have different domain experts using these different solutions, and it prevents gaps in your overall data security posture management strategy. -And as you manage your data security risks daily, it’s the one place to start your day. Here, I’m able to see available analytic reports of where my unprotected sensitive data resides, and the top risky activity types, like exfiltration. This is a correlated view against users with elevated risk levels, because they are either departing, disgruntled, potentially high-impact users, like your executive staff or global admins, high risk based on user risk thresholds, or more. -So, I can get a firm gauge on what data’s unprotected and at risk, where it resides, how the sensitive data is being moved, and the risk level of users interacting with it. In fact, let’s open the data risk report for unprotected sensitive data, and I can see the total count of files that have no protections and where they reside. This is broken down further by their classifiers, which are sensitive information types, how many items are not labeled at all, and where content may be labeled but has no corresponding protection, which is why the two counts can be different from one another. -Now we know where the data sits, let’s go back to the dashboard to look at how people may be interacting with the data and potentially placing it at risk. And I can dig into the details for users performing risky activities on unprotected sensitive data and see a complete breakdown of the user activity types along with sensitive data types, the risk levels of users, and the totals. And again, I can use all this to review and identify opportunities to fine-tune my policies. -In fact, back on the dashboard, there are two data-driven recommendations as actions for me to take, and to take action, I’ll view the recommendations for prevent sequential activities that might leak sensitive data, and quick policy setup helps me implement an Insider Risk Management and Data Loss Prevention policy right from here. I have the option to customize, but since I agree with the defaults, I can create this with one click. As I mentioned, DSPM also gives you an AI app-focused view of your data security posture. -I can see top-level AI app usage insights from the dashboard view and drill into additional details in the DSPM for AI dashboard in the Activity Explorer view, which is focused on AI app activities, and I can head over to the DSPM for AI reports to see even more, including details for activities with breakdown by app type, how sensitive data is being used across different AI experiences, and user activities with AI apps pivoted on their insider risk levels. So, DSPM for AI gives you broad visibility into how people are using generative AI apps in your organization. -That said, now that I have a bit of history with our data, we can look at the trends in our DSPM view. In the top-level report, I can see details for percentage of documents that are getting labeled either manually or using auto labeling policies. Then I have a view of sensitive assets covered by at least one DLP policy, like the one I created before with our quick policy. And finally, a view of the risk levels for users in the organization and how that’s trending over time. -So, there’s evidence that our data security posture is increasing based on the number of labels applied and DLP policy matches. The nice thing here is that you can see org-wide trends. For example, we implemented an auto-labeling policy that impacted a lot of files, and we also see that the medium risk user count also went up. So, what’s happened? These are great aggregate views, but I want more specificity. That’s where we can add Security Copilot capabilities to drill down into the reasons for some of these trends, why they’re happening, and get more details from each. -When you add Security Copilot to Microsoft Purview, it adds additional capabilities to DSPM, as you can see on the top. These give you starter prompts to prioritize alerts, detect sensitive data leaks, find devices at risk and risky activity. I’m going to in fact, start an investigation with Copilot to hunt for sensitive data leaks. That will open up the Copilot panel and start generating a response for what it finds. Here are three sensitive files. -Then, under the generated response for these additional suggested prompts, it guides me through the recommended path for investigation. So, I’ll keep going and click on this one to find out the data labels for these files, and it gives me the file names and their corresponding labels. I know that Project Obsidian is a highly confidential project, and the acquisition plans and resumes also contain sensitive information. The last two were detected based on our trainable classifiers in Microsoft Purview. -Then it also gives me more suggested prompts to continue my investigation, to find out the activities for files containing Project Obsidian, who accessed these files, and the activities involving sensitive data from the last week. I’m curious if the labels for Project Obsidian in particular were downgraded, and of course, at any time, I can also enter my own prompt here as well. So, I’ll do that and prompt it to provide a list of all label downgrade and exfiltration activities on files with Project Obsidian info. -And using this session’s context with previous prompts and responses, it finds and presents me with insights about what’s happened. It looks like in the last 30 days with these sensitive Project Obsidian files, first labels were downgraded, which would then have enabled them to be shared externally in order to work around the DLP policies we have in place. -On the left, it suggests that I configure an adaptive protection policy to detect these types of obfuscation techniques. And from here I can ask Copilot, How can an adaptive protection policy prevent this from happening in the future? It looks like this will help protect us against these types of risks by dynamically adjusting policies based on user risk levels. So, I’ll take the recommended action, and I can turn adaptive protection on in just two clicks right from here. And that’s just one example. -With Copilot, we can uncover insights from many dimensions of activities, files, devices, users, departments, or regions to supercharge the information you can find quickly, so that you can manage your security posture effectively. Data Security Posture Management is currently rolling out in preview. To find out more and get started, check out aka.ms/DSPM. Subscribe to Mechanics for the latest updates, and thank you for watching. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4329785"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Zachary-Cavanell" aria-describedby="UserHoverCard-205" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/zachary-cavanell/205?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Zachary-Cavanell</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft Mechanics Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoftmechanics/blog/microsoftmechanicsblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft Mechanics Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Data Security Posture Management (DSPM), new to Microsoft Purview" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/data-security-posture-management-dspm-new-to-microsoft-purview/4329785?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 23, 2024 at 11:47 PM" role="none">Nov 23, 2024</span></span></a> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>8<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Oversharing Control at Enterprise Scale | Updates for Microsoft 365 Copilot in Microsoft Purview" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/oversharing-control-at-enterprise-scale--updates-for-microsoft-365-copilot-in-mi/4321109?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LURMcXIybA?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">9 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Oversharing Control at Enterprise Scale | Updates for Microsoft 365 Copilot in Microsoft Purview" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Oversharing Control at Enterprise Scale | Updates for Microsoft 365 Copilot in Microsoft Purview" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/oversharing-control-at-enterprise-scale--updates-for-microsoft-365-copilot-in-mi/4321109?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Oversharing Control at Enterprise Scale | Updates for Microsoft 365 Copilot in Microsoft Purview</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Minimize risks that come with oversharing and potential data loss. Use Microsoft Purview and its new Data Security Posture Management (DSPM) for AI insights, along with new Data Loss Prevention policies for Microsoft 365 Copilot, and SharePoint Advanced Management, which is now included with Microsoft 365 Copilot. Automate site access reviews at scale and add controls to restrict access to sites if they contain highly sensitive information. Erica Toelle, Microsoft Purview Senior PM, shows how to control data visibility, automate site access reviews, and fine-tune permissions with Pilot, Deploy, Optimize phases. Protect your data from unwanted exposure. Find and secure high-risk SharePoint sites with Microsoft Purview’s oversharing report. Start here. Secure Microsoft 365 Copilot adoption at scale. Check out the Pilot-Deploy-Optimize approach, to align AI use with your organization’s data governance. Watch here. Boost security, compliance, and governance. Scoped DLP policies enable Microsoft 365 Copilot to respect data labels. Take a look. Watch our video here. QUICK LINKS: 00:00 — Minimize risk of oversharing 01:24 — Oversharing scenarios 04:03 — How oversharing can occur 05:38 — Restrict discovery & limit access 06:36 — Scope sites 07:15 — Pilot phase 08:16 — Deploy phase 09:17 — Site access reviews 10:00 — Optimize phase 10:54 — Wrap up Link References Check out https://aka.ms/DeployM365Copilot Watch our show on the basics of oversharing at https://aka.ms/SMBoversharing Unfamiliar with Microsoft Mechanics? As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. Subscribe to our YouTube:https://www.youtube.com/c/MicrosoftMechanicsSeries Talk with other IT Pros, join us on the Microsoft Tech Community:https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog Watch or listen from anywhere, subscribe to our podcast:https://microsoftmechanics.libsyn.com/podcast Keep getting this insider knowledge, join us on social: Follow us on Twitter:https://twitter.com/MSFTMechanics Share knowledge on LinkedIn:https://www.linkedin.com/company/microsoft-mechanics/ Enjoy us on Instagram:https://www.instagram.com/msftmechanics/ Loosen up with us on TikTok:https://www.tiktok.com/@msftmechanics Video Transcript: -Are you looking to deploy Microsoft 365 Copilot at scale, but concerned that your information is overshared? Ultimately, you want to ensure that your users and teams can only get to the data required to do their jobs and nothing more. For example, while using Microsoft 365 Copilot and interacting with work data, you don’t want information surfaced that users should not have permissions to view. So, where do you even start to solve for this? You might have hundreds or thousands of SharePoint sites to assess and right-size information access. Additionally, knowing where your sensitive or high value information resides and making sure that the policies you set to protect information continuously and avoid returning to an oversharing state, can come with challenges. -The good news is there are a number of updated tools and resources available to help you get a handle on all this. In the next few minutes, I’ll unpack the approach you can take to help you minimize the risks that come with oversharing and potential data loss using Microsoft Purview and its new Data Security Posture Management for AI insights, along with new Data Loss Prevention policies for Microsoft 365 Copilot and more. And SharePoint Advance Management, which is now included with Microsoft 365 Copilot. This helps you automate site access reviews at scale and adds controls to restrict access to sites even if they contain highly sensitive information. First, let’s look at how information oversharing can inadvertently occur just as it would with everyday search when using Microsoft 365 Copilot. -I’ll explain how it works. When you submit a prompt before presenting that to a large language model, the prompt is interpreted by Copilot and using a process called Retrieval Augmented Generation it then finds and retrieves grounding information that you are allowed to access in places like SharePoint, OneDrive, Microsoft Teams, your email and calendar, and optionally the internet, as well as other connected data sources. The retrieved information is appended to your prompt as additional context. Then that larger prompt is presented to the large language model. With that added grounding information, the response is generated then formatted for the app that you’re using. For this to work well, that information retrieval step relies on accurate search. And what’s important here is as you use Copilot it can only retrieve information that you explicitly have access to and nothing else. This is how search works in Microsoft 365 and SharePoint. The controls you put in place to achieve just enough access will reduce data security risk, whether you intend to use Microsoft 365 Copilot or not. -So, let me show you a few examples you may have experienced where content is overshared. I’ll start in Business Chat. I’m logged in is Adele Vance from the sales team. Her customers are pressuring her for information about new products that haven’t been internally or externally announced. She submits a prompt for 2025 product plans and the response returns a few clearly sensitive documents that she shouldn’t have access to, and the links in the response and in the citations take Adele right to those files. -Now, I’m going to switch perspectives to someone on the product planning team building the confidential plan stored in a private SharePoint site. I’m working on the 2025 product plan on a small team. This is the same doc that Adele just found in Business Chat, and if you look at the top of the document right now, there was one other person who I expect in the document. Then suddenly a few more people appear to have the document open and I don’t know who these people are and they shouldn’t be here. So, this file is definitely overshared. -Now, I’m going to switch back to Adele’s perspective as beyond the product planning doc. The response also describes a new project with the code name Thunderbolt. So, I’ll choose the Copilot recommended prompt to provide more details about Project Thunderbolt, and we can see a couple of recent documents with information that I as Adele should not have access to as a member of the sales team. In fact, if I open the file, I can get right to the detailed specifications and pricing information. -Now, let’s dig into the potential reasons why this is happening, and then I’ll cover how you discover and correct these conditions at enterprise scale. First, privacy settings for SharePoint sites can be set to public or private. These settings are most commonly configured as sites are created. Often sites are set to public, which means anyone in your organization can find content contained within those sites, and by extension, so can Microsoft 365 Copilot. -Next, is setting the default sharing option to everyone in an organization. One common misperception here is just by creating the link, you’re enabling access to that file, folder, or site automatically. That’s not how these links work though. Once a sharing link is redeemed or clicked on by the recipient, that person will have access to and be able to search for the shared content. There are, however, sharing approaches, which auto-redeem sharing links, such as pasting the link into an email and sending that to lots of people. In that case, those recipients have access to the content and will be able to search for it immediately. -Related to this is granting permissions to the everyone except external users group, as you define membership for your SharePoint sites. This group gives everyone in your organization access and the ability to search for that information too. And you’ll also want to look into permissions granted to other large and inclusive groups, which are often maintained using dynamic group membership. And if you’re using Data Loss Prevention, information protection, or other classification controls from Microsoft Purview, labeled content can also trigger sharing restrictions. -So, let’s move on to addressing these common issues and the controls you will use in Microsoft 365, Microsoft Purview, and SharePoint Advance Management. At a high level, there are two primary ways to implement protections. The first approach is to restrict content discovery so that information doesn’t appear in search. Restricting discovery still allows users to access content they’ve previously accessed as well as the content shared with them. The downsides are that content people should not have access to is still accessible, and importantly, Copilot cannot work with restricted content even if it’s core to a person’s job. So, we recommend restricting content discovery as a short-term solution. -The second approach is to limit information access by tightening permissions on sites, folders, and individual files. This option has stronger protections against data loss and users can still request access, if they need it to do their jobs. Meaning only people who need access have access. We recommend limiting access as an ongoing best practice. Then to scope the sites that you want to allow and protect, we provide a few options to help you know where to start. First, you can use the SharePoint Active sites list where you can sort by activity to discover which SharePoint sites should be universally accessible for all employees in your organization. Then as part of the new Data Security Posture Management for AI reporting in Microsoft Purview, the oversharing report lets you easily find the sites with higher risk containing the most sensitive information that you want to protect. The sites you define to allow access and limit access will be used in later steps. Now, let’s move on to the steps for repairing your data from Microsoft 365 Copilot. We’ve mapped best practices and tools for Copilot adoption across Pilot, Deploy, and Optimize phases. -First, in the Pilot phase, we recommend organization-wide controls to easily restrict discovery when using Copilot. This means taking your list of universally accessible sites previously mentioned, then using a capability called Restricted SharePoint search, where you can create and allow list of up to 100 sites, then allow just those sites to be used with search in Copilot. Then in parallel in Microsoft Purview, we’ll configure ways to get visibility into Copilot usage patterns where you can enable audit mode using Data Loss Prevention policies to detect sharing of labeled or unlabeled sensitive content. And likewise, you’ll enable analysis of Copilot interactions as a part of communication compliance. Again, these approaches do not impact information access only discoverability via Copilot and search. -Now, let’s move on to the broader Deploy phase where you will enable Copilot for more users. Here you’ll use the list of identified sites from Microsoft Purview’s oversharing report to identify sites with the most sensitive information. Controls in Microsoft Purview provide proactive information protection with sensitivity labels for your files, emails, meetings, groups, and sites. For each item, you can use more targeted controls to right-size site access by assigning permissions to specific users and groups. And when applied, these controls on the backend will move public sites to private and control access to defined site members based on the permissions you set. Next, you can enable new Data Loss Prevention from Microsoft 365 Copilot policies to exclude specific labels from Copilot prompts and responses. And you can change your DLP policies from the audit mode that you set during the Pilot phase to start blocking unnecessary sharing of labeled content where you’ll now turn on the policies in order to enforce them. -Then, two options from SharePoint Advance Management are to use restricted access control to limit access to individual sites. That way only members in defined security groups will have access, and to limit site access by operationalizing site owner access reviews. Then as an additional fine-tuning option, you can target restricted content discovery on individual sites, like you see here with our leadership site to prevent Copilot from using their content as you continue to work through access management controls. And as part of the Deploy phase, you’ll disable restricted SharePoint search once you have the right controls in place. Together, these options will impact both access permissions, as well as discovery via Copilot and search. -Next, the final Optimize phase is about setting your organization up for the long term. This includes permissioning, information classifications, and data lifecycle management. Here you’ll continually monitor your data security risks using oversharing reports. Then implement auto-labeling and classification strategies using Microsoft Purview, and ensure that as new sites are created, site owners and automated provisioning respect access management principles. These processes help ensure that your organization doesn’t drift back into an oversharing state to keep your data protected and ongoing permissions in check. Now, if we switch back to our initial user examples in Business Chat with our controls in place, if we try the same prompts as before, you’ll see that Adele can no longer access sensitive information, even if she knows exactly what to look for in her prompts. The data is now protected and access has been right-sized for everyone in the organization. -So, those are the steps and tools to prepare your information from Microsoft 365 Copilot at enterprise scale, and help ensure that your data is protected and that everyone has just enough access to do their jobs. To learn more, check out aka.ms/DeployM365Copilot. Also, watch our recent show on the basics of oversharing at aka.ms/SMBoversharing for more tips to rightsize permissions for SharePoint site owners. Keep watching Microsoft Mechanics for the latest updates and thanks for watching. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4321109"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Zachary-Cavanell" aria-describedby="UserHoverCard-205" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/zachary-cavanell/205?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Zachary-Cavanell</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft Mechanics Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoftmechanics/blog/microsoftmechanicsblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft Mechanics Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Oversharing Control at Enterprise Scale | Updates for Microsoft 365 Copilot in Microsoft Purview" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/oversharing-control-at-enterprise-scale--updates-for-microsoft-365-copilot-in-mi/4321109?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 23, 2024 at 11:43 PM" role="none">Nov 23, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name copilot" href="https://techcommunity-microsoft-com.translate.goog/tag/copilot?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">copilot</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name microsoft 365 copilot" href="https://techcommunity-microsoft-com.translate.goog/tag/microsoft%20365%20copilot?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">microsoft 365 copilot</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name microsoft purview" href="https://techcommunity-microsoft-com.translate.goog/tag/microsoft%20purview?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">microsoft purview</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>6<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Escalando Nodes e Pods no AKS" href="https://techcommunity-microsoft-com.translate.goog/blog/desenvolvedoresbr/escalando-nodes-e-pods-no-aks/4221166?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg1NmlFRDdDQzY4QkZCMzBDM0U3?image-dimensions=300x400&constrain-image=true" alt="autosacle.jpg" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">19 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Escalando Nodes e Pods no AKS" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Escalando Nodes e Pods no AKS" href="https://techcommunity-microsoft-com.translate.goog/blog/desenvolvedoresbr/escalando-nodes-e-pods-no-aks/4221166?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Escalando Nodes e Pods no AKS</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Escalar nodes refere-se ao aumento ou diminuição da quantidade de nós (VMs) em execução no cluster do AKS. Ao escalar os nodes, você adiciona mais capacidade de computação, memória e armazenamento ao seu clu ster, o que ajuda a lidar com picos de tráfego ou carga de trabalho. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4221166"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: wdossantos" aria-describedby="UserHoverCard-1171673" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/wdossantos/1171673?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">wdossantos</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Desenvolvedores BR" href="https://techcommunity-microsoft-com.translate.goog/category/regionalblogs/blog/desenvolvedoresbr?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Desenvolvedores BR</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Escalando Nodes e Pods no AKS" href="https://techcommunity-microsoft-com.translate.goog/blog/desenvolvedoresbr/escalando-nodes-e-pods-no-aks/4221166?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 23, 2024 at 4:21 PM" role="none">Nov 23, 2024</span></span></a> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>42<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Introducing Windows 365 Link" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/introducing-windows-365-link/4308649?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LU9NN1VWUw?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">5 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Introducing Windows 365 Link" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Introducing Windows 365 Link" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/introducing-windows-365-link/4308649?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Introducing Windows 365 Link</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Windows 365 Link is the first Cloud PC device. Connect to your Cloud PC in seconds with a simple sign-in, accessing a familiar Windows Desktop with high-fidelity performance. Windows 365 Link offers seamless setup and streamlined management through Microsoft Intune, ensuring your IT environment is efficiently maintained alongside other PCs. Optimize your work experience with passwordless authentication, high-performance video conferencing, and support for essential peripherals. Designed with a robust security posture, Windows 365 Link provides data protection with features like Secure Boot and BitLocker encryption. Jalleen Ringer, Partner GPM for Windows Cloud Endpoints, shows how Windows 365 Link is the ideal choice for secure, scalable, and efficient cloud computing. Get started in minutes with Windows 365 Link. Check out how this new Cloud PC device is simple to manage using Microsoft Intune. Optimized for high-fidelity video conferencing. Get started with Windows 365 Link — the simple, secure, purpose-built device for Windows 365. Secure by default. Windows 365 Link runs a local TPM, Secure Boot, BitLocker drive encryption, Hypervisor Code Integrity, and Microsoft Defender EDR capabilities — as a purpose-built device to connect to Windows 365. Watch here. Watch our video here: QUICK LINKS: 00:00 — Windows 365 Link — First Cloud PC device 00:55 — What it’s like to use Windows 365 Link 02:32 — Ports and connectivity 03:18 — Set it up 03:48 — Device management 05:26 — Wrap up Link References Check out https://aka.ms/Windows365Link Unfamiliar with Microsoft Mechanics? As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. Subscribe to our YouTube: https://www.youtube.com/c/MicrosoftMechanicsSeries Talk with other IT Pros, join us on the Microsoft Tech Community: https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog Watch or listen from anywhere, subscribe to our podcast: https://microsoftmechanics.libsyn.com/podcast Keep getting this insider knowledge, join us on social: Follow us on Twitter: https://twitter.com/MSFTMechanics Share knowledge on LinkedIn: https://www.linkedin.com/company/microsoft-mechanics/ Enjoy us on Instagram: https://www.instagram.com/msftmechanics/ Loosen up with us on TikTok: https://www.tiktok.com/@msftmechanics Video Transcript: -Windows 365 Link is the first Cloud PC device. It’s a purpose-built solution by Microsoft with a small Windows-based OS designed to connect you to Windows 365 in seconds. With a quick sign-in to your Cloud PC, you can securely connect to a familiar Windows desktop in the Microsoft cloud, accessing a responsive high fidelity experience. And Windows 365 Link is simple and straightforward to set up. -For IT, it brings a more streamlined management experience where it can be managed alongside other PCs, in Microsoft Intune. The device is secure by design, featuring no local admin users, no local data storage, and no local apps. You can’t install or execute any arbitrary software on the device, so you’re protected from malware. -Security baseline policies are enabled by default. And its security features cannot be disabled. I’ll start by showing you what it’s like to use Windows 365 Link. First, you’ll enter your work email address, and you’re presented with multi-factor passwordless authentication. -Here we’re using the Microsoft Authenticator mobile app. Then you’re securely authenticated and connected to your Cloud PC all within seconds. And if you have a few apps open from your last session, you can pick up right where you left off. The start menu shows productivity and work apps provisioned by your IT team. -And with Windows being in the cloud, everything is up to date. We’ve enabled local redirection for web multimedia content such as streaming video. This ensures a smooth, high fidelity experience. And is also optimized for online meetings with Microsoft Teams, providing highly performant video conferencing. -And while you saw me use passwordless authentication, Windows 365 Link also works with Fido2 security keys and cross-device passkeys. So, you get the experience you would expect from a local PC with all the security and scalability of the Microsoft Cloud, resulting in a no compromise experience. -And when you sign out of your device, it returns to the sign-in experience. Your data and account information is not stored on Windows 365 Link. So it’s great as a shared use device for hot desking, contact centers, and other scenarios. Windows 365 Link also works with the peripherals you need to be productive. -You can connect them via USB and Bluetooth 5.3, including your keyboard mouse, webcam, up to two monitors at 4K resolution each, and audio including your headset. Next, let’s take a closer look at the Windows 365 Link device itself, which is compact, fanless, and lightweight by design. On the front panel there’s a USB-A port and an audio jack for easy day-to-day access. -The back panel includes two USB-A ports and one USB-C port, wired ethernet, and the power connector. It also includes a full size HDMI and display port. And on the side, there’s a slot for a Kensington Lock to physically secure the device. Its dimensions are 120 millimeters square and it’s 30 millimeters thick. -Importantly, Windows 365 Link is designed with sustainability in mind. It’s made with recycled materials and is Energy Star certified to help reduce your carbon footprint. So, now let me show you how easy Windows 365 Link is to set up for the first time. You power on your device, connect to the internet via Wi-Fi, where we support Wi-Fi 6E. And of course you can also connect via ethernet. -Then you’ll sign in with your work account and authenticate. And at that point, your device then joins your organization’s Microsoft Entra Directory, and enrolls automatically into your Microsoft Intune environment. And just like that, your device connects you to your Cloud PC. But it’s not just using the device that is simple. We also simplified and streamlined management. -From Microsoft Intune, you’ll be able to view Windows 365 Link devices alongside your other managed Windows devices and Cloud PCs. These will have a default name that starts with WCPC. And you can click in to access device details and specific management operations for each Windows 365 Link device. You can create configuration policies just like you would for any Windows 11 PC. -And because the small OS is purpose-built for connecting to the cloud, there are far fewer policies that apply to Windows 365 Link. For example, you can create a policy for blocking removable media, so that people can’t copy data from their Cloud PC to a USB drive. This helps ensure that all your corporate data stays protected in the cloud. -And to further protect your data and users, Windows 365 Link is designed for security from the ground up. It’s configured with a high security posture by default that leverages a discreet trusted platform module, Secure Boot, BitLocker drive encryption, Hypervisor code integrity, and Microsoft Defender Endpoint Detection and Response capabilities. And with strict code integrity policies in place, only the software that comes on the device can run on the device. -By default, device updates are delivered automatically and applied overnight when the device is not in use. So overall, the management overhead for Windows 365 Link is much lighter compared to other device types. And again, its security-first design significantly reduces its attack surface. -So, that’s a quick look at Windows 365 Link, the first cloud PC device purpose built by Microsoft to securely connect you to Windows 365 in seconds. To learn more, check out aka.ms/Windows365Link. And keep watching Microsoft Mechanics for the latest tech updates. Subscribe for more and thanks for watching. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4308649"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Zachary-Cavanell" aria-describedby="UserHoverCard-205" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/zachary-cavanell/205?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Zachary-Cavanell</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft Mechanics Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoftmechanics/blog/microsoftmechanicsblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft Mechanics Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Introducing Windows 365 Link" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftmechanicsblog/introducing-windows-365-link/4308649?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 23, 2024 at 9:10 AM" role="none">Nov 23, 2024</span></span></a> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>90<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="MGDC for SharePoint FAQ: Empty Columns" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoft_graph_data_connect_for_sharepo/mgdc-for-sharepoint-faq-empty-columns/4330345?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzQ1LTJqMEFMZQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">1 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="MGDC for SharePoint FAQ: Empty Columns" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="MGDC for SharePoint FAQ: Empty Columns" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoft_graph_data_connect_for_sharepo/mgdc-for-sharepoint-faq-empty-columns/4330345?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">MGDC for SharePoint FAQ: Empty Columns</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> A few customers are seeing an issue with Synapse pipelines for Microsoft Graph Data Connect for SharePoint. The symptom is straightforward: you get an error message saying that the "Columns" parameter in the request is null. It shows something like this: Operation on target TTT failed: Activity failed because an inner activity failed; Inner activity name: XXX, Error: ErrorCode=UserErrorOffice365DataLoaderError, 'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, Message=Office365 data loading failed to execute. office365LoadErrorType: PermanentError. Value cannot be null. Parameter name: Columns, Source=Microsoft.DataTransfer.ClientLibrary,' This error is basically telling you that the Columns parameter is required and cannot be null. The columns, defined in the source definition of the copy data task, should have been automatically populated for you, so this is not expected. To fix it, you can try these steps: Opening the pipeline that failed Select the copy data task in the pipeline Select the source tab Under "output columns" click on "Clear" Under "output columns" click on "Import Schema" Publish the pipeline changes Trigger the pipeline again The picture below shows the two options you need to click on I hope this article can help you fix your pipeline. For more articles on Microsoft Graph Data Connect for SharePoint, see https://aka.ms/SharePointData </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4330345"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Jose_Barreto" aria-describedby="UserHoverCard-133892" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/jose_barreto/133892?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Jose_Barreto</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft Graph Data Connect for SharePoint Blog" href="https://techcommunity-microsoft-com.translate.goog/category/content_management/blog/microsoft_graph_data_connect_for_sharepo?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft Graph Data Connect for SharePoint Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="MGDC for SharePoint FAQ: Empty Columns" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoft_graph_data_connect_for_sharepo/mgdc-for-sharepoint-faq-empty-columns/4330345?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 22, 2024 at 10:54 PM" role="none">Nov 22, 2024</span></span></a> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>58<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Introducing the newly revamped MS-4010: Build plugins and connectors for Microsoft 365 Copilot" href="https://techcommunity-microsoft-com.translate.goog/blog/iltcommunicationblog/introducing-the-newly-revamped-ms-4010-build-plugins-and-connectors-for-microsof/4330329?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LUV3TkJseA?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">2 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Introducing the newly revamped MS-4010: Build plugins and connectors for Microsoft 365 Copilot" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Introducing the newly revamped MS-4010: Build plugins and connectors for Microsoft 365 Copilot" href="https://techcommunity-microsoft-com.translate.goog/blog/iltcommunicationblog/introducing-the-newly-revamped-ms-4010-build-plugins-and-connectors-for-microsof/4330329?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Introducing the newly revamped MS-4010: Build plugins and connectors for Microsoft 365 Copilot</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Check out the major overhaul on MS-4010! </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4330329"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Mindy_Rosenthal" aria-describedby="UserHoverCard-2059525" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/mindy_rosenthal/2059525?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Mindy_Rosenthal</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent ILT Communications Blog" href="https://techcommunity-microsoft-com.translate.goog/category/mcpp/blog/iltcommunicationblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">ILT Communications Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Introducing the newly revamped MS-4010: Build plugins and connectors for Microsoft 365 Copilot" href="https://techcommunity-microsoft-com.translate.goog/blog/iltcommunicationblog/introducing-the-newly-revamped-ms-4010-build-plugins-and-connectors-for-microsof/4330329?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 22, 2024 at 10:40 PM" role="none">Nov 22, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name ILT Updates" href="https://techcommunity-microsoft-com.translate.goog/tag/ILT%20Updates?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">ILT Updates</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>34<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Maximizing Performance and Scalability with Azure Elastic SAN and Commvault" href="https://techcommunity-microsoft-com.translate.goog/blog/azurestorageblog/maximizing-performance-and-scalability-with-azure-elastic-san-and-commvault/4330160?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"> <div class="MessageViewCard_lia-message-img___Yl9D styles_lia-g-icon-size-120__xV6F8 Icon_lia-size-120__KAAz6 Icon_lia-frame__Que5I" style="--lia-local-icon-color:var(--lia-blog-color);--lia-local-icon-color-h:var(--lia-blog-color-h);--lia-local-icon-color-s:var(--lia-blog-color-s);--lia-local-icon-color-l:var(--lia-blog-color-l)"> <svg class="Icon_lia-icon__on1Gb" data-testid="Icon" aria-label="Content Type Blog icon"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/content-blog.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#content-blog"></use> </svg> </div></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">2 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Maximizing Performance and Scalability with Azure Elastic SAN and Commvault" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Maximizing Performance and Scalability with Azure Elastic SAN and Commvault" href="https://techcommunity-microsoft-com.translate.goog/blog/azurestorageblog/maximizing-performance-and-scalability-with-azure-elastic-san-and-commvault/4330160?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Maximizing Performance and Scalability with Azure Elastic SAN and Commvault</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Partner post from our friends at Commvault Learn more about Elastic SAN here! Commvault is pleased to share that Microsoft Azure Elastic SAN support for Azure virtual machines (VMs) will be available in private preview following Microsoft Ignite 2024. This innovative offering allows Elastic SAN volumes to be attached to Azure VMs via iSCSI, providing enhanced flexibility and scalability for your cyber resilience and data protection storage needs. Michael Fasulo, Senior Director of Product Management at Commvault, expressed it best: “Throughout our 27+ years of partnership with Microsoft, our goal has always been to provide the broadest workload coverage and native Azure integration, providing unmatched scalability and cost effectiveness while delivering true continuous business. Our support for Elastic SAN amplifies our strong joint value to customers, embracing today's cloud first reality.” Benefits of the New Commvault Cloud Feature Azure Elastic SAN offers a powerful and flexible storage solution that can help you optimize your workloads and achieve your business goals. With its enhanced performance, scalability, and cost-effectiveness, Elastic SAN is the ideal choice for demanding applications. Commvault Cloud’s support for Azure Elastic SAN offers significant advantages for organizations seeking comprehensive cyber resilience solutions. Commvault's integration with Azure Elastic SAN simplifies backup and recovery processes, while our robust cyber resilience and data protection capabilities provide peace of mind and minimize the risk of data loss. Why Elastic SAN Adoption is Growing Organizations are increasingly adopting Elastic SAN due to its enhanced performance, scalability, and cost effectiveness. With the surge of AI data and the need to effectively protect these large volumes of data, this new Commvault Cloud functionality helps organizations securely and cost effectively solve the need to effectively protect and secure these mission critical workloads. Commvault Cloud’s enhanced coverage of Elastic SAN will ensure these workloads are cyber resilient and recoverable from cyber-attacks: High-Performance Computing (HPC): Deliver demanding HPC applications with exceptional performance. Large scale databases: Accelerate database operations and improve query response times. Big data analytics: Process and analyze large datasets efficiently. Content Delivery Networks (CDNs): Streamline content delivery and improve the user experience. Learn more For a demo and to learn more about Commvault Cloud’s enhanced support of Azure Elastic SAN, please visit Commvault Cloud for Microsoft Azure | Commvault. To learn more about Azure Elastic SAN, visit Azure Elastic SAN documentation | Microsoft Learn or reach out to AzElasticSAN-Ex@microsoft.com. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4330160"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: dmalbrough" aria-describedby="UserHoverCard-2633582" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/dmalbrough/2633582?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">dmalbrough</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Azure Storage Blog" href="https://techcommunity-microsoft-com.translate.goog/category/azure/blog/azurestorageblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Azure Storage Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Maximizing Performance and Scalability with Azure Elastic SAN and Commvault" href="https://techcommunity-microsoft-com.translate.goog/blog/azurestorageblog/maximizing-performance-and-scalability-with-azure-elastic-san-and-commvault/4330160?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 22, 2024 at 9:22 PM" role="none">Nov 22, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name azure elastic san" href="https://techcommunity-microsoft-com.translate.goog/tag/azure%20elastic%20san?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">azure elastic san</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>35<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Curso Grátis de Node.js da Microsoft que TODO Desenvolvedor Precisa Conhecer!" href="https://techcommunity-microsoft-com.translate.goog/blog/desenvolvedoresbr/curso-gr%C3%A1tis-de-node-js-da-microsoft-que-todo-desenvolvedor-precisa-conhecer/4330231?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLXBheFNUVg?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">4 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Curso Grátis de Node.js da Microsoft que TODO Desenvolvedor Precisa Conhecer!" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Curso Grátis de Node.js da Microsoft que TODO Desenvolvedor Precisa Conhecer!" href="https://techcommunity-microsoft-com.translate.goog/blog/desenvolvedoresbr/curso-gr%C3%A1tis-de-node-js-da-microsoft-que-todo-desenvolvedor-precisa-conhecer/4330231?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Curso Grátis de Node.js da Microsoft que TODO Desenvolvedor Precisa Conhecer!</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Quer aprender Node.js e dar um upgrade na sua carreira? A Microsoft oferece um curso GRÁTIS que te ensina desde os fundamentos até a criação de APIs poderosas com Express. E tem mais: você pode obter uma certificação gratuita no final! Descubra como começar! </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4330231"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Glaucia_Lemos" aria-describedby="UserHoverCard-321336" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/glaucia_lemos/321336?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Glaucia_Lemos</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Desenvolvedores BR" href="https://techcommunity-microsoft-com.translate.goog/category/regionalblogs/blog/desenvolvedoresbr?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Desenvolvedores BR</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Curso Grátis de Node.js da Microsoft que TODO Desenvolvedor Precisa Conhecer!" href="https://techcommunity-microsoft-com.translate.goog/blog/desenvolvedoresbr/curso-gr%C3%A1tis-de-node-js-da-microsoft-que-todo-desenvolvedor-precisa-conhecer/4330231?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 22, 2024 at 9:11 PM" role="none">Nov 22, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name developers" href="https://techcommunity-microsoft-com.translate.goog/tag/developers?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">developers</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>1.7K<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="MVP’s Favorite Content: Fabric, Azure, Windows Security" href="https://techcommunity-microsoft-com.translate.goog/blog/mvpawardprogramblog/mvp%E2%80%99s-favorite-content-fabric-azure-windows-security/4310937?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXplN1VlTQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">2 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="MVP’s Favorite Content: Fabric, Azure, Windows Security" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="MVP’s Favorite Content: Fabric, Azure, Windows Security" href="https://techcommunity-microsoft-com.translate.goog/blog/mvpawardprogramblog/mvp%E2%80%99s-favorite-content-fabric-azure-windows-security/4310937?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">MVP’s Favorite Content: Fabric, Azure, Windows Security</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Let’s keep learning about Microsoft Fabric, Azure, and Windows security with top picks from Microsoft MVPs! </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4310937"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: RieMoriguchi" aria-describedby="UserHoverCard-3015" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/riemoriguchi/3015?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">RieMoriguchi</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft MVP Communities Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoftmvpawardprogram/blog/mvpawardprogramblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft MVP Communities Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="MVP’s Favorite Content: Fabric, Azure, Windows Security" href="https://techcommunity-microsoft-com.translate.goog/blog/mvpawardprogramblog/mvp%E2%80%99s-favorite-content-fabric-azure-windows-security/4310937?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 22, 2024 at 3:00 PM" role="none">Nov 22, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Microsoft Azure" href="https://techcommunity-microsoft-com.translate.goog/tag/Microsoft%20Azure?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Microsoft Azure</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Microsoft Fabric" href="https://techcommunity-microsoft-com.translate.goog/tag/Microsoft%20Fabric?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Microsoft Fabric</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name MVP's Favorite Content" href="https://techcommunity-microsoft-com.translate.goog/tag/MVP's%20Favorite%20Content?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">MVP's Favorite Content</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Windows Security" href="https://techcommunity-microsoft-com.translate.goog/tag/Windows%20Security?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Windows Security</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>112<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>3<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>1<span class="styles_sr-only__NOnjB">Comment</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Everything New in Azure Governance @ Ignite 2024" href="https://techcommunity-microsoft-com.translate.goog/blog/azuregovernanceandmanagementblog/everything-new-in-azure-governance--ignite-2024/4305960?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLWVwMlhyTw?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">7 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Everything New in Azure Governance @ Ignite 2024" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Everything New in Azure Governance @ Ignite 2024" href="https://techcommunity-microsoft-com.translate.goog/blog/azuregovernanceandmanagementblog/everything-new-in-azure-governance--ignite-2024/4305960?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Everything New in Azure Governance @ Ignite 2024</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> You've come to the right place if you're looking for everything happening with Azure Governance at Microsoft Ignite, November 19-22, 2024. Azure Governance is an ecosystem of neatly integrated services that provide the ability to ensure speed and control across your cloud environment. From enforcing rules in your cloud environment to querying the state of your resources at-scale, Azure Governance services keep your resources secure and compliant with corporate standards. The Azure Governance team is excited to share all the following new features across our product portfolio. For each of the features, you will find an accompanying announcement with scenario details, documentation and blog posts to follow along! Azure Change Analysis Change Actor – Generally Available We are excited to announce the General Availability of Change Actor in Azure, a feature that enhances Change Analysis by identifying who made changes to your resources and how. With this update, you can audit changes across all tenants and subscriptions, seeing who initiated changes and with which identity. Changes are available in under five minutes and are queryable for fourteen days, allowing for timely auditing and troubleshooting. Additionally, you can craft charts and pin results to Azure dashboards based on specific change queries through Azure Resource Graph, providing a comprehensive view of changes across your environment. Change Actor experience in Azure Portal Overview of change analysis: https://learn.microsoft.com/azure/governance/resource-graph/changes/get-resource-changes?tabs=azure-cli Change analysis portal experience: https://learn.microsoft.com/azure/governance/resource-graph/changes/view-resource-changes Change actor blog announcement: https://techcommunity.microsoft.com/blog/azuregovernanceandmanagementblog/announcing-the-general-availability-of-change-actor/4171801 Azure Policy Query Component-level AKS/HSM policy compliance in Azure Resource Graph Effortlessly query policy compliance down to the component-level across your AKS, Key Vault, and Managed HSM resources in Azure Resource Graph! With component-level granularity of AKS Policy compliance, you verify if your pods are using approved base images, audit the labelling of your namespaces or ensure your Managed HSM instances to configure the required security settings—all through ARG. Through a unified experience with Azure Policy and Azure Resource Graph, you can gain deeper insights into the compliance state of each AKS component with precision, ensuring your resources are always in line with your organization’s standards. AKS Policy component-level compliance in ARG CEL-based support for AKS Policy (preview) Introducing CEL and VAP support in AKS Policy! Common Expression Language (CEL) is a Kubernetes-native expression language that can be used to declare validation rules of a policy. Validating Admission Policy (VAP) feature provides in-tree policy evaluation, reduces admission request latency, and improves reliability and availability. The supported validation actions include Deny, Warn, and Audit. Custom policy authoring for CEL/VAP is allowed, and existing users won't need to convert their Rego to CEL as they will both be supported and be used to enforce policies. You'll be able to view violation messages at request time and audit results in the portal just like with Rego. MS Learn documentation: https://learn.microsoft.com/azure/governance/policy/concepts/policy-for-kubernetes#171 Support for Expansion in AKS Policy Introducing expansion, a shift left feature that lets you know up front whether your workload resources (Deployments, ReplicaSets, Jobs, etc.) will produce admissible pods. Expansion shouldn't change the behavior of your policies; rather, it just shifts Gatekeeper's evaluation of pod-scoped policies to occur at workload admission time rather than pod admission time. To enable expansion for a given policy definition, set.policyRule.then.details.source to All, and if needed, use a mutation with source Generated to mutate the what-if pods for evaluation purposes. MS Learn documentation: https://learn.microsoft.com/en-us/azure/governance/policy/concepts/policy-for-kubernetes#170 Expanded list of Policy for AKS Built-In Definitions – Generally Available Azure Policy has expanded the list of mutation built-in definitions for Azure Kubernetes Service (AKS). These new definitions allow you to automatically remediate the configuration of your AKS pods and containers at scale across your cluster. With this update, you can manage and enforce configuration changes more efficiently, ensuring consistency and compliance within your AKS environment. With Mutation policies, you can: Enforcing Resource Limits: Automatically set resource limits on pods and containers to prevent any single workload from consuming too many resources. Injecting Sidecars: Mutate pod specifications to include sidecar containers for logging, monitoring, or security purposes, without requiring changes to the original pod definitions. Setting Environment Variables: Specify the environment variables set in containers, which can be used for configuration or to pass secrets securely. MS Learn documentation: https://learn.microsoft.com/azure/aks/policy-reference Policy Versioning support Built-in Definitions – Public Preview With Versioning, you can now gradually ingest built-in definition changes with zero-gap in enforcement! All Azure Policy built-in definitions will now follow a standardized version pattern: at assignment time, simply specify the version number of the built-in definition to enforce on your environment. Have a previous definition version already assigned? Leverage assignment-level selectors and overrides property to gradually update the assignment to the latest version of the built-in definition. Additionally, versioning awareness is displayed in compliance logs on a per-resource basis, enhancing your ability to govern and evolve your cloud governance policies with greater agility. Tech Community Blog: https://techcommunity.microsoft.com/blog/azuregovernanceandmanagementblog/public-preview-announcement-azure-policy-built-in-versioning/4186105 MS Learn Documentation: https://learn.microsoft.com/azure/governance/policy/concepts/definition-structure-basics#version-preview Azure Machine Configuration Support for User Assigned Identity Based Access for Configuration Packages – Generally Available User Assigned Identity support for configuration package access in Azure Machine Configuration is now Generally Available, reinforcing our commitment to security and simplicity in at-scale server management for all Azure customers. This feature enhances your server configuration management lifecycle by providing a secure and straightforward alternative to the use of Shared Access Signature (SAS) Tokens for anonymous access. With User Assigned Identities, you can now privately access configuration packages stored in Azure Storage Blobs, ensuring that your server management operations are both secure and efficient. Tech Community Blog: Securely store your Machine Configuration packages in Azure Storage using User Assigned Identities MS Learn Documentation: https://learn.microsoft.com/azure/governance/machine-configuration/how-to/create-policy-definition SSH Posture control through Machine Configuration – Generally Available Additional built-in capabilities to enhance your Linux management scenarios are now generally available through Azure policy and Machine Configuration! Through new built-in policies, you can manage your SSH configuration settings declaratively at-scale. SSH Posture Control also provides detailed Reasons describing how compliance or non-compliance was determined. These Reasons help you to document compliance for auditors with confidence and evidence. They also enable you to take action when non-compliance is observed. MS Learn documentation: https://learn.microsoft.com/azure/osconfig/overview-ssh-posture-control-mc Azure Resource Graph ARG PowerBI – Generally Available We are pleased to announce General Availability of the Azure Resource Graph Power BI connector! Now, you can run queries against your Azure resources and visualize the results directly in Power BI. With seamless integration, you can connect Azure Resource Graph with Power BI Desktop or Power BI service to analyze your Azure resources, and the connector has an optional setting to return all records if your query results exceed 1,000 records. This feature provides deeper insights and more control over your Azure resources, enhancing your ability to manage and govern your cloud infrastructure. Learn documentation: https://learn.microsoft.com/azure/governance/resource-graph/power-bi-connector-quickstart?tabs=power-bi-desktop Azure Resource Graph Copilot – Public Preview With the release of the Azure Resource Graph (ARG) skill within Copilot, customers can access the ARG query skill through Azure Portal or Github Copilot. Questions about resource governance like “how many Linux VMs do I own” will be sent to the ARG Skill. With this release, customers can easily turn natural language questions into ARG queries. ARG Copilot helps users create queries to quickly surface insights about resources and simplify operational investigations. ARG Copilot in Azure Portal ARG Copilot in Github Copilot MS Learn documentation: https://learn.microsoft.com/azure/copilot/get-information-resource-graph ARG GET/LIST API - Private preview Now available for private preview is the Azure Resource Graph GET/LIST API, a highly scalable, fast, and performant alternative to existing control plane GET and List API calls within the Azure ecosystem. This API allows you to mitigate issues related to throttling, such as performance degradation and failed requests offering a 10X higher Read throttling quota to callers, ensuring faster and more efficient read operations for your critical cloud native workload. Contact argpms@microsoft.com to join the private preview program! Azure Resource Manager All New Azure Resource Manager Throttling Experience We are thrilled to announce the modernization of Azure Resource Manager throttling. This upgrade introduces a revamped throttling experience for Azure subscriptions, bringing increased limits and a token bucket algorithm for managing API requests! Throttling limits have increased by roughly 30 times for writes, 2.4 times for deletes, and 7.5 times for reads. Tech Community Blog: https://azure.microsoft.com/updates?id=azure-resource-manager-throttling Learn documentation: https://learn.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling Azure Resource Notification ContainerserviceEventresources System Topic for AKS - Public Preview We are excited to announce public preview of the Azure Resource Notification ContainerServiceEventResources system topic that empowers customers with proactive notifications for critical AKS cluster maintenance events, covering statuses such as scheduled, started, and completed. By enhancing planning capabilities, this feature reduces operational disruptions and minimizes costs, allowing you to manage maintenance with greater confidence and efficiency. MS Learn documentation: https://learn.microsoft.com/azure/event-grid/event-schema-containerservice-resources Stay Updated Keep in touch with Azure Governance products, announcements, and key scenarios. Bookmark the Azure Governance Tech Community Blog, then follow us @AzureGovernance on X (previously known as Twitter) Share Product feedback/ideas with us here- Azure Governance · Community For questions, you can reach us at: Azure Policy: policypm@microsoft.com Azure Resource Graph: argpms@microsoft.com </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4305960"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: mutemwamasheke" aria-describedby="UserHoverCard-2049807" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/mutemwamasheke/2049807?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">mutemwamasheke</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Azure Governance and Management Blog" href="https://techcommunity-microsoft-com.translate.goog/category/azure/blog/azuregovernanceandmanagementblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Azure Governance and Management Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Everything New in Azure Governance @ Ignite 2024" href="https://techcommunity-microsoft-com.translate.goog/blog/azuregovernanceandmanagementblog/everything-new-in-azure-governance--ignite-2024/4305960?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 22, 2024 at 12:42 PM" role="none">Nov 22, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name governance" href="https://techcommunity-microsoft-com.translate.goog/tag/governance?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">governance</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name guest configuration" href="https://techcommunity-microsoft-com.translate.goog/tag/guest%20configuration?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">guest configuration</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Management" href="https://techcommunity-microsoft-com.translate.goog/tag/Management?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Management</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name microsoft ignite 2024" href="https://techcommunity-microsoft-com.translate.goog/tag/microsoft%20ignite%202024?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">microsoft ignite 2024</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name policy" href="https://techcommunity-microsoft-com.translate.goog/tag/policy?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">policy</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>311<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Announcing the BizTalk Server 2020 Cumulative Update 6" href="https://techcommunity-microsoft-com.translate.goog/blog/integrationsonazureblog/announcing-the-biztalk-server-2020-cumulative-update-6/4321588?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxNTg4LW5qN2RqRw?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">1 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Announcing the BizTalk Server 2020 Cumulative Update 6" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Announcing the BizTalk Server 2020 Cumulative Update 6" href="https://techcommunity-microsoft-com.translate.goog/blog/integrationsonazureblog/announcing-the-biztalk-server-2020-cumulative-update-6/4321588?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Announcing the BizTalk Server 2020 Cumulative Update 6</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> The BizTalk Server product team has released the Cumulative Update 6 for BizTalk Server 2020. The Cumulative Update 6 contains all released functional and security fixes for customer-reported issues for BizTalk Server 2020. Also, CU6 includes support for the following new Microsoft platforms: Microsoft Windows Server 2022 Microsoft SQL Server 2022 Microsoft Windows 11 BizTalk Server 2016 is currently out of support with its end of life in 2027. If you are running BizTalk 2016, or earlier versions of the product, you must upgrade to BizTalk Server 2020 CU6 or strongly consider migrating to Azure Logic Apps. Please fill this survey: https://aka.ms/biztalklogicapps. More Information about the CU6: This cumulative update includes all the product components. However, only those components that are currently installed on the system are updated. This CU6 includes fixes for the following areas: BizTalk Server Adapters Updates WCF-SAP adapter SFTP adapter BizTalk Server Administration Tools and Management APIs Lost changes to SQL Server Agent jobs You can obtain the software from the Microsoft Download Center, at https://aka.ms/BTS2020CU6. For more information about the BizTalk Server 2020 CU6, read the Microsoft Knowledgebase article posted to https://aka.ms/BTS2020CU6KB. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4321588"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: hcamposu" aria-describedby="UserHoverCard-1524165" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/hcamposu/1524165?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">hcamposu</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Azure Integration Services Blog" href="https://techcommunity-microsoft-com.translate.goog/category/azure/blog/integrationsonazureblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Azure Integration Services Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Announcing the BizTalk Server 2020 Cumulative Update 6" href="https://techcommunity-microsoft-com.translate.goog/blog/integrationsonazureblog/announcing-the-biztalk-server-2020-cumulative-update-6/4321588?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 22, 2024 at 1:57 AM" role="none">Nov 22, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name biztalk" href="https://techcommunity-microsoft-com.translate.goog/tag/biztalk?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">biztalk</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name biztalk migration" href="https://techcommunity-microsoft-com.translate.goog/tag/biztalk%20migration?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">biztalk migration</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name biztalk modernization" href="https://techcommunity-microsoft-com.translate.goog/tag/biztalk%20modernization?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">biztalk modernization</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>128<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>2<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="ICYMI | Microsoft Partner Blog: How agents in Microsoft 365 Copilot help customers and partners drive business results" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoft365copilotblog/icymi--microsoft-partner-blog-how-agents-in-microsoft-365-copilot-help-customers/4320834?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM0LUpyRXJrWQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">1 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="ICYMI | Microsoft Partner Blog: How agents in Microsoft 365 Copilot help customers and partners drive business results" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="ICYMI | Microsoft Partner Blog: How agents in Microsoft 365 Copilot help customers and partners drive business results" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoft365copilotblog/icymi--microsoft-partner-blog-how-agents-in-microsoft-365-copilot-help-customers/4320834?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">ICYMI | Microsoft Partner Blog: How agents in Microsoft 365 Copilot help customers and partners drive business results</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Through my frequent conversations with customers, it’s clear that enterprises are embracing Microsoft 365 Copilot as an AI-powered game-changer for productivity. Now, we are helping organizations achieve even greater business value with the recent introduction of agents in Copilot. This week at Microsoft Ignite, the promise of agents has come to life through compelling examples from our customer and partner ecosystem, which I’m excited to share. Enterprise customers are developing line-of-business agents to extend skills and knowledge in Copilot for specialized use cases and to scale their teams in unprecedented ways. They’re also adopting powerful third-party agents built by partners who develop software—also known as independent software vendors (ISVs)—and system integrators (SIs), which supercharge employee productivity and accelerate business processes. I will cover the two ways in which developers can build and integrate agents with Copilot: declarative agents, which are generally available, and custom engine agents, now in private preview. I will also provide resources for developing agents, explain when to develop each type, and showcase how customers and partners are gaining value from this evolution toward agentic AI. How agents in Microsoft 365 Copilot can meet your organization’s needs Agents in Copilot are AI assistants with expertise in a specific set of tasks, like running business processes or adding new skills. Agents allow you to enhance Copilot in three ways: Focusing Copilot on specific knowledge, such as Microsoft SharePoint files or external content sources Adding new skills, such as updating records or creating support tickets Executing business processes autonomously Continue reading here </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4320834"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: JillArmourMicrosoft" aria-describedby="UserHoverCard-2052111" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/jillarmourmicrosoft/2052111?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">JillArmourMicrosoft</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft 365 Copilot" href="https://techcommunity-microsoft-com.translate.goog/category/microsoft365copilot/blog/microsoft365copilotblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft 365 Copilot</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="ICYMI | Microsoft Partner Blog: How agents in Microsoft 365 Copilot help customers and partners drive business results" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoft365copilotblog/icymi--microsoft-partner-blog-how-agents-in-microsoft-365-copilot-help-customers/4320834?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 8:27 PM" role="none">Nov 21, 2024</span></span></a> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>109<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>1<span class="styles_sr-only__NOnjB">like</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Announcing an accelerator for GenAI-powered assistants using Azure AI Language and Azure OpenAI" href="https://techcommunity-microsoft-com.translate.goog/blog/azure-ai-services-blog/announcing-an-accelerator-for-genai-powered-assistants-using-azure-ai-language-a/4320838?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM4LXpZS2dFTA?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">6 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Announcing an accelerator for GenAI-powered assistants using Azure AI Language and Azure OpenAI" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Announcing an accelerator for GenAI-powered assistants using Azure AI Language and Azure OpenAI" href="https://techcommunity-microsoft-com.translate.goog/blog/azure-ai-services-blog/announcing-an-accelerator-for-genai-powered-assistants-using-azure-ai-language-a/4320838?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Announcing an accelerator for GenAI-powered assistants using Azure AI Language and Azure OpenAI</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> We’re thrilled to introduce a new accelerator solution in GitHub Azure-Samples library designed specifically for creating and enhancing your GenAI-based conversational assistants with robust, human-controllable workflows. This accelerator uses key services from Azure AI Language in addition to Azure OpenAI, including PII detection to protect sensitive information, Conversational Language Understanding (CLU) to predict top users’ intents, Custom Question Answering (CQA) to respond to top questions with deterministic answers. Together with Azure OpenAI and Large Language Models (LLMs), the solution is designed to orchestrate and deliver a smooth, human-guided, controllable and deterministic conversational experience. The integration with LLMs will come soon. It’s perfect for developers and organizations looking to build assistants that can handle complex queries, route tasks, and provide reliable answers, all with a controlled, scalable architecture. Why This Accelerator While LLMs have been appreciated by many customers to build conversational assistants for natural, engaging, and context-aware interactions, there are challenges such as the significant efforts required in prompt engineering, document chunking, and reducing hallucinations to improve the quality of their Retrieval-Augmented Generation (RAG) solutions. If an AI quality issue is discovered in production, customers need to find an effective way to address it promptly. This solution aims to help customers utilize offerings in the Azure AI portfolio and address key challenges when building Generative AI (GenAI) assistants. Designed for flexibility and reliability, this accelerator enables human-controllable workflows that meet real-world customer needs. It minimizes the need for extensive prompt engineering by using a structured workflow to prioritize top questions with exact answers and custom intents that are critical to your business and use LLM to handle topics in a conversation that have lower priorities. This architecture not only enhances answer quality and control but also ensures that complex queries are handled efficiently. If you want to fix quickly an incorrect answer for your chatbot built with RAG, you can also attach this accelerator solution to your existing RAG solution and quickly add a QA pair with the correct response in CQA to fix the issue for your users. What This Accelerator Delivers This accelerator provides and demonstrates an end-to-end orchestration using a few capabilities in Azure AI Language and Azure OpenAI for conversational assistants. It can be applied in various scenarios where control over assistant behavior and response quality is essential, like call centers, help desks, and other customer support applications. Below is a reference architecture of the solutions: Key components of this solution include (components in dash boxes coming soon): Client-Side User Interface for Demonstration (coming soon) A web-based client-side interface is included in the accelerator solution, to showcase the accelerator solution in an interactive, user-friendly format. This web UI allows you to quickly explore and test this solution, such as its orchestration routing behavior and functionalities. Workflow Orchestration for Human-Controllable Conversations By combining services like CLU, CQA, and LLMs, the accelerator allows for a dynamic, adaptable workflow. CLU can recognize and route customer-defined intents, while CQA provides exact answers from predefined QA pairs. If a question falls outside the pre-defined scope, the workflow can seamlessly fall back to LLMs, which is enhanced with RAG for contextually relevant, accurate responses. This workflow ensures human-like adaptability while maintaining control over assistant responses. Conversational Language Understanding (CLU) for Intent Routing The CLU service allows you to define the top intents you want the assistants to handle. The top intents can be those critical to your business and/or those most users ask your assistants. This component plays a central role in directing conversations by interpreting user intents and routing them to the right action or AI agents. Whether completing a task or addressing specific customer needs, CLU provides the mechanism to ensure the assistant accurately understands and executes the process of handling custom-defined intents. Custom Question Answering (CQA) for Exact Answers and with No Hallucinations CQA allows you to create and manage predefined QA pairs to deliver precise responses, reducing ambiguity and ensuring that the assistant aligns closely with defined answers. This controlled response approach maintains consistency in interactions, improving reliability, particularly for high-stake or regulatory-sensitive conversations. You can also attach CQA to your existing RAG solution to quickly fix incorrect answers. PII Detection and Redaction for Privacy Protection (coming soon) Protecting user privacy is a top priority, especially in conversational AI. This accelerator showcases an optional integration of Azure AI Language’s Personally Identifiable Information (PII) to automatically identify and redact sensitive information, if compliance with privacy standards and regulations is required LLM with RAG to Handle Everything Else (coming soon) In this accelerator, we are using a RAG solution to handle missed intents or user queries on lower-priority topics. This RAG solution can be replaced with your existing one. The predefined intents and question-answer pairs can be appended and updated over time based on evolving business needs and DSATs (dissatisfaction) discovered in the RAG responses. This approach ensures controlled and deterministic experiences for high-value or high-priority topics while maintaining flexibility and extensibility for lower-priority interactions. Components Configuration for "Plug-and-Play" One of the standout features of this accelerator is its flexibility through a "plug-and-play" component configuration. The architecture is designed to allow you to easily swap, add, or remove components to tailor the solution to your specific needs. Whether you want to add custom intents, adjust fallback mechanisms, or incorporate additional data sources, the modular nature of the accelerator makes it simple to configure. Get Started Building Your GenAI-Powered Assistant Today Our new accelerator is available on GitHub, ready for developers to deploy, customize, and use as a foundation for your own needs. Join us as we move towards a future where GenAI can empower organizations to meet business needs with intelligent, adaptable, and human-controllable assistants. What’s more: Other New Azure AI Language Releases This Ignite Beyond these, Azure AI Language provides additional capabilities to support GenAI customers in more scenarios to ensure quality, privacy and flexible deployment in any types of environments, either clouds or on premises. We are also excited to announce the following new features launching at Ignite. Azure AI Language in Azure AI Studio: Azure AI Language is moving to AI Studio. Extract PII from text, Extract PII from conversation, Summarize text, Summarize conversation, Summarize for call center, and Text Analytics for health are now available in AI Studio playground. More skills follow. Conversational Language Understanding (CLU): Today, customers use CLU to build custom natural language understanding models hosted by Azure to predict the overall intention of an incoming utterance and extract important information from it. However, some customers have specific needs that require an on-premise connection. We are excited to announce runtime containers for CLU for these specific use cases. PII Detection and Redaction: Azure AI Language offers Text PII and Conversational PII services to extract personally identifiable information from input text and conversation to enhance privacy and security, oftentimes before sending data to the cloud or an LLM. We are excited to announce new improvements to these services - the preview API (version 2024-11-15-preview) now supports the option to mask detected sensitive entities with a label (i.e. “John Doe received a call from 424-878-9192” can now be masked with an entity label, i.e. . “[PERSON_1] received a call from [PHONENUMBER_1]”. More on how to specify the redaction policy style for your outputs can be found in our documentation. Native document support: The gating control is removed with the latest API version, 2024-11-15-preview, allowing customers to access native document support for PII redaction and summarization. Key updates in this version include: - Increased Maximum File Size Limits (from 1 MB to 10 MB). - Enhanced PII Redaction Customization: Customers can now specify whether they want only the redacted document or both the redacted document and a JSON file containing the detected entities. Language detection: Language detection is a preconfigured feature that can detect the language a document is written in and returns a language code for a wide range of languages, variants, dialects, and some regional/cultural languages. We are happy to announce today the general availability of scription detection capability, and 16 more languages support, which adds up to 139 total supported languages. Named entity recognition (NER): The Named Entity Recognition (NER) service supports customer scenarios for identifying and analyzing entities such as addresses, names, and phone numbers from inputs text. NER’s Generally Available API (version 2024-11-01) now supports several optional input parameters (inclusionList, exclusionList, inferenceOptions, and overlapPolicy) as well as an updated output structure (with new fields tags, type, and metadata) to ensure enhanced user customization and deeper analysis. More on how to use these parameters can be found in our documentation. Text analytics for health: Text analytics for health (TA4H) is a preconfigured feature that extracts and labels relevant medical information from unstructured texts such as doctor's notes, discharge summaries, clinical documents, and electronic health records. Today, we released support for Fast Healthcare Interoperability Resources (FHIR) structuring and temporal assertion detection in the Generally Available API. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4320838"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: YanlingX" aria-describedby="UserHoverCard-336048" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/yanlingx/336048?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">YanlingX</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent AI - Azure AI services Blog" href="https://techcommunity-microsoft-com.translate.goog/category/ai/blog/azure-ai-services-blog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">AI - Azure AI services Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Announcing an accelerator for GenAI-powered assistants using Azure AI Language and Azure OpenAI" href="https://techcommunity-microsoft-com.translate.goog/blog/azure-ai-services-blog/announcing-an-accelerator-for-genai-powered-assistants-using-azure-ai-language-a/4320838?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 8:15 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name azure ai language" href="https://techcommunity-microsoft-com.translate.goog/tag/azure%20ai%20language?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">azure ai language</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name azure openai service" href="https://techcommunity-microsoft-com.translate.goog/tag/azure%20openai%20service?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">azure openai service</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name microsoft ignite 2024" href="https://techcommunity-microsoft-com.translate.goog/tag/microsoft%20ignite%202024?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">microsoft ignite 2024</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>330<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>3<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Partner Blog | How agents in Microsoft 365 Copilot help customers and partners drive business results" href="https://techcommunity-microsoft-com.translate.goog/blog/partnernews/partner-blog--how-agents-in-microsoft-365-copilot-help-customers-and-partners-dr/4320757?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwNzU3LXVpUXcxTg?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">2 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Partner Blog | How agents in Microsoft 365 Copilot help customers and partners drive business results" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Partner Blog | How agents in Microsoft 365 Copilot help customers and partners drive business results" href="https://techcommunity-microsoft-com.translate.goog/blog/partnernews/partner-blog--how-agents-in-microsoft-365-copilot-help-customers-and-partners-dr/4320757?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Partner Blog | How agents in Microsoft 365 Copilot help customers and partners drive business results</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Through my frequent conversations with customers, it’s clear that enterprises are embracing Microsoft 365 Copilot as an AI-powered game-changer for productivity. Now, we are helping organizations achieve even greater business value with the recent introduction of agents in Copilot. This week at Microsoft Ignite, the promise of agents has come to life through compelling examples from our customer and partner ecosystem, which I’m excited to share. Enterprise customers are developing line-of-business agents to extend skills and knowledge in Copilot for specialized use cases and to scale their teams in unprecedented ways. They’re also adopting powerful third-party agents built by partners who develop software—also known as independent software vendors (ISVs)—and system integrators (SIs), which supercharge employee productivity and accelerate business processes. I will cover the two ways in which developers can build and integrate agents with Copilot: declarative agents, which are generally available, and custom engine agents, now in private preview. I will also provide resources for developing agents, explain when to develop each type, and showcase how customers and partners are gaining value from this evolution toward agentic AI. How agents in Microsoft 365 Copilot can meet your organization’s needs Agents in Copilot are AI assistants with expertise in a specific set of tasks, like running business processes or adding new skills. Agents allow you to enhance Copilot in three ways: Focusing Copilot on specific knowledge, such as Microsoft SharePoint files or external content sources Adding new skills, such as updating records or creating support tickets Executing business processes autonomously The type of agent you build depends on your organization’s needs. Declarative agents run on the Copilot engine, with prompts handled by its orchestrator and foundation models. Where custom engine agents run on your own models, declarative agents don’t require your own AI platform or complex technical decisions. These agents also have native access to indexed Microsoft Graph data, like SharePoint and Microsoft OneDrive files. If you’ve previously built an API plugin or a Microsoft Teams message extension, you can easily upgrade that to a declarative agent by adding instructions to your manifest. continue reading here </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4320757"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: JillArmourMicrosoft" aria-describedby="UserHoverCard-2052111" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/jillarmourmicrosoft/2052111?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">JillArmourMicrosoft</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Partner news" href="https://techcommunity-microsoft-com.translate.goog/category/partnercommunity/blog/partnernews?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Partner news</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Partner Blog | How agents in Microsoft 365 Copilot help customers and partners drive business results" href="https://techcommunity-microsoft-com.translate.goog/blog/partnernews/partner-blog--how-agents-in-microsoft-365-copilot-help-customers-and-partners-dr/4320757?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 7:50 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name copilot" href="https://techcommunity-microsoft-com.translate.goog/tag/copilot?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">copilot</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name microsoft 365" href="https://techcommunity-microsoft-com.translate.goog/tag/microsoft%20365?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">microsoft 365</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name microsoft partner blog" href="https://techcommunity-microsoft-com.translate.goog/tag/microsoft%20partner%20blog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">microsoft partner blog</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>103<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>1<span class="styles_sr-only__NOnjB">like</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="New Da/Ea/Fav6 VMs with increased performance and Azure Boost are now generally available" href="https://techcommunity-microsoft-com.translate.goog/blog/azurecompute/new-daeafav6-vms-with-increased-performance-and-azure-boost-are-now-generally-av/4309381?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLTRsT2s1aQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">6 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="New Da/Ea/Fav6 VMs with increased performance and Azure Boost are now generally available" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="New Da/Ea/Fav6 VMs with increased performance and Azure Boost are now generally available" href="https://techcommunity-microsoft-com.translate.goog/blog/azurecompute/new-daeafav6-vms-with-increased-performance-and-azure-boost-are-now-generally-av/4309381?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">New Da/Ea/Fav6 VMs with increased performance and Azure Boost are now generally available</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> By Sasha Melamed, Senior Product Manager, Azure Compute We are excited to announce General Availability of new Dalsv6, Dasv6, Easv6, Falsv6, Fasv6, and Famsv6-series Azure Virtual Machines (VMs) based on the 4th Gen AMD EPYC™ processor (Genoa). These VMs deliver significantly improved performance and price/performance versus the prior Dasv5 and Easv5 VMs, NVMe connectivity for faster local and remote storage access, and Azure Boost for improved performance and enhanced security. With the broad selection of compute, memory, and storage configurations available with these new VM series, there is a best fit option for a wide range of workloads. What’s New The new Dalsv6, Davs6, and Easv6 VMs are offered with vCPU counts ranging from 2 to 96 vCPUs. The new general purpose and memory optimized VMs will come in a variety of memory (GiB)-to-vCPU ratios, including the Dalsv6 at 2:1, Dasv6 at 4:1, and Easv6 at 8:1 ratios. The VMs are also available with and without a local disk so that you can choose the option that best fits your workload. Workloads can expect up to 20% CPU performance improvement over the Dasv5 and Easv5 VMs and up to 15% better price/performance. Further expanding our offerings, we are proud to introduce the first Compute-optimized VM series based on AMD processors also in three memory-to-vCPU ratios. The new Falsv6, Fasv6, and Famsv6 VMs offer the fastest x86 CPU performance in Azure and have up to 2x CPU performance improvement over our previous v5 VMs, as shown in the graph below. We are excited to announce that the new Dalsv6, Dasv6, Easv6, and suite of Fasv6 virtual machines are powered by Azure Boost. Azure Boost has been providing benefits to millions of existing Azure VMs in production today, such as enabling exceptional remote storage performance and significant improvements in networking throughput and latency. Our latest Azure Boost infrastructure innovation, in combination with new AMD-based VMs, delivers improvements in performance, security, and reliability. The platform provides sub-second servicing capabilities for the most common infrastructure updates, delivering a 10x reduction in impact." To learn more about Azure Boost, read our blog. To drive the best storage performance for your workloads, the new AMD-based VMs come with the NVMe interface for local and remote disks. Many workloads will benefit from improvements over the previous generation of AMD-based with up to: 80% better remote storage performance 400% faster local storage speeds 25% networking bandwidth improvement 45% higher NVMe SSD capacity per vCPU for Daldsv6, Dadsv6, Eadsv6-series VMs with local disks The 4th Gen AMD EPYC™ processors provide new capabilities for these VMs, including: Always-On Transparent Secure Memory Encryption ensuring that your sensitive information remains secure without compromising performance. AVX-512 to handle compute-intensive tasks such as scientific simulations, financial analytics, AI, and machine learning. Vector Neural Network Instructions enhancing the performance of neural network inference operations, making it easier to deploy and scale AI solutions. Bfloat16 for efficient training and inference of deep learning models, providing a balance between performance and precision. Dasv6, Dadsv6, Easv6, Eadsv6, Fasv6, and Fadsv6-series VMs are SAP Certified. Whether you’re running a simple test infrastructure, mission critical enterprise applications, high-performance computing tasks, or AI workloads, our new VMs are ready to meet your needs. Explore the new capabilities and start leveraging the power of Azure today! General-purpose workloads The new Dasv6-series VMs offer a balanced ratio of memory to vCPU performance and increased scalability, up to 96 vCPUs and 384 GiB of RAM. Whereas the new Dalsv6-series VM series are ideal for workloads that require less RAM per vCPU, with a max of 192 GiB of RAM. The Dalsv6 series are the first 2GiB/vCPU memory offerings in our family of AMD-based VMs. The Dalsv6 series can reduce your costs when running non-memory intensive applications, including web servers, gaming, video encoding, AI/ML, and batch processing. The Dasv6-series VMs work well for many general computing workloads, such as e-commerce systems, web front ends, desktop virtualization solutions, customer relationship management applications, entry-level and mid-range databases, application servers, and more. Series vCPU Memory (GiB) Max Local NVMe Disk (GiB) Max IOPS for Local Disk Max Uncached Disk IOPS for Managed Disks Max Managed Disks Throughput (MBps) Dalsv6 2-96 4-192 N/A N/A 4 - 172K 90 – 4,320 Daldsv6 2-96 4-192 1x110 - 6x880 1.8M 4 - 172K 90 – 4,320 Dasv6 2-96 8-384 N/A N/A 4 - 172K 90 – 4,320 Dadsv6 2-96 8-384 1x110 - 6x880 1.8M 4 - 172K 90 – 4,320 Memory-intensive workloads For more memory demanding workloads, the new Easv6-series VMs offer high memory-to-vCPU ratios with increased scalability up to 96 vCPUs and 672 GiB of RAM. The Easv6-series VMs are ideal for memory-intensive enterprise applications, data warehousing, business intelligence, in-memory analytics, and financial transactions. Series vCPU Memory (GiB) Max Local NVMe Disk (GiB) Max IOPS for Local Disk Max Uncached Disk IOPS for Managed Disks Max Managed Disks Throughput (MBps) Easv6 2-96 16-672 N/A N/A 4 - 172K 90 – 4,320 Eadsv6 2-96 16-672 1x110 - 6x880 1.8M 4 - 172K 90 – 4,320 Compute-intensive workloads For compute-intensive workloads, the new Falsv6, Fasv6 and Famsv6 VM series come without Simultaneous Multithreading (SMT), meaning a vCPU equals one physical core. These VMs will be the best fit for workloads demanding the highest CPU performance, such as scientific simulations, financial modeling and risk analysis, gaming, and video rendering. Series vCPU Memory (GiB) Max Uncached Disk IOPS for Managed Disks Max Managed Disks Throughput (MBps) Max Network Bandwidth (Gbps) Falsv6 2-64 4-128 4 - 115K 90 - 2,880 12.5 - 36 Fasv6 2-64 8-256 4 - 115K 90 - 2,880 12.5 - 36 Famsv6 2-64 16-512 4 - 115K 90 - 2,880 12.5 - 36 Customers are excited about new AMD v6 VMs FlashGrid offers software solutions that help Oracle Database users on Azure achieve maximum database uptime and minimize the risk of outages. The Easv6 series VMs make it easier to support Oracle RAC workloads with heavy transaction processing on Azure using FlashGrid Cluster. The NVMe protocol enhances disk error handling, which is important for failure isolation in high-availability database architectures. The CPU boost frequency of 3.7 GHz and higher network bandwidth per vCPU enable database clusters to handle spikes in client transactions better while keeping a lower count of vCPU to limit licensing costs. The Easv6 VMs have passed our extensive reliability and compatibility testing and are now available for new deployments and upgrades. – Art Danielov, CEO, FlashGrid Inc. Helio is a platform for large-scale computing workloads, optimizing for costs, scale, and emissions. Its main focus is 3D rendering Our architectural and media & entertainment (VFX) 3D rendering workloads have been accelerated by an average of ~42% with the new v6 generation, while maintaining low cost and high scale. In addition, we are seeing significant improvements in disk performance with the new NVMe interface, resulting in much faster render asset load times. -- Kevin Häfeli, CEO / Cofounder Helio AG Silk's Software-Defined Cloud Storage delivers unparalleled price/performance for the most demanding, real-time applications. Silk has tested the new Da/Eav6 VM offering from Azure and we are looking forward to enable our customers to benefit from its new capabilities, allowing higher throughput at lower cost, while providing increased reliability” -- Adik Sokolovski, Chief R&D Officer, Silk ZeniMax Online Studios creates online RPG worlds where you can play and create your own stories. The new VMs we tested provided a significant performance boost in our build tasks. The super-fast storage not only made the workflows smoother and faster, but it also helped highlight other bottlenecks in our design and allowed us to improve our pipeline overall. We are excited for their availability and plan on utilizing these machines to expand our workload in Azure. -- Merrick Moss, Product Owner, ZeniMax Online Studios Getting started The new VMs are now available in the East US region. The East US 2, Central US, South Central US, West US 3, West Europe, and North Europe regions will become available in the next two weeks, with more to follow. Check out pricing on the following pages for Windows and Linux. You can learn more about the new VMs in the documentation for Dal-series, Da-series, Ea-series, and Fa-series. We also recommend reading the NVMe overview and FAQ. You can find the Ultra disk and Premium SSD V2 regional availability to pair with the new NVMe based v6 series at their respective links. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4309381"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Sasha_Melamed" aria-describedby="UserHoverCard-794584" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/sasha_melamed/794584?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Sasha_Melamed</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Azure Compute Blog" href="https://techcommunity-microsoft-com.translate.goog/category/azure/blog/azurecompute?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Azure Compute Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="New Da/Ea/Fav6 VMs with increased performance and Azure Boost are now generally available" href="https://techcommunity-microsoft-com.translate.goog/blog/azurecompute/new-daeafav6-vms-with-increased-performance-and-azure-boost-are-now-generally-av/4309381?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 7:21 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name microsoft ignite 2024" href="https://techcommunity-microsoft-com.translate.goog/tag/microsoft%20ignite%202024?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">microsoft ignite 2024</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name virtual machines" href="https://techcommunity-microsoft-com.translate.goog/tag/virtual%20machines?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">virtual machines</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>688<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>3<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="What’s new in Microsoft Intune November 2024" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftendpointmanagerblog/what%E2%80%99s-new-in-microsoft-intune-november-2024/4308686?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LUtQM2I2MA?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">3 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="What’s new in Microsoft Intune November 2024" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="What’s new in Microsoft Intune November 2024" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftendpointmanagerblog/what%E2%80%99s-new-in-microsoft-intune-november-2024/4308686?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">What’s new in Microsoft Intune November 2024</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Improving productivity and security takes efforts great and small. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4308686"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: ScottSawyer" aria-describedby="UserHoverCard-327434" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/scottsawyer/327434?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">ScottSawyer</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft Intune Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoft-endpoint-manager/blog/microsoftendpointmanagerblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft Intune Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="What’s new in Microsoft Intune November 2024" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftendpointmanagerblog/what%E2%80%99s-new-in-microsoft-intune-november-2024/4308686?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 7:00 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name microsoft intune" href="https://techcommunity-microsoft-com.translate.goog/tag/microsoft%20intune?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">microsoft intune</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>1.5K<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>1<span class="styles_sr-only__NOnjB">like</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Accelerate your SAP® integration with the Microsoft Power Platform OData Connector and learn hub" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftindustryblog/accelerate-your-sap%C2%AE-integration-with-the-microsoft-power-platform-odata-connect/4294336?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LWJubWhhdQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">4 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Accelerate your SAP® integration with the Microsoft Power Platform OData Connector and learn hub" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Accelerate your SAP® integration with the Microsoft Power Platform OData Connector and learn hub" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftindustryblog/accelerate-your-sap%C2%AE-integration-with-the-microsoft-power-platform-odata-connect/4294336?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Accelerate your SAP® integration with the Microsoft Power Platform OData Connector and learn hub</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Streamline your SAP® integration with the Microsoft Power Platform OData Connector, learn hub, and the modernization of the Procurement Template for SAP. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4294336"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: ShailjaNair" aria-describedby="UserHoverCard-2762370" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/shailjanair/2762370?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">ShailjaNair</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft Industry" href="https://techcommunity-microsoft-com.translate.goog/category/microsoftindustry/blog/microsoftindustryblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft Industry</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Accelerate your SAP® integration with the Microsoft Power Platform OData Connector and learn hub" href="https://techcommunity-microsoft-com.translate.goog/blog/microsoftindustryblog/accelerate-your-sap%C2%AE-integration-with-the-microsoft-power-platform-odata-connect/4294336?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 4:00 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name copilot" href="https://techcommunity-microsoft-com.translate.goog/tag/copilot?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">copilot</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name education" href="https://techcommunity-microsoft-com.translate.goog/tag/education?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">education</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Energy" href="https://techcommunity-microsoft-com.translate.goog/tag/Energy?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Energy</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Financial Services" href="https://techcommunity-microsoft-com.translate.goog/tag/Financial%20Services?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Financial Services</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name GenerativeAI" href="https://techcommunity-microsoft-com.translate.goog/tag/GenerativeAI?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">GenerativeAI</span></a> </div><button title="Show More" data-testid="PagerLoadMore.Button" type="button" class="TagList_lia-pager__xs5cQ styles_lia-g-loader-btn__hVmpn PagerLoadMore_lia-pager__BGtW_ styles_btn__1HFm0 styles_btn-link__Qn59s"> <svg class="TagList_lia-pager-icon__heTvM styles_lia-g-icon-size-14__x7dQA Icon_lia-size-14__XOl7p Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-body-color);--lia-local-icon-color-h:var(--lia-bs-body-color-h);--lia-local-icon-color-s:var(--lia-bs-body-color-s);--lia-local-icon-color-l:var(--lia-bs-body-color-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/ellipsis.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#ellipsis"></use> </svg></button> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>229<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="MVP Milestone Series: Celebrating MVPs Achieving their 20+ Year Milestone" href="https://techcommunity-microsoft-com.translate.goog/blog/mvpawardprogramblog/mvp-milestone-series-celebrating-mvps-achieving-their-20-year-milestone/4304234?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA0MjM0LVNLbld2dQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">6 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="MVP Milestone Series: Celebrating MVPs Achieving their 20+ Year Milestone" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="MVP Milestone Series: Celebrating MVPs Achieving their 20+ Year Milestone" href="https://techcommunity-microsoft-com.translate.goog/blog/mvpawardprogramblog/mvp-milestone-series-celebrating-mvps-achieving-their-20-year-milestone/4304234?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">MVP Milestone Series: Celebrating MVPs Achieving their 20+ Year Milestone</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> Join us in celebrating Microsoft MVPs as they share their inspiring experiences over the past 20+ years. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4304234"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: ChristinaLiang" aria-describedby="UserHoverCard-834387" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/christinaliang/834387?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">ChristinaLiang</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Microsoft MVP Communities Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoftmvpawardprogram/blog/mvpawardprogramblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Microsoft MVP Communities Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="MVP Milestone Series: Celebrating MVPs Achieving their 20+ Year Milestone" href="https://techcommunity-microsoft-com.translate.goog/blog/mvpawardprogramblog/mvp-milestone-series-celebrating-mvps-achieving-their-20-year-milestone/4304234?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 4:00 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name ai" href="https://techcommunity-microsoft-com.translate.goog/tag/ai?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">ai</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Bits & Bytes" href="https://techcommunity-microsoft-com.translate.goog/tag/Bits%20%26%20Bytes?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Bits & Bytes</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name business application" href="https://techcommunity-microsoft-com.translate.goog/tag/business%20application?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">business application</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Developer Technology" href="https://techcommunity-microsoft-com.translate.goog/tag/Developer%20Technology?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Developer Technology</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name M365" href="https://techcommunity-microsoft-com.translate.goog/tag/M365?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">M365</span></a> </div><button title="Show More" data-testid="PagerLoadMore.Button" type="button" class="TagList_lia-pager__xs5cQ styles_lia-g-loader-btn__hVmpn PagerLoadMore_lia-pager__BGtW_ styles_btn__1HFm0 styles_btn-link__Qn59s"> <svg class="TagList_lia-pager-icon__heTvM styles_lia-g-icon-size-14__x7dQA Icon_lia-size-14__XOl7p Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-body-color);--lia-local-icon-color-h:var(--lia-bs-body-color-h);--lia-local-icon-color-s:var(--lia-bs-body-color-s);--lia-local-icon-color-l:var(--lia-bs-body-color-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/ellipsis.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#ellipsis"></use> </svg></button> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>221<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>5<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Replicating Azure Cosmos DB into Azure Databricks using CDC" href="https://techcommunity-microsoft-com.translate.goog/blog/analyticsonazure/replicating-azure-cosmos-db-into-azure-databricks-using-cdc/4302079?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTl3clJhSA?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">8 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Replicating Azure Cosmos DB into Azure Databricks using CDC" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Replicating Azure Cosmos DB into Azure Databricks using CDC" href="https://techcommunity-microsoft-com.translate.goog/blog/analyticsonazure/replicating-azure-cosmos-db-into-azure-databricks-using-cdc/4302079?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Replicating Azure Cosmos DB into Azure Databricks using CDC</a></h2> </div> </div> <div class="styles_lia-g-message-body__LkV7_ styles_lia-g-message-body-blog__TUnqH styles_clearfix__xFEoC MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> This blog was written in conjunction with David Poulet, Senior Solutions Architect at Databricks. Microsoft’s NoSQL database-as-a-service, Azure Cosmos DB, is a key platform in Azure for storing non-relational, transactional data and vectors for applications with high throughput and availability requirements. This data often holds valuable business insights, and the ability to analyze this data at scale with Azure Databricks is a key requirement for many customers. Azure Cosmos DB is optimized for fast reads and writes of individual items. However, in common with other data stores of this type, it is not optimized for analytical workloads and this can create a challenge to analyzing stored data in a performant and cost-effective way. Microsoft’s solution to this problem is the Analytical Store, which stores a copy of the Azure Cosmos DB data in a columnar format and keeps it up-to-date. However, until recently this feature stored the data in a proprietary format and a hidden location that could not be accessed except via Azure Synapse and was subject to a number of restrictions around the types of data structures and query types that it could handle. But there is now a flexible and open solution to this problem! Microsoft has a feature in Azure Data Factory that enables users to replicate the Azure Cosmos DB Analytical Store into their lakehouse in Delta format, automatically inserting/updating/deleting records as the source transactional database changes. The incremental nature of this offers significant cost savings vs pulling data directly from the transactional store and dealing with complex incremental ingestion logic in code. In this article, I’ll show how we can leverage this feature to create a simple process to continuously ingest operational data in Azure Cosmos DB into Azure Databricks’ powerful analytics and AI platform. Architecture Overview The architecture we’ll discuss in this article will use the CDC capability for Azure Cosmos DB within Azure Data Factory to process changes in a Azure Cosmos DB container and then merge them into a Delta Lake table in the lakehouse. See the diagram below: Azure Data Factory (ADF) will read a container from Azure Cosmos DB (via the analytical store) and periodically replicate any changes from that container into a Delta Lake table in Azure Databricks. This incremental replication process will operate on a schedule that is defined within ADF. There are a couple of possibilities for how we ingest these changes into Azure Databricks: we could move the data to a staging area, and ingest into Bronze from there using a workflow or Delta Live Tables, but for simplicity we’ll write directly to a table in the Bronze layer of our medallion architecture from ADF. Once the data is in our Bronze layer standard Azure Databricks patterns can be used to cleanse and transform the data into Silver/Gold layers. The bulk of the activities happen in Azure Data Factory, but there are some prerequisites. Before we can create the CDC pipeline it’s assumed the following already exist: A Azure Cosmos DB for NoSQL container, with Analytical Store enabled. Azure Data Factory instance in which to create a CDC pipeline. An ADLS storage container to act as our staging area. With these in place, we can create the CDC pipeline from ADF. Setting Up The Pipeline The feature in ADF that consumes the Azure Cosmos DB changes is in the Data Flows area, so we start by launching the ADF studio and creating a new data flow: The new data flow needs a Source and a Sink. The source will be our Azure Cosmos DB container and the Sink will be our Delta Table in Bronze. First we’ll create and configure the Source to consume from our Azure Cosmos DB container. Click to Add Source in the new Dataflow. In the source settings we have to set the Source Type to Inline and the Inline Dataset Type to Azure Cosmos DB for NoSQL. The Store Type should be set to Analytical. The Linked Service should be set to a linked service for Azure Cosmos DB that has been set up to connect to our source container. For details on how to create an ADF Linked Service see the getting started documentation for Azure Cosmos DB. In the Source Options for the Data Flow, there are some settings that are important to control the behavior of the reads from the source feed. The Container name field is where we select the Azure Cosmos DB container we are interested in. In this example we have a container with some simple customer related data in. The Start from field allows us to synchronize ALL the data in the container from the start of its life, or you can select to only sync changes from now on (or from a given timestamp). You have the option to capture intermediate updates, if you want to maintain a history of all the changes, but we are just going to capture the latest state so this is unselected. Capture Deletes ensures that deleted items from the source are also deleted in our Bronze table. Capture Transactional store TTLs means that if items are expired from the Azure Cosmos DB transactional store by the Time-To-Live function, they will also be deleted from our copy of the data. This is enabled by default but many people may not want this functionality as TTL is often used to reduce the data size of the transactional store at the cost of losing historical data, but in the analytics world this historical data is often important. We’ll leave it at the default though for now. Next we’ll add a Sink to publish the change data to. Click the + button next to the source icon and search for the Sink option. We then need to configure the Sink to point to our Bronze table in the lakehouse. In the Sink settings we select our incoming source stream (there is only one in this case, the one we just created). We again select Inline for Sink type. And the Inline dataset type is Delta. Once again the Linked service is an ADF linked service which points to a blob container/folder that will store our Bronze table. You can read the documentation for creating an ADF blob linked service (or ADLS, either will work) on this page. Next, the Settings page for our Sink has some important options to control the behavior of the table we are creating. First we need to select the correct Folder path for the folder in the blob container that will store our Bronze table data. Here we have a simple folder called customer where ADF will put the Delta Lake files. We also need to think about the Update method field. In this case we will allow Insert (to put new rows in the table as they are added in the source), Delete (to remove rows in the table as they are deleted in the source) and Update (updating existing rows to match changes in the source). To do this ADF needs a unique field in the source that it can match in the target table - so we select List of columns and put {_rid} in the column field. _rid is a system field in Azure Cosmos DB that uniquely identifies a data item. At this point we are actually ready to run this Data Flow to start syncing Azure Cosmos DB changes to our Bronze table. To do this we need to create a Pipeline in ADF to run the Data Flow defined above. In the ADF studio resources section, under Pipelines create a new pipeline, and in that pipeline drag a single action onto the pipeline edit canvas - a Data Flow action. Once we’ve created a pipeline with a Data Flow action, we will edit the Data Flow action settings to trigger the CDC Data Flow we created above. Here all we need to do is select our data flow in the Data Flow drop-down. Then, like all ADF pipelines we need a trigger to start the pipeline and we’re ready to start ingesting data. From the pipeline editor menu select Add Trigger and then New/Edit - this will bring up the trigger menu below. We’ll set our trigger to run on creation and then run every 5 minutes after that. This means that every 5 minutes the pipeline will get the latest changes from Azure Cosmos DB and push them into our Bronze table. Using The Target Table With the pipeline running, we should start to see data flowing into our target Delta Lake table. I have created a simple customer data set for this example, with three items in the container. After the pipeline has run these items are pushed into a Delta Lake table in our target ADLS container. In a notebook in Azure Databricks, we can load that Delta Lake table and see its contents: We can already access the data in the target Delta table from Azure Databricks. Each time the pipeline in ADF runs, it will update this table with whatever inserts/updates/deletes have happened in the source container. To really make the best use of this as a Bronze table in Azure Databricks, we’re going to create an external table in Unity Catalog to integrate this data with the rest of our UC resources and in this way make it securely accessible to all our Azure Databricks users. First in the Catalog view in Azure Databricks we create a new external location: Then we configure the external location to point to our target ADLS folder. In the new external location dialog, we give the location a name, we select the storage credential that we’ll use to access the external container (in this case the managed identity that is assigned to my Azure Databricks workspace), and the URL to the actual storage container itself. Note that if you have not already done so you will have to ensure that the managed identity for your Azure Databricks workspace has been assigned the relevant permissions to access the storage container. For more information on configuring external locations in Azure Databricks see this documentation. Finally we can create an external table over our target storage container location so that we can access the table in UC. Inside an Azure Databricks notebook we can do this very simply: In the above example this creates the bronze table in the cdc_demo schema of my cdc_catalog catalog. Once this is done we can query this table like any other table in Unity Catalog, and view the data that’s being replicated from Azure Cosmos DB by our ADF pipeline. We can then continue to enrich, clean and merge this data downstream using standard Azure Databricks processes for example as shown in the documentation here. So we can see that with a simple pipeline in ADF, we have created a robust way of opening up our Azure Cosmos DB transactional data to whatever complex analytical processes we want to use in Azure Databricks without reading the transactional data store itself, thus reducing cost and “noisy neighbor” risks. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4302079"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: katiecummiskey" aria-describedby="UserHoverCard-1613758" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/katiecummiskey/1613758?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">katiecummiskey</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Analytics on Azure Blog" href="https://techcommunity-microsoft-com.translate.goog/category/azure/blog/analyticsonazure?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Analytics on Azure Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Replicating Azure Cosmos DB into Azure Databricks using CDC" href="https://techcommunity-microsoft-com.translate.goog/blog/analyticsonazure/replicating-azure-cosmos-db-into-azure-databricks-using-cdc/4302079?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 3:11 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name azure databricks" href="https://techcommunity-microsoft-com.translate.goog/tag/azure%20databricks?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">azure databricks</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>100<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>1<span class="styles_sr-only__NOnjB">like</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Deploy a Magento Open Source LAMP-stack e-commerce app on Azure with one click!" href="https://techcommunity-microsoft-com.translate.goog/blog/adformysql/deploy-a-magento-open-source-lamp-stack-e-commerce-app-on-azure-with-one-click/4297056?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVZvSnBZWQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">7 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Deploy a Magento Open Source LAMP-stack e-commerce app on Azure with one click!" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Deploy a Magento Open Source LAMP-stack e-commerce app on Azure with one click!" href="https://techcommunity-microsoft-com.translate.goog/blog/adformysql/deploy-a-magento-open-source-lamp-stack-e-commerce-app-on-azure-with-one-click/4297056?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Deploy a Magento Open Source LAMP-stack e-commerce app on Azure with one click!</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> We're thrilled to announce the release of our one-click ARM template for deploying Magento on Azure! Magento, a popular open-source e-commerce platform, can now be effortlessly hosted on Azure, leveraging services like AKS, Virtual Network, Private Link, Azure CDN, Azure Premium File Storage, and Azure Database for MySQL - Flexible Server. Check out the blog and demo video by Mahmut Olcay, Azure Data MVP and Azure Database for MySQL Insider, showcasing the deployment process. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4297056"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: NeilDsouza" aria-describedby="UserHoverCard-286629" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/neildsouza/286629?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">NeilDsouza</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Azure Database for MySQL Blog" href="https://techcommunity-microsoft-com.translate.goog/category/azuredatabases/blog/adformysql?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Azure Database for MySQL Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Deploy a Magento Open Source LAMP-stack e-commerce app on Azure with one click!" href="https://techcommunity-microsoft-com.translate.goog/blog/adformysql/deploy-a-magento-open-source-lamp-stack-e-commerce-app-on-azure-with-one-click/4297056?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 3:00 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name aks" href="https://techcommunity-microsoft-com.translate.goog/tag/aks?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">aks</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name azure" href="https://techcommunity-microsoft-com.translate.goog/tag/azure?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">azure</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Azure Database for MySQL" href="https://techcommunity-microsoft-com.translate.goog/tag/Azure%20Database%20for%20MySQL?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Azure Database for MySQL</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Azure Resource Manager Deployments" href="https://techcommunity-microsoft-com.translate.goog/tag/Azure%20Resource%20Manager%20Deployments?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Azure Resource Manager Deployments</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name database" href="https://techcommunity-microsoft-com.translate.goog/tag/database?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">database</span></a> </div><button title="Show More" data-testid="PagerLoadMore.Button" type="button" class="TagList_lia-pager__xs5cQ styles_lia-g-loader-btn__hVmpn PagerLoadMore_lia-pager__BGtW_ styles_btn__1HFm0 styles_btn-link__Qn59s"> <svg class="TagList_lia-pager-icon__heTvM styles_lia-g-icon-size-14__x7dQA Icon_lia-size-14__XOl7p Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-body-color);--lia-local-icon-color-h:var(--lia-bs-body-color-h);--lia-local-icon-color-s:var(--lia-bs-body-color-s);--lia-local-icon-color-l:var(--lia-bs-body-color-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/ellipsis.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#ellipsis"></use> </svg></button> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>95<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>0<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="New on Azure Marketplace: October 22-31, 2024" href="https://techcommunity-microsoft-com.translate.goog/blog/marketplace-blog/new-on-azure-marketplace-october-22-31-2024/4254197?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjU0MTk3LXdwVFBtQg?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">46 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="New on Azure Marketplace: October 22-31, 2024" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="New on Azure Marketplace: October 22-31, 2024" href="https://techcommunity-microsoft-com.translate.goog/blog/marketplace-blog/new-on-azure-marketplace-october-22-31-2024/4254197?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">New on Azure Marketplace: October 22-31, 2024</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> We continue to expand the Azure Marketplace ecosystem. For this volume, 348 new offers successfully met the onboarding criteria and went live. See details of the new offers below: </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4254197"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Luxmi_Nagaraj" aria-describedby="UserHoverCard-1991689" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/luxmi_nagaraj/1991689?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Luxmi_Nagaraj</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Marketplace blog" href="https://techcommunity-microsoft-com.translate.goog/category/mcpp/blog/marketplace-blog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Marketplace blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="New on Azure Marketplace: October 22-31, 2024" href="https://techcommunity-microsoft-com.translate.goog/blog/marketplace-blog/new-on-azure-marketplace-october-22-31-2024/4254197?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 2:00 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name azure" href="https://techcommunity-microsoft-com.translate.goog/tag/azure?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">azure</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name new solutions" href="https://techcommunity-microsoft-com.translate.goog/tag/new%20solutions?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">new solutions</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name partner" href="https://techcommunity-microsoft-com.translate.goog/tag/partner?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">partner</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>142<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>5<span class="styles_sr-only__NOnjB">likes</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>0<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> <li data-testid="UnstyledList.ListItem" class="PaneledItemList_lia-panel-list-item__bV87f"> <div class="MessageViewCard_lia-card-wrap__iy_tA" style="--lia-mvc-clamp-portrait:3;--lia-mvc-clamp-landscape:5"> <article class="MessageViewCard_lia-message__6_xUN styles_lia-g-card__y_snR" data-testid="MessageViewCard"> <a class="MessageViewCard_lia-message-img-wrap___G72a" data-testid="MessageLink" target="_self" tabindex="-1" aria-label="Python Editor - Now Available" href="https://techcommunity-microsoft-com.translate.goog/blog/excelblog/python-editor---now-available/4292184?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><img src="https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LTVZc0NGRQ?image-dimensions=300x400&constrain-image=true" alt="" data-testid="messagePreviewImage" class="MessageViewCard_lia-message-img___Yl9D"></a> <section class="MessageViewCard_lia-body-wrap__1TCbA styles_lia-g-card-left__GBjZ1"> <div class="MessageViewCard_lia-sub-heading__dXXyv"> <div class="MessageViewCard_lia-subtitle-wrap__6HBq8"> <span class="styles_lia-g-subheading__MYxBV MessageViewCard_lia-subtitle__LqzHj styles_lia-g-mr-0__4W_Sg">4 MIN READ</span> </div> <div class="MessageViewCard_lia-subject-wrap__glXCU"> <h2 title="Python Editor - Now Available" class="styles_text-break__Ny06M MessageViewCard_lia-subject__UOq4n" data-testid="MessageSubject"><a class="MessageViewCard_lia-subject-link__OhaPD styles_lia-g-clamp__dg3Sg styles_lia-g-clamp-2__53ACH" data-testid="MessageLink" target="_self" aria-label="Python Editor - Now Available" href="https://techcommunity-microsoft-com.translate.goog/blog/excelblog/python-editor---now-available/4292184?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Python Editor - Now Available</a></h2> </div> </div> <div data-testid="MessageTeaser" class="MessageViewCard_lia-body-content__f8mwr styles_lia-g-clamp__dg3Sg MessageViewCard_lia-has-clamp__rrQNV"> We are excited to announce that the Python Editor is now rolling out to Windows users. </div> <aside class="MessageViewCard_lia-auto-space__eu7OQ" aria-label="MessageCard-message:4292184"></aside> <div class="MessageViewCard_lia-byline__Yb_Im"> <div class="MessageViewCard_lia-byline-text__myP0s"> <a data-hovercard-trigger="true" data-testid="userLink" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="View Profile: Chris_Gross" aria-describedby="UserHoverCard-584627" target="_self" href="https://techcommunity-microsoft-com.translate.goog/users/chris_gross/584627?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Chris_Gross</a><a data-hovercard-trigger="true" data-testid="nodeLink" target="_self" class="styles_lia-g-divider__X68T2 MessageViewCard_lia-byline-item__5soD1" aria-label="Go to parent Excel Blog" href="https://techcommunity-microsoft-com.translate.goog/category/microsoft365/blog/excelblog?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB">Excel Blog</a> </div> </div><a class="MessageViewCard_lia-timestamp__pG_bu" data-testid="MessageLink" target="_self" aria-label="Python Editor - Now Available" href="https://techcommunity-microsoft-com.translate.goog/blog/excelblog/python-editor---now-available/4292184?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span data-testid="messageTime"><span title="November 21, 2024 at 2:00 PM" role="none">Nov 21, 2024</span></span></a> <div class="TagList_lia-list__83Z3Y MessageViewCard_lia-tag-list__CKTuD" data-testid="TagList"> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name Code" href="https://techcommunity-microsoft-com.translate.goog/tag/Code?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">Code</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name excel" href="https://techcommunity-microsoft-com.translate.goog/tag/excel?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">excel</span></a> </div> <div class="styles_d-block__btBet"> <a class="TagViewChip_lia-tag__XQ_Wo" data-testid="TagText" aria-label="Tag name python" href="https://techcommunity-microsoft-com.translate.goog/tag/python?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB"><span class="TagViewChip_lia-tag-text__iaqW0" data-testid="TagView.TagViewChip.TagText">python</span></a> </div> </div> </section> <section class="MessageViewCard_lia-message-footer__9uI7I" tabindex="-1"> <div class="styles_lia-g-count-wrap___e35P" data-testid="ViewCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/views.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#views"></use> </svg>684<span class="styles_sr-only__NOnjB">Views</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="kudosCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/like.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#like"></use> </svg>1<span class="styles_sr-only__NOnjB">like</span> </div> <div class="styles_lia-g-count-wrap___e35P" data-testid="messageRepliesCount"> <svg class="styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-bs-gray-600);--lia-local-icon-color-h:var(--lia-bs-gray-600-h);--lia-local-icon-color-s:var(--lia-bs-gray-600-s);--lia-local-icon-color-l:var(--lia-bs-gray-600-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/comment.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#comment"></use> </svg>2<span class="styles_sr-only__NOnjB">Comments</span> </div> </section> </article> </div></li> </ul> </section> <footer data-testid="PanelItemList.Footer" class="PaneledItemList_lia-panel-list-footer__4l5Jt"> <div class="styles_d-flex__7__Y_ styles_justify-content-center__wTGUU"> <button title="Show More" data-testid="PagerLoadMore.Button" type="button" class="styles_lia-g-loader-btn__hVmpn PagerLoadMore_lia-pager__BGtW_ styles_btn__1HFm0 styles_btn-link__Qn59s"> <svg class="styles_lia-g-mr-5__qkf3_ styles_lia-g-icon-size-16__V9Va_ Icon_lia-size-16__D8_m2 Icon_lia-icon__on1Gb" data-testid="Icon" style="--lia-local-icon-color:var(--lia-load-text-color);--lia-local-icon-color-h:var(--lia-load-text-color-h);--lia-local-icon-color-s:var(--lia-load-text-color-s);--lia-local-icon-color-l:var(--lia-load-text-color-l)" aria-hidden="true"> <use href="https://techcommunity-microsoft-com.translate.goog/static/graphics/processed/N-kiPDUFZiI-TFPgjoYOcYs5f-g/chevron-down.svg?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB#chevron-down"></use> </svg>Show More</button> </div> </footer> </article> </div> </div> <div style="--lia-content-item-border:1px solid hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)" class="QuiltSection_lia-column__iNmDj styles_col-lg-4__6NfeT"> <div class="styles_lia-g-section-widget__aHMgk"> <article class="CustomComponent_lia-article__sQ7z4" data-testid="CustomComponent"> <section></section> </article> </div> </div> </div> </div> </section> </main> <footer data-testid="QuiltWrapperSection"> <div class="CustomComponent_lia-wrapper__7IqeO" style="--lia-local-bg-color:transparent"> <article class="CustomComponent_lia-article__sQ7z4" data-testid="CustomComponent"> <section> <footer id="uhf-footer" class="custom_widget_MicrosoftFooter_c-uhff_f95yq_12 custom_widget_MicrosoftFooter_context-uhf_f95yq_1" data-uhf-mscc-rq="false" data-footer-footprint="/MSTechnical/MSTechnicalFooter, fromService: True" data-m="{"cN":"Uhf footer_cont","cT":"Container","id":"c1m1r1a2","sN":1,"aN":"m1r1a2"}"> <nav class="custom_widget_MicrosoftFooter_c-uhff-nav_f95yq_35" aria-label="Footer Resource links" data-m="{"cN":"Footer nav_cont","cT":"Container","id":"c1c1m1r1a2","sN":1,"aN":"c1m1r1a2"}"> <div class="custom_widget_MicrosoftFooter_c-uhff-nav-row_f95yq_57"> <div class="custom_widget_MicrosoftFooter_c-uhff-nav-group_f95yq_58" data-m="{"cN":"footerNavColumn1_cont","cT":"Container","id":"c1c1c1m1r1a2","sN":1,"aN":"c1c1m1r1a2"}"> <div class="custom_widget_MicrosoftFooter_c-heading-4_f95yq_49" role="heading" aria-level="2"> What's new </div> <ul class="custom_widget_MicrosoftFooter_c-list_f95yq_78 custom_widget_MicrosoftFooter_f-bare_f95yq_78"> <li><a aria-label="Surface Pro 9 What's new" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/d/surface-pro-9/93VKD8NP4FVK" data-m="{"cN":"Footer_WhatsNew_NewSurfacePro8_nav","id":"n1c1c1c1m1r1a2","sN":1,"aN":"c1c1c1m1r1a2"}">Surface Pro 9</a></li> <li><a aria-label="Surface Laptop 5 What's new" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/d/surface-laptop-5/8XN49V61S1BN" data-m="{"cN":"Footer_WhatsNew_SurfaceLaptop2_nav","id":"n2c1c1c1m1r1a2","sN":2,"aN":"c1c1c1m1r1a2"}">Surface Laptop 5</a></li> <li><a aria-label="Surface Studio 2+ What's new" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/d/surface-studio-2plus/8VLFQC3597K4" data-m="{"cN":"Footer_WhatsNew_SurfaceStudio_nav","id":"n3c1c1c1m1r1a2","sN":3,"aN":"c1c1c1m1r1a2"}">Surface Studio 2+</a></li> <li><a aria-label="Surface Laptop Go 2 What's new" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/d/surface-laptop-go-2/8PGLPV76MJHN" data-m="{"cN":"Footer_WhatsNew_SurfaceLaptopGo_nav","id":"n4c1c1c1m1r1a2","sN":4,"aN":"c1c1c1m1r1a2"}">Surface Laptop Go 2</a></li> <li><a aria-label="Surface Laptop Studio What's new" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/d/surface-laptop-studio/8SRDF62SWKPF" data-m="{"cN":"Footer_WhatsNew_SurfaceLaptopStudio_nav","id":"n5c1c1c1m1r1a2","sN":5,"aN":"c1c1c1m1r1a2"}">Surface Laptop Studio</a></li> <li><a aria-label="Surface Duo 2 What's new" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/d/surface-duo-2/9408KGXP4XJL" data-m="{"cN":"Footer_WhatsNew_SurfaceDuo2_nav","id":"n6c1c1c1m1r1a2","sN":6,"aN":"c1c1c1m1r1a2"}">Surface Duo 2</a></li> <li><a aria-label="Microsoft 365 What's new" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/microsoft-365" data-m="{"cN":"Whatsnew_Microsoft365_nav","id":"n7c1c1c1m1r1a2","sN":7,"aN":"c1c1c1m1r1a2"}">Microsoft 365</a></li> <li><a aria-label="Windows 11 apps What's new" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/windows/windows-11-apps" data-m="{"cN":"Footer_WhatsNew_Windows_11_apps_nav","id":"n8c1c1c1m1r1a2","sN":8,"aN":"c1c1c1m1r1a2"}">Windows 11 apps</a></li> </ul> </div> <div class="custom_widget_MicrosoftFooter_c-uhff-nav-group_f95yq_58" data-m="{"cN":"footerNavColumn2_cont","cT":"Container","id":"c2c1c1m1r1a2","sN":2,"aN":"c1c1m1r1a2"}"> <div class="custom_widget_MicrosoftFooter_c-heading-4_f95yq_49" role="heading" aria-level="2"> Microsoft Store </div> <ul class="custom_widget_MicrosoftFooter_c-list_f95yq_78 custom_widget_MicrosoftFooter_f-bare_f95yq_78"> <li><a aria-label="Account profile Microsoft Store" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://account.microsoft.com/" data-m="{"cN":"Footer_StoreandSupport_AccountProfile_nav","id":"n1c2c1c1m1r1a2","sN":1,"aN":"c2c1c1m1r1a2"}">Account profile</a></li> <li><a aria-label="Download Center Microsoft Store" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/download" data-m="{"cN":"Footer_StoreandSupport_DownloadCenter_nav","id":"n2c2c1c1m1r1a2","sN":2,"aN":"c2c1c1m1r1a2"}">Download Center</a></li> <li><a aria-label="Microsoft Store support Microsoft Store" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://go.microsoft.com/fwlink/?linkid%3D2139749" data-m="{"cN":"Footer_StoreandSupport_SalesAndSupport_nav","id":"n3c2c1c1m1r1a2","sN":3,"aN":"c2c1c1m1r1a2"}">Microsoft Store support</a></li> <li><a aria-label="Returns Microsoft Store" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://go.microsoft.com/fwlink/p/?LinkID%3D824764%26clcid%3D0x409" data-m="{"cN":"MicrosoftStore_ExtendedHolidayReturns_nav","id":"n4c2c1c1m1r1a2","sN":4,"aN":"c2c1c1m1r1a2"}">Returns</a></li> <li><a aria-label="Order tracking Microsoft Store" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://account.microsoft.com/orders" data-m="{"cN":"Footer_StoreandSupport_OrderTracking_nav","id":"n5c2c1c1m1r1a2","sN":5,"aN":"c2c1c1m1r1a2"}">Order tracking</a></li> <li><a aria-label="Virtual workshops and training Microsoft Store" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/store/workshops-training-and-events?icid%3Dvl_uf_932020" data-m="{"cN":"Footer_StoreandSupport_StoreLocations_nav","id":"n6c2c1c1m1r1a2","sN":6,"aN":"c2c1c1m1r1a2"}">Virtual workshops and training</a></li> <li><a aria-label="Microsoft Store Promise Microsoft Store" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/store/b/why-microsoft-store?icid%3Dfooter_why-msft-store_7102020" data-m="{"cN":"Footer_StoreandSupport_MicrosoftPromise_nav","id":"n7c2c1c1m1r1a2","sN":7,"aN":"c2c1c1m1r1a2"}">Microsoft Store Promise</a></li> <li><a aria-label="Flexible Payments Microsoft Store" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/store/b/payment-financing-options?icid%3Dfooter_financing_vcc" data-m="{"cN":"Footer_StoreandSupport_Financing_nav","id":"n8c2c1c1m1r1a2","sN":8,"aN":"c2c1c1m1r1a2"}">Flexible Payments</a></li> </ul> </div> <div class="custom_widget_MicrosoftFooter_c-uhff-nav-group_f95yq_58" data-m="{"cN":"footerNavColumn3_cont","cT":"Container","id":"c3c1c1m1r1a2","sN":3,"aN":"c1c1m1r1a2"}"> <div class="custom_widget_MicrosoftFooter_c-heading-4_f95yq_49" role="heading" aria-level="2"> Education </div> <ul class="custom_widget_MicrosoftFooter_c-list_f95yq_78 custom_widget_MicrosoftFooter_f-bare_f95yq_78"> <li><a aria-label="Microsoft in education Education" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/education" data-m="{"cN":"Footer_Education_MicrosoftInEducation_nav","id":"n1c3c1c1m1r1a2","sN":1,"aN":"c3c1c1m1r1a2"}">Microsoft in education</a></li> <li><a aria-label="Devices for education Education" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/education/devices/overview" data-m="{"cN":"Footer_Education_DevicesforEducation_nav","id":"n2c3c1c1m1r1a2","sN":2,"aN":"c3c1c1m1r1a2"}">Devices for education</a></li> <li><a aria-label="Microsoft Teams for Education Education" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/education/products/teams" data-m="{"cN":"Footer_Education_MicrosoftTeamsforEducation_nav","id":"n3c3c1c1m1r1a2","sN":3,"aN":"c3c1c1m1r1a2"}">Microsoft Teams for Education</a></li> <li><a aria-label="Microsoft 365 Education Education" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/education/buy-license/microsoft365" data-m="{"cN":"Footer_Education_Microsoft365Education_nav","id":"n4c3c1c1m1r1a2","sN":4,"aN":"c3c1c1m1r1a2"}">Microsoft 365 Education</a></li> <li><a aria-label="Education consultation appointment Education" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/store/b/business-consultation?tab%3Deducationconsultation%26icid%3DCNavfooter_educationconsultation" data-m="{"cN":"Footer_Education_ConsultationAppointment_nav","id":"n5c3c1c1m1r1a2","sN":5,"aN":"c3c1c1m1r1a2"}">Education consultation appointment</a></li> <li><a aria-label="Educator training and development Education" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://education.microsoft.com/" data-m="{"cN":"Footer_Education_EducatorTrainingDevelopment_nav","id":"n6c3c1c1m1r1a2","sN":6,"aN":"c3c1c1m1r1a2"}">Educator training and development</a></li> <li><a aria-label="Deals for students and parents Education" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/store/b/education" data-m="{"cN":"Footer_Education_DealsForStudentsandParents_nav","id":"n7c3c1c1m1r1a2","sN":7,"aN":"c3c1c1m1r1a2"}">Deals for students and parents</a></li> <li><a aria-label="Azure for students Education" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://azure.microsoft.com/en-us/free/students/" data-m="{"cN":"Footer_Azureforstudents_nav","id":"n8c3c1c1m1r1a2","sN":8,"aN":"c3c1c1m1r1a2"}">Azure for students</a></li> </ul> </div> </div> <div class="custom_widget_MicrosoftFooter_c-uhff-nav-row_f95yq_57"> <div class="custom_widget_MicrosoftFooter_c-uhff-nav-group_f95yq_58" data-m="{"cN":"footerNavColumn4_cont","cT":"Container","id":"c4c1c1m1r1a2","sN":4,"aN":"c1c1m1r1a2"}"> <div class="custom_widget_MicrosoftFooter_c-heading-4_f95yq_49" role="heading" aria-level="2"> Business </div> <ul class="custom_widget_MicrosoftFooter_c-list_f95yq_78 custom_widget_MicrosoftFooter_f-bare_f95yq_78"> <li><a aria-label="Microsoft Cloud Business" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/microsoft-cloud" data-m="{"cN":"Footer_Business_Microsoft_Cloud_nav","id":"n1c4c1c1m1r1a2","sN":1,"aN":"c4c1c1m1r1a2"}">Microsoft Cloud</a></li> <li><a aria-label="Microsoft Security Business" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/security" data-m="{"cN":"Footer_Business_Microsoft Security_nav","id":"n2c4c1c1m1r1a2","sN":2,"aN":"c4c1c1m1r1a2"}">Microsoft Security</a></li> <li><a aria-label="Dynamics 365 Business" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://dynamics.microsoft.com/en-us/" data-m="{"cN":"Footer_Business_MicrosoftDynamics365_nav","id":"n3c4c1c1m1r1a2","sN":3,"aN":"c4c1c1m1r1a2"}">Dynamics 365</a></li> <li><a aria-label="Microsoft 365 Business" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/microsoft-365/business/" data-m="{"cN":"More_Business_Microsoft365_nav","id":"n4c4c1c1m1r1a2","sN":4,"aN":"c4c1c1m1r1a2"}">Microsoft 365</a></li> <li><a aria-label="Microsoft Power Platform Business" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://powerplatform.microsoft.com/en-us/" data-m="{"cN":"Footer_DeveloperAndIT_Power Platform_nav","id":"n5c4c1c1m1r1a2","sN":5,"aN":"c4c1c1m1r1a2"}">Microsoft Power Platform</a></li> <li><a aria-label="Microsoft Teams Business" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/microsoft-teams/group-chat-software" data-m="{"cN":"Footer_Business_Microsoft365_nav","id":"n6c4c1c1m1r1a2","sN":6,"aN":"c4c1c1m1r1a2"}">Microsoft Teams</a></li> <li><a aria-label="Microsoft Industry Business" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/industry" data-m="{"cN":"Footer_Business_MicrosoftIndustry_nav","id":"n7c4c1c1m1r1a2","sN":7,"aN":"c4c1c1m1r1a2"}">Microsoft Industry</a></li> <li><a aria-label="Small Business Business" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/store/b/business?icid%3DCNavBusinessStore" data-m="{"cN":"Footer_Business-SmallBusiness_nav","id":"n8c4c1c1m1r1a2","sN":8,"aN":"c4c1c1m1r1a2"}">Small Business</a></li> </ul> </div> <div class="custom_widget_MicrosoftFooter_c-uhff-nav-group_f95yq_58" data-m="{"cN":"footerNavColumn5_cont","cT":"Container","id":"c5c1c1m1r1a2","sN":5,"aN":"c1c1m1r1a2"}"> <div class="custom_widget_MicrosoftFooter_c-heading-4_f95yq_49" role="heading" aria-level="2"> Developer & IT </div> <ul class="custom_widget_MicrosoftFooter_c-list_f95yq_78 custom_widget_MicrosoftFooter_f-bare_f95yq_78"> <li><a aria-label="Azure Developer & IT" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://azure.microsoft.com/en-us/" data-m="{"cN":"Footer_Enterprise_MicrosoftAzure_nav","id":"n1c5c1c1m1r1a2","sN":1,"aN":"c5c1c1m1r1a2"}">Azure</a></li> <li><a aria-label="Developer Center Developer & IT" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://developer.microsoft.com/en-us/" data-m="{"cN":"Footer_Developer_DeveloperCenter_nav","id":"n2c5c1c1m1r1a2","sN":2,"aN":"c5c1c1m1r1a2"}">Developer Center</a></li> <li><a aria-label="Documentation Developer & IT" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://learn.microsoft.com/docs/" data-m="{"cN":"Footer_DeveloperAndIT_Documentation_nav","id":"n3c5c1c1m1r1a2","sN":3,"aN":"c5c1c1m1r1a2"}">Documentation</a></li> <li><a aria-label="Microsoft Learn Developer & IT" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://learn.microsoft.com/" data-m="{"cN":"Footer_DeveloperAndIT_MicrosoftLearn_nav","id":"n4c5c1c1m1r1a2","sN":4,"aN":"c5c1c1m1r1a2"}">Microsoft Learn</a></li> <li><a aria-label="Microsoft Tech Community Developer & IT" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://techcommunity-microsoft-com.translate.goog/?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" data-m="{"cN":"Footer_DeveloperAndIT_MicrosoftTechCommunity_nav","id":"n5c5c1c1m1r1a2","sN":5,"aN":"c5c1c1m1r1a2"}">Microsoft Tech Community</a></li> <li><a aria-label="Azure Marketplace Developer & IT" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://azuremarketplace.microsoft.com/en-us/" data-m="{"cN":"More_DeveloperAndIT_AzureMarketplace_nav","id":"n6c5c1c1m1r1a2","sN":6,"aN":"c5c1c1m1r1a2"}">Azure Marketplace</a></li> <li><a aria-label="AppSource Developer & IT" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://appsource.microsoft.com/en-us/" data-m="{"cN":"Footer_DeveloperAndIT_AppSource_nav","id":"n7c5c1c1m1r1a2","sN":7,"aN":"c5c1c1m1r1a2"}">AppSource</a></li> <li><a aria-label="Visual Studio Developer & IT" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://visualstudio.microsoft.com/" data-m="{"cN":"Footer_Developer_MicrosoftVisualStudio_nav","id":"n8c5c1c1m1r1a2","sN":8,"aN":"c5c1c1m1r1a2"}">Visual Studio</a></li> </ul> </div> <div class="custom_widget_MicrosoftFooter_c-uhff-nav-group_f95yq_58" data-m="{"cN":"footerNavColumn6_cont","cT":"Container","id":"c6c1c1m1r1a2","sN":6,"aN":"c1c1m1r1a2"}"> <div class="custom_widget_MicrosoftFooter_c-heading-4_f95yq_49" role="heading" aria-level="2"> Company </div> <ul class="custom_widget_MicrosoftFooter_c-list_f95yq_78 custom_widget_MicrosoftFooter_f-bare_f95yq_78"> <li><a aria-label="Careers Company" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://careers.microsoft.com/" data-m="{"cN":"Footer_Company_Careers_nav","id":"n1c6c1c1m1r1a2","sN":1,"aN":"c6c1c1m1r1a2"}">Careers</a></li> <li><a aria-label="About Microsoft Company" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/about" data-m="{"cN":"Footer_Company_AboutMicrosoft_nav","id":"n2c6c1c1m1r1a2","sN":2,"aN":"c6c1c1m1r1a2"}">About Microsoft</a></li> <li><a aria-label="Company news Company" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://news.microsoft.com/" data-m="{"cN":"Footer_Company_CompanyNews_nav","id":"n3c6c1c1m1r1a2","sN":3,"aN":"c6c1c1m1r1a2"}">Company news</a></li> <li><a aria-label="Privacy at Microsoft Company" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://privacy.microsoft.com/en-us" data-m="{"cN":"Footer_Company_PrivacyAtMicrosoft_nav","id":"n4c6c1c1m1r1a2","sN":4,"aN":"c6c1c1m1r1a2"}">Privacy at Microsoft</a></li> <li><a aria-label="Investors Company" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/investor/default.aspx" data-m="{"cN":"Footer_Company_Investors_nav","id":"n5c6c1c1m1r1a2","sN":5,"aN":"c6c1c1m1r1a2"}">Investors</a></li> <li><a aria-label="Diversity and inclusion Company" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/diversity/" data-m="{"cN":"Footer_Company_DiversityAndInclusion_nav","id":"n6c6c1c1m1r1a2","sN":6,"aN":"c6c1c1m1r1a2"}">Diversity and inclusion</a></li> <li><a aria-label="Accessibility Company" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/accessibility" data-m="{"cN":"Footer_Company_Accessibility_nav","id":"n7c6c1c1m1r1a2","sN":7,"aN":"c6c1c1m1r1a2"}">Accessibility</a></li> <li><a aria-label="Sustainability Company" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/sustainability/" data-m="{"cN":"Footer_Company_Sustainability_nav","id":"n8c6c1c1m1r1a2","sN":8,"aN":"c6c1c1m1r1a2"}">Sustainability</a></li> </ul> </div> </div> </nav> <div class="custom_widget_MicrosoftFooter_c-uhff-base_f95yq_94"><a data-m="{"id":"n8c1c1m1r1a2","sN":8,"aN":"c1c1m1r1a2"}" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://aka.ms/yourcaliforniaprivacychoices" class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12 custom_widget_MicrosoftFooter_c-uhff-ccpa_f95yq_107"> <svg role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 30 14" xml:space="preserve" height="16" width="43"> <title>California Consumer Privacy Act (CCPA) Opt-Out Icon</title><path d="M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#fff"></path> <path d="M22.6 0H7.4c-3.9 0-7 3.1-7 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.2-7-7-7zm-21 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4c-3.2 0-5.8-2.6-5.8-5.8z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#06f"></path> <path d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8-.2.2-.6.2-.8 0l-2.2-2.2-2.2 2.2c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0z" style="fill:#fff"></path> <path d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0z" style="fill:#06f"></path> </svg><span>Your Privacy Choices</span> </a> <nav aria-label="Microsoft corporate links"> <ul class="custom_widget_MicrosoftFooter_c-list_f95yq_78 custom_widget_MicrosoftFooter_f-bare_f95yq_78" data-m="{"cN":"Corp links_cont","cT":"Container","id":"c8c1c1m1r1a2","sN":8,"aN":"c1c1m1r1a2"}"> <li id="c-uhff-footer_sitemap"><a class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://www.microsoft.com/en-us/sitemap1.aspx" data-mscc-ic="false" data-m="{"cN":"Footer_Sitemap_nav","id":"n1c8c1c1m1r1a2","sN":1,"aN":"c8c1c1m1r1a2"}">Sitemap</a></li> <li id="c-uhff-footer_contactus"><a class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://support.microsoft.com/contactus" data-mscc-ic="false" data-m="{"cN":"Footer_ContactUs_nav","id":"n2c8c1c1m1r1a2","sN":2,"aN":"c8c1c1m1r1a2"}">Contact Microsoft</a></li> <li id="c-uhff-footer_privacyandcookies"><a class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://go.microsoft.com/fwlink/?LinkId%3D521839" data-mscc-ic="false" data-m="{"cN":"Footer_PrivacyandCookies_nav","id":"n3c8c1c1m1r1a2","sN":3,"aN":"c8c1c1m1r1a2"}">Privacy </a></li> <li class="x-hidden" id="c-uhff-footer_managecookies"><a class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="javascript:manageConsent();?_x_tr_sl=pl&_x_tr_tl=cs&_x_tr_hl=en-GB" data-mscc-ic="false" data-m="{"cN":"Footer_ManageCookies_nav","id":"n4c8c1c1m1r1a2","sN":4,"aN":"c8c1c1m1r1a2"}">Manage cookies</a></li> <li id="c-uhff-footer_termsofuse"><a class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://go.microsoft.com/fwlink/?LinkID%3D206977" data-mscc-ic="false" data-m="{"cN":"Footer_TermsOfUse_nav","id":"n5c8c1c1m1r1a2","sN":5,"aN":"c8c1c1m1r1a2"}">Terms of use</a></li> <li id="c-uhff-footer_trademarks"><a class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://go.microsoft.com/fwlink/?linkid%3D2196228" data-mscc-ic="false" data-m="{"cN":"Footer_Trademarks_nav","id":"n6c8c1c1m1r1a2","sN":6,"aN":"c8c1c1m1r1a2"}">Trademarks</a></li> <li id="c-uhff-footer_safetyandeco"><a class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://go.microsoft.com/fwlink/?linkid%3D2196227" data-mscc-ic="false" data-m="{"cN":"Footer_SafetyAndEco_nav","id":"n7c8c1c1m1r1a2","sN":7,"aN":"c8c1c1m1r1a2"}">Safety & eco</a></li> <li id="c-uhff-footer_aboutourads"><a class="custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12" href="https://translate.google.com/website?sl=pl&tl=cs&hl=en-GB&u=https://choice.microsoft.com" data-mscc-ic="false" data-m="{"cN":"Footer_AboutourAds_nav","id":"n8c8c1c1m1r1a2","sN":8,"aN":"c8c1c1m1r1a2"}">About our ads</a></li> <li>© Microsoft 2024</li> </ul> </nav> </div> </footer> </section> </article> </div> </footer> </div> <script id="__NEXT_DATA__" type="application/json" crossorigin="anonymous">{"props":{"pageProps":{"locale":"en-US","tenant":{"id":"o365.prod","enabled":true,"auroraHost":"https://techcommunity.microsoft.com","host":"https://techcommunity.microsoft.com","phase":"prod","community":"gxcuf89792","ssl":true,"basePath":"","liaContextPath":"/t5/s","sameSite":true,"useEncodedIds":false,"publicConfig":{"repoName":"o365","moduleFederationHost":"https://aurora-customization-usw2.lithium.com","mainBranchName":"main","sdkEnabled":false,"auroraAnalyticsEnabled":true,"auroraAuditEnabled":false,"auroraFeaturedWidgetsEnabled":true,"auroraFeaturedContentTopicMessagesLimit":50,"auroraFeaturedPlacesNodesLimit":50,"auroraUnreleasedSettingsEnabled":false,"googleMapsApiKey":"AIzaSyCU2qaVJD5yWJQJannmoRnvql4qTowFcrQ","labelsEnabled":true,"pendoEnabled":false,"pendoApiKey":"16d69dfe-7be6-4eb7-59b7-708c84e89099","reCaptchaV3Enabled":true,"reCaptchaV3ScoreThreshold":0.5,"reCaptchaV3SiteKey":"6LcfUxUcAAAAAH1DBxd4uJIxf5ITF4YwCRUVJHsY","supportedLanguages":["en-US","es-ES","fr-FR","ja-JP","it-IT","nl-NL","pt-BR","pt-PT","ru-RU","pl-PL","de-DE"],"trafficVisitorCookieMaxAge":31536000,"videosFileType":[".wmv",".avi",".mov",".moov",".mpg",".mpeg",".m2t",".m2v",".vob",".flv",".mp4",".mpg4",".mkv",".asf",".m4v",".m2p",".3gp",".3g2",".f4v",".mp3",".m4a",".wma",".aac"],"sitemapEnabled":true,"quiltsV2Enabled":true,"multiTemplatesEnabled":true,"localizedQuiltWrapperEnabled":false,"samlEnabled":false,"ssoAllowNormalSignon":false,"ideasEnabled":true,"occasionsEnabled":true,"oidcssEnabled":true,"oidcssPostLogoutEndpointEnabled":false,"jwtSsoEnabled":false,"multiAuthEnabled":false,"multiAuthLocalisation":false,"inviteByEmailForGrouphubsEnabled":true,"switchUserFeatureEnabled":true,"messageStatusEnabled":true,"videoEnabled":false,"externalVideoEnabled":true,"salesforceIntegrationEnabled":false,"casePortalEnabled":false,"resetPermissionsEnabled":false,"closeAccountEnabled":true,"threadSummaryLimit":-1,"maxFeaturedGuestForEvents":10,"auroraEndpointsEnabled":true,"anonymousUserDeletionEnabled":false,"poweredByLogoEnabled":true,"endpointReloadInterval":120000,"maxOpenStreamsForEndpoints":0,"endpointBranchCompareIncludeFilter":"*.js,*.json,*.graphql","showExternalVideoCookieBanner":true,"maxGuidesAndContentLimit":500,"auroraThirdPartyAnalyticsEnabled":false,"contentArchiveEnabled":true,"auroraFirehoseEnabled":false,"auroraFirehoseFilterEventsEnabled":false,"mentionsEnabled":true,"featuredGuideLimit":50},"fresh":true,"useBasicAuth":false,"baseUrl":"https://techcommunity.microsoft.com"},"routeInfo":{"path":"/Blogs","pageName":"AllBlogs.Page"},"csrfToken":"6ed846c5207e20db47722346e256caa1d620f84d509161a93060a2f4df32a5388fd02c86f86cc0ddf56ef4796782c4e621830174aa1a612cdb8c2da2925d6124","authToken":{"token":"Bearer 7LmdzFQwCy6qg0/TkIgIX371z60ajs/Fx6VtPv2clbg=","expires":86400,"headerName":"Authorization","providerName":"OAUTH2_CC_None"},"switchUserId":null,"isCrawler":false,"apolloState":{"Community:community:gxcuf89792":{"__typename":"Community","id":"community:gxcuf89792","ssoProperties":{"__typename":"SsoProperties","ssoEnabled":{"__typename":"PolicyResult","failureReason":null},"communitySignUpUrl":"/t5/s/gxcuf89792/auth/oidcss/sso_login_redirect/provider/default","communitySignOnUrl":"/t5/s/gxcuf89792/auth/oidcss/sso_login_redirect/provider/default","communitySignOffUrl":"","khorosSignUpUrl":"","khorosSignOnUrl":"","khorosSignOffUrl":"","samlSignOnUrl":"","samlSignOffUrl":"","oidcssSignOnUrl":"","oidcssSignOffUrl":"","jwtSsoSignOnUrl":null,"jwtSsoSignOffUrl":null,"ssoBounceUrl":"","ssoQsParam":"referer"},"samlProperties":{"__typename":"SamlProperties","samlEnabled":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.saml.enabled.accessDenied","key":"error.lithium.policies.feature.saml.enabled.accessDenied","args":[]}},"registerQueryStringEnabled":false,"registerQueryStringValue":"","registerQueryStringEncodeValueEnabled":false,"loginQueryStringEnabled":false,"loginQueryStringValue":"","loginQueryStringEncodeValueEnabled":false,"idpBindingType":"post","idpOneBindingType":"post","idpTwoBindingType":"post"},"seoProperties":{"__typename":"SeoProperties","customOGSiteName":"TECHCOMMUNITY.MICROSOFT.COM","appendTopicUidInHead":false,"linkCommentToTimeStamp":true,"lowercasePath":true},"languageProperties":{"__typename":"LanguageProperties","language":"en-US"},"cookieProperties":{"__typename":"CookieProperties","cookiePrivacyPolicyUrl":"","isCookieBannerEnabled":false},"searchProperties":{"__typename":"SearchProperties","chatProperties":{"__typename":"ChatProperties","brandMessengerWidgetId":"","brandMessengerCompanyKey":"","brandMessengerScriptSource":"","brandMessengerElementSelector":""}},"knowledgeBaseProperties":{"__typename":"KnowledgeBaseProperties","isGuidesAndChaptersEnabled":true},"communityPolicies":{"__typename":"CommunityPolicies","localizedCategoriesFeatureEnabled":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.localized_categories.enabled.accessDenied","key":"error.lithium.policies.feature.localized_categories.enabled.accessDenied","args":[]}}},"badgeProperties":{"__typename":"BadgeProperties","enabled":{"__typename":"PolicyResult","failureReason":null}},"timezoneProperties":{"__typename":"TimezoneProperties","timezone":"US/Pacific"},"displayId":"gxcuf89792","nodeType":"community","title":"Microsoft Community Hub","seoTitle":null,"description":"","avatar":null,"userContext":{"__typename":"NodeUserContext","canUpdateNode":false}},"ROOT_QUERY":{"__typename":"Query","community":{"__ref":"Community:community:gxcuf89792"},"allowedLanguages":["en-US"],"authProviders":[],"cachedAsset({\"assetId\":\"pages\",\"assetType\":\"pages\",\"lastModified\":\"000\"})":{"__ref":"CachedAsset:pages-1732227367836"},"cachedText({\"locale\":\"en-US\",\"namespaces\":[\"components/context/AppContext/AppContextProvider\"]})":[{"__ref":"CachedAsset:text:en_US-components/context/AppContext/AppContextProvider-0"}],"cachedText({\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/common/Loading/LoadingDot\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-0"}],"self":{"__ref":"User:user:-1"},"theme({\"nodeId\":null})":{"__typename":"ThemeResponse","result":{"__ref":"Theme:customTheme1"}},"canAccess":true,"canRegister":true,"componentsLastModified":"1732227464476","quiltLastModified":"1732227364195","pagesLastModified":"1732227367836","pageScriptsLastModified":"1732227472445","textLastModified":"1731977288000","themeLastModified":"1732227367408","fieldDefinitionsLastModified":"1730139072000","entityDefinitionsLastModified":"1730139072000","quiltWrapperLastModified":"1732227308331","cachedAsset({\"assetId\":\"pages\",\"assetType\":\"pages\",\"lastModified\":\"1732227367836\"})":{"__ref":"CachedAsset:pages-1732227367836"},"cachedAsset({\"assetId\":\"customTheme1\",\"assetType\":\"theme\",\"lastModified\":\"1732227367408\",\"locale\":null,\"node\":null})":{"__ref":"CachedAsset:theme:customTheme1-1732227367408"},"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/common/EmailVerification\"]})":[{"__ref":"CachedAsset:text:en_US-components/common/EmailVerification-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/common/Loading/LoadingDot\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"pages/custom/CustomPage/AllBlogs.Page\"]})":[{"__ref":"CachedAsset:text:en_US-pages/custom/CustomPage/AllBlogs.Page-1731977288000"}],"cachedAsset({\"assetId\":\"C.AllBlogs.Page\",\"assetType\":\"quilt\",\"lastModified\":\"1732227364195\",\"locale\":null,\"node\":\"community:gxcuf89792\"})":{"__ref":"CachedAsset:quilt:o365.prod:C.AllBlogs.Page:community:gxcuf89792-1732227364195"},"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"pages/custom/CustomPage\"]})":[{"__ref":"CachedAsset:text:en_US-pages/custom/CustomPage-1731977288000"}],"cachedAsset({\"assetId\":\"Common_Enntvz\",\"assetType\":\"quiltWrapper\",\"lastModified\":\"1732227308331\",\"locale\":null,\"node\":null})":{"__ref":"CachedAsset:quiltWrapper:o365.prod:Common_Enntvz:1732227308331"},"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/common/ActionFeedback\"]})":[{"__ref":"CachedAsset:text:en_US-components/common/ActionFeedback-1731977288000"}],"cachedAsset({\"assetId\":\"custom.widget.Featured_Carousel-en-US\",\"assetType\":\"component\",\"lastModified\":\"1732227464476\",\"locale\":null,\"node\":null})":{"__ref":"CachedAsset:component:custom.widget.Featured_Carousel-en-1732227464476"},"cachedAsset({\"assetId\":\"custom.widget.All_Blogs_Sidebar-en-US\",\"assetType\":\"component\",\"lastModified\":\"1732227464476\",\"locale\":null,\"node\":null})":{"__ref":"CachedAsset:component:custom.widget.All_Blogs_Sidebar-en-1732227464476"},"cachedAsset({\"assetId\":\"custom.widget.MicrosoftFooter-en-US\",\"assetType\":\"component\",\"lastModified\":\"1732227464476\",\"locale\":null,\"node\":null})":{"__ref":"CachedAsset:component:custom.widget.MicrosoftFooter-en-1732227464476"},"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/featured/content/FeaturedContentWidget\"]})":[{"__ref":"CachedAsset:text:en_US-components/featured/content/FeaturedContentWidget-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageListForNodeByRecentActivityWidget\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageListForNodeByRecentActivityWidget-1731977288000"}],"coreNodes({\"constraints\":{\"id\":{\"in\":[\"community:gxcuf89792\",\"category:microsoft365\",\"category:MicrosoftTeams\",\"category:Windows\",\"category:MicrosoftSecurityandCompliance\",\"category:Outlook\",\"category:Planner\",\"category:Windows-Server\",\"category:Azure\",\"category:Exchange\",\"category:microsoft-endpoint-manager\",\"category:SQL-Server\",\"category:EducationSector\",\"category:AI\",\"category:ITOpsTalk\",\"category:PartnerCommunity\",\"category:MicrosoftMechanics\",\"category:HealthcareAndLifeSciences\",\"category:PublicSector\",\"category:IoT\",\"category:DrivingAdoption\",\"category:SMB\",\"category:StartupsatMicrosoft\",\"category:MicrosoftLearn\",\"category:MicrosoftLearn\",\"board:MicrosoftLearnBlog\",\"category:Community-Info-Center\"]}},\"first\":27})":{"__typename":"CoreNodeConnection","edges":[{"__typename":"CoreNodeEdge","node":{"__ref":"Community:community:gxcuf89792"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:Exchange"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:Planner"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:Outlook"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:Community-Info-Center"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:EducationSector"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:DrivingAdoption"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:Azure"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:Windows-Server"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:SQL-Server"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:MicrosoftTeams"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:PublicSector"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:microsoft365"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:IoT"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:HealthcareAndLifeSciences"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:SMB"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:ITOpsTalk"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:microsoft-endpoint-manager"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:MicrosoftSecurityandCompliance"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:MicrosoftLearn"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Blog:board:MicrosoftLearnBlog"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:AI"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:MicrosoftMechanics"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:StartupsatMicrosoft"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:PartnerCommunity"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:Windows"}}]},"messages({\"constraints\":{\"conversationStyle\":{\"eq\":\"BLOG\"},\"depth\":{\"eq\":0}},\"first\":25,\"sorts\":{\"postTime\":{\"direction\":\"DESC\"}}})":{"__typename":"MessageConnection","edges":[{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMyOTc4OA","node":{"__ref":"BlogTopicMessage:message:4329788"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMyMjAzNg","node":{"__ref":"BlogTopicMessage:message:4322036"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMzMDQ1Mw","node":{"__ref":"BlogTopicMessage:message:4330453"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMyOTc4NQ","node":{"__ref":"BlogTopicMessage:message:4329785"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMyMTEwOQ","node":{"__ref":"BlogTopicMessage:message:4321109"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDIyMTE2Ng","node":{"__ref":"BlogTopicMessage:message:4221166"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMwODY0OQ","node":{"__ref":"BlogTopicMessage:message:4308649"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMzMDM0NQ","node":{"__ref":"BlogTopicMessage:message:4330345"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMzMDMyOQ","node":{"__ref":"BlogTopicMessage:message:4330329"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMzMDE2MA","node":{"__ref":"BlogTopicMessage:message:4330160"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMzMDIzMQ","node":{"__ref":"BlogTopicMessage:message:4330231"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMxMDkzNw","node":{"__ref":"BlogTopicMessage:message:4310937"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMwNTk2MA","node":{"__ref":"BlogTopicMessage:message:4305960"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMyMTU4OA","node":{"__ref":"BlogTopicMessage:message:4321588"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMyMDgzNA","node":{"__ref":"BlogTopicMessage:message:4320834"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMyMDgzOA","node":{"__ref":"BlogTopicMessage:message:4320838"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMyMDc1Nw","node":{"__ref":"BlogTopicMessage:message:4320757"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMwOTM4MQ","node":{"__ref":"BlogTopicMessage:message:4309381"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMwODY4Ng","node":{"__ref":"BlogTopicMessage:message:4308686"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDI5NDMzNg","node":{"__ref":"BlogTopicMessage:message:4294336"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMwNDIzNA","node":{"__ref":"BlogTopicMessage:message:4304234"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDMwMjA3OQ","node":{"__ref":"BlogTopicMessage:message:4302079"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDI5NzA1Ng","node":{"__ref":"BlogTopicMessage:message:4297056"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDI1NDE5Nw","node":{"__ref":"BlogTopicMessage:message:4254197"}},{"__typename":"MessageEdge","cursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDI5MjE4NA","node":{"__ref":"BlogTopicMessage:message:4292184"}}],"pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MjQuMTB8Mi4xfGl8MjV8MTMyOjB8aW50LDQzMjk3ODgsNDI5MjE4NA"},"totalCount":50421},"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/community/Navbar\"]})":[{"__ref":"CachedAsset:text:en_US-components/community/Navbar-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/community/NavbarHamburgerDropdown\"]})":[{"__ref":"CachedAsset:text:en_US-components/community/NavbarHamburgerDropdown-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/community/BrandLogo\"]})":[{"__ref":"CachedAsset:text:en_US-components/community/BrandLogo-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/community/NavbarTextLinks\"]})":[{"__ref":"CachedAsset:text:en_US-components/community/NavbarTextLinks-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/authentication/AuthenticationLink\"]})":[{"__ref":"CachedAsset:text:en_US-components/authentication/AuthenticationLink-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/common/QueryHandler\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/common/QueryHandler-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/customComponent/CustomComponent\"]})":[{"__ref":"CachedAsset:text:en_US-components/customComponent/CustomComponent-1731977288000"}],"component({\"componentId\":\"custom.widget.MicrosoftFooter\"})":{"__typename":"Component","render({\"context\":{\"component\":{\"entities\":[],\"props\":{}},\"page\":{\"entities\":[],\"name\":\"AllBlogs.Page\",\"props\":{},\"url\":\"https://techcommunity.microsoft.com\"}}})":{"__typename":"ComponentRenderResult","html":"\u003cfooter id=\"uhf-footer\" class=\"c-uhff context-uhf\" data-uhf-mscc-rq=\"false\" data-footer-footprint=\"/MSTechnical/MSTechnicalFooter, fromService: True\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Uhf footer_cont\u0026quot;,\u0026quot;cT\u0026quot;:\u0026quot;Container\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;m1r1a2\u0026quot;}\"\u003e \u003cnav class=\"c-uhff-nav\" aria-label=\"Footer Resource links\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer nav_cont\u0026quot;,\u0026quot;cT\u0026quot;:\u0026quot;Container\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;c1m1r1a2\u0026quot;}\"\u003e \u003cdiv class=\"c-uhff-nav-row\"\u003e \u003cdiv class=\"c-uhff-nav-group\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;footerNavColumn1_cont\u0026quot;,\u0026quot;cT\u0026quot;:\u0026quot;Container\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;c1c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;c1c1m1r1a2\u0026quot;}\"\u003e \u003cdiv class=\"c-heading-4\" role=\"heading\" aria-level=\"2\"\u003eWhat's new\u003c/div\u003e \u003cul class=\"c-list f-bare\"\u003e \u003cli\u003e \u003ca aria-label=\"Surface Pro 9 What's new\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/d/surface-pro-9/93VKD8NP4FVK\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_WhatsNew_NewSurfacePro8_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n1c1c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;c1c1c1m1r1a2\u0026quot;}\"\u003eSurface Pro 9\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Surface Laptop 5 What's new\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/d/surface-laptop-5/8XN49V61S1BN\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_WhatsNew_SurfaceLaptop2_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n2c1c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:2,\u0026quot;aN\u0026quot;:\u0026quot;c1c1c1m1r1a2\u0026quot;}\"\u003eSurface Laptop 5\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Surface Studio 2+ What's new\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/d/surface-studio-2plus/8VLFQC3597K4\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_WhatsNew_SurfaceStudio_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n3c1c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:3,\u0026quot;aN\u0026quot;:\u0026quot;c1c1c1m1r1a2\u0026quot;}\"\u003eSurface Studio 2+\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Surface Laptop Go 2 What's new\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/d/surface-laptop-go-2/8PGLPV76MJHN\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_WhatsNew_SurfaceLaptopGo_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n4c1c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:4,\u0026quot;aN\u0026quot;:\u0026quot;c1c1c1m1r1a2\u0026quot;}\"\u003eSurface Laptop Go 2\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Surface Laptop Studio What's new\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/d/surface-laptop-studio/8SRDF62SWKPF\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_WhatsNew_SurfaceLaptopStudio_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n5c1c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:5,\u0026quot;aN\u0026quot;:\u0026quot;c1c1c1m1r1a2\u0026quot;}\"\u003eSurface Laptop Studio\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Surface Duo 2 What's new\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/d/surface-duo-2/9408KGXP4XJL\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_WhatsNew_SurfaceDuo2_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n6c1c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:6,\u0026quot;aN\u0026quot;:\u0026quot;c1c1c1m1r1a2\u0026quot;}\"\u003eSurface Duo 2\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft 365 What's new\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/microsoft-365\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Whatsnew_Microsoft365_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n7c1c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:7,\u0026quot;aN\u0026quot;:\u0026quot;c1c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft 365\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Windows 11 apps What's new\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/windows/windows-11-apps\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_WhatsNew_Windows_11_apps_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n8c1c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:8,\u0026quot;aN\u0026quot;:\u0026quot;c1c1c1m1r1a2\u0026quot;}\"\u003eWindows 11 apps\u003c/a\u003e \u003c/li\u003e \u003c/ul\u003e \u003c/div\u003e \u003cdiv class=\"c-uhff-nav-group\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;footerNavColumn2_cont\u0026quot;,\u0026quot;cT\u0026quot;:\u0026quot;Container\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;c2c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:2,\u0026quot;aN\u0026quot;:\u0026quot;c1c1m1r1a2\u0026quot;}\"\u003e \u003cdiv class=\"c-heading-4\" role=\"heading\" aria-level=\"2\"\u003eMicrosoft Store\u003c/div\u003e \u003cul class=\"c-list f-bare\"\u003e \u003cli\u003e \u003ca aria-label=\"Account profile Microsoft Store\" class=\"c-uhff-link\" href=\"https://account.microsoft.com/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_StoreandSupport_AccountProfile_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n1c2c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;c2c1c1m1r1a2\u0026quot;}\"\u003eAccount profile\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Download Center Microsoft Store\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/download\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_StoreandSupport_DownloadCenter_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n2c2c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:2,\u0026quot;aN\u0026quot;:\u0026quot;c2c1c1m1r1a2\u0026quot;}\"\u003eDownload Center\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Store support Microsoft Store\" class=\"c-uhff-link\" href=\"https://go.microsoft.com/fwlink/?linkid=2139749\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_StoreandSupport_SalesAndSupport_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n3c2c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:3,\u0026quot;aN\u0026quot;:\u0026quot;c2c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Store support\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Returns Microsoft Store\" class=\"c-uhff-link\" href=\"https://go.microsoft.com/fwlink/p/?LinkID=824764\u0026amp;clcid=0x409\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;MicrosoftStore_ExtendedHolidayReturns_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n4c2c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:4,\u0026quot;aN\u0026quot;:\u0026quot;c2c1c1m1r1a2\u0026quot;}\"\u003eReturns\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Order tracking Microsoft Store\" class=\"c-uhff-link\" href=\"https://account.microsoft.com/orders\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_StoreandSupport_OrderTracking_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n5c2c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:5,\u0026quot;aN\u0026quot;:\u0026quot;c2c1c1m1r1a2\u0026quot;}\"\u003eOrder tracking\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Virtual workshops and training Microsoft Store\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/store/workshops-training-and-events?icid=vl_uf_932020\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_StoreandSupport_StoreLocations_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n6c2c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:6,\u0026quot;aN\u0026quot;:\u0026quot;c2c1c1m1r1a2\u0026quot;}\"\u003eVirtual workshops and training\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Store Promise Microsoft Store\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/store/b/why-microsoft-store?icid=footer_why-msft-store_7102020\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_StoreandSupport_MicrosoftPromise_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n7c2c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:7,\u0026quot;aN\u0026quot;:\u0026quot;c2c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Store Promise\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Flexible Payments Microsoft Store\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/store/b/payment-financing-options?icid=footer_financing_vcc\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_StoreandSupport_Financing_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n8c2c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:8,\u0026quot;aN\u0026quot;:\u0026quot;c2c1c1m1r1a2\u0026quot;}\"\u003eFlexible Payments\u003c/a\u003e \u003c/li\u003e \u003c/ul\u003e \u003c/div\u003e \u003cdiv class=\"c-uhff-nav-group\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;footerNavColumn3_cont\u0026quot;,\u0026quot;cT\u0026quot;:\u0026quot;Container\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;c3c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:3,\u0026quot;aN\u0026quot;:\u0026quot;c1c1m1r1a2\u0026quot;}\"\u003e \u003cdiv class=\"c-heading-4\" role=\"heading\" aria-level=\"2\"\u003eEducation\u003c/div\u003e \u003cul class=\"c-list f-bare\"\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft in education Education\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/education\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Education_MicrosoftInEducation_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n1c3c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;c3c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft in education\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Devices for education Education\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/education/devices/overview\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Education_DevicesforEducation_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n2c3c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:2,\u0026quot;aN\u0026quot;:\u0026quot;c3c1c1m1r1a2\u0026quot;}\"\u003eDevices for education\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Teams for Education Education\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/education/products/teams\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Education_MicrosoftTeamsforEducation_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n3c3c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:3,\u0026quot;aN\u0026quot;:\u0026quot;c3c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Teams for Education\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft 365 Education Education\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/education/buy-license/microsoft365\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Education_Microsoft365Education_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n4c3c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:4,\u0026quot;aN\u0026quot;:\u0026quot;c3c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft 365 Education\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Education consultation appointment Education\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/store/b/business-consultation?tab=educationconsultation\u0026amp;icid=CNavfooter_educationconsultation\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Education_ConsultationAppointment_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n5c3c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:5,\u0026quot;aN\u0026quot;:\u0026quot;c3c1c1m1r1a2\u0026quot;}\"\u003eEducation consultation appointment\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Educator training and development Education\" class=\"c-uhff-link\" href=\"https://education.microsoft.com/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Education_EducatorTrainingDevelopment_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n6c3c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:6,\u0026quot;aN\u0026quot;:\u0026quot;c3c1c1m1r1a2\u0026quot;}\"\u003eEducator training and development\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Deals for students and parents Education\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/store/b/education\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Education_DealsForStudentsandParents_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n7c3c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:7,\u0026quot;aN\u0026quot;:\u0026quot;c3c1c1m1r1a2\u0026quot;}\"\u003eDeals for students and parents\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Azure for students Education\" class=\"c-uhff-link\" href=\"https://azure.microsoft.com/en-us/free/students/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Azureforstudents_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n8c3c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:8,\u0026quot;aN\u0026quot;:\u0026quot;c3c1c1m1r1a2\u0026quot;}\"\u003eAzure for students\u003c/a\u003e \u003c/li\u003e \u003c/ul\u003e \u003c/div\u003e \u003c/div\u003e \u003cdiv class=\"c-uhff-nav-row\"\u003e \u003cdiv class=\"c-uhff-nav-group\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;footerNavColumn4_cont\u0026quot;,\u0026quot;cT\u0026quot;:\u0026quot;Container\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;c4c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:4,\u0026quot;aN\u0026quot;:\u0026quot;c1c1m1r1a2\u0026quot;}\"\u003e \u003cdiv class=\"c-heading-4\" role=\"heading\" aria-level=\"2\"\u003eBusiness\u003c/div\u003e \u003cul class=\"c-list f-bare\"\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Cloud Business\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/microsoft-cloud\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Business_Microsoft_Cloud_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n1c4c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;c4c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Cloud\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Security Business\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/security\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Business_Microsoft Security_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n2c4c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:2,\u0026quot;aN\u0026quot;:\u0026quot;c4c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Security\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Dynamics 365 Business\" class=\"c-uhff-link\" href=\"https://dynamics.microsoft.com/en-us/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Business_MicrosoftDynamics365_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n3c4c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:3,\u0026quot;aN\u0026quot;:\u0026quot;c4c1c1m1r1a2\u0026quot;}\"\u003eDynamics 365\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft 365 Business\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/microsoft-365/business/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;More_Business_Microsoft365_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n4c4c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:4,\u0026quot;aN\u0026quot;:\u0026quot;c4c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft 365\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Power Platform Business\" class=\"c-uhff-link\" href=\"https://powerplatform.microsoft.com/en-us/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_DeveloperAndIT_Power Platform_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n5c4c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:5,\u0026quot;aN\u0026quot;:\u0026quot;c4c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Power Platform\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Teams Business\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/microsoft-teams/group-chat-software\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Business_Microsoft365_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n6c4c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:6,\u0026quot;aN\u0026quot;:\u0026quot;c4c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Teams\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Industry Business\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/industry\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Business_MicrosoftIndustry_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n7c4c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:7,\u0026quot;aN\u0026quot;:\u0026quot;c4c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Industry\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Small Business Business\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/store/b/business?icid=CNavBusinessStore\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Business-SmallBusiness_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n8c4c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:8,\u0026quot;aN\u0026quot;:\u0026quot;c4c1c1m1r1a2\u0026quot;}\"\u003eSmall Business\u003c/a\u003e \u003c/li\u003e \u003c/ul\u003e \u003c/div\u003e \u003cdiv class=\"c-uhff-nav-group\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;footerNavColumn5_cont\u0026quot;,\u0026quot;cT\u0026quot;:\u0026quot;Container\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;c5c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:5,\u0026quot;aN\u0026quot;:\u0026quot;c1c1m1r1a2\u0026quot;}\"\u003e \u003cdiv class=\"c-heading-4\" role=\"heading\" aria-level=\"2\"\u003eDeveloper \u0026amp; IT\u003c/div\u003e \u003cul class=\"c-list f-bare\"\u003e \u003cli\u003e \u003ca aria-label=\"Azure Developer \u0026amp; IT\" class=\"c-uhff-link\" href=\"https://azure.microsoft.com/en-us/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Enterprise_MicrosoftAzure_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n1c5c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;c5c1c1m1r1a2\u0026quot;}\"\u003eAzure\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Developer Center Developer \u0026amp; IT\" class=\"c-uhff-link\" href=\"https://developer.microsoft.com/en-us/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Developer_DeveloperCenter_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n2c5c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:2,\u0026quot;aN\u0026quot;:\u0026quot;c5c1c1m1r1a2\u0026quot;}\"\u003eDeveloper Center\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Documentation Developer \u0026amp; IT\" class=\"c-uhff-link\" href=\"https://learn.microsoft.com/docs/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_DeveloperAndIT_Documentation_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n3c5c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:3,\u0026quot;aN\u0026quot;:\u0026quot;c5c1c1m1r1a2\u0026quot;}\"\u003eDocumentation\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Learn Developer \u0026amp; IT\" class=\"c-uhff-link\" href=\"https://learn.microsoft.com/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_DeveloperAndIT_MicrosoftLearn_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n4c5c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:4,\u0026quot;aN\u0026quot;:\u0026quot;c5c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Learn\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Microsoft Tech Community Developer \u0026amp; IT\" class=\"c-uhff-link\" href=\"https://techcommunity.microsoft.com/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_DeveloperAndIT_MicrosoftTechCommunity_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n5c5c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:5,\u0026quot;aN\u0026quot;:\u0026quot;c5c1c1m1r1a2\u0026quot;}\"\u003eMicrosoft Tech Community\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Azure Marketplace Developer \u0026amp; IT\" class=\"c-uhff-link\" href=\"https://azuremarketplace.microsoft.com/en-us/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;More_DeveloperAndIT_AzureMarketplace_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n6c5c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:6,\u0026quot;aN\u0026quot;:\u0026quot;c5c1c1m1r1a2\u0026quot;}\"\u003eAzure Marketplace\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"AppSource Developer \u0026amp; IT\" class=\"c-uhff-link\" href=\"https://appsource.microsoft.com/en-us/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_DeveloperAndIT_AppSource_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n7c5c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:7,\u0026quot;aN\u0026quot;:\u0026quot;c5c1c1m1r1a2\u0026quot;}\"\u003eAppSource\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Visual Studio Developer \u0026amp; IT\" class=\"c-uhff-link\" href=\"https://visualstudio.microsoft.com/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Developer_MicrosoftVisualStudio_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n8c5c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:8,\u0026quot;aN\u0026quot;:\u0026quot;c5c1c1m1r1a2\u0026quot;}\"\u003eVisual Studio\u003c/a\u003e \u003c/li\u003e \u003c/ul\u003e \u003c/div\u003e \u003cdiv class=\"c-uhff-nav-group\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;footerNavColumn6_cont\u0026quot;,\u0026quot;cT\u0026quot;:\u0026quot;Container\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;c6c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:6,\u0026quot;aN\u0026quot;:\u0026quot;c1c1m1r1a2\u0026quot;}\"\u003e \u003cdiv class=\"c-heading-4\" role=\"heading\" aria-level=\"2\"\u003eCompany\u003c/div\u003e \u003cul class=\"c-list f-bare\"\u003e \u003cli\u003e \u003ca aria-label=\"Careers Company\" class=\"c-uhff-link\" href=\"https://careers.microsoft.com/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Company_Careers_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n1c6c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;c6c1c1m1r1a2\u0026quot;}\"\u003eCareers\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"About Microsoft Company\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/about\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Company_AboutMicrosoft_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n2c6c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:2,\u0026quot;aN\u0026quot;:\u0026quot;c6c1c1m1r1a2\u0026quot;}\"\u003eAbout Microsoft\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Company news Company\" class=\"c-uhff-link\" href=\"https://news.microsoft.com/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Company_CompanyNews_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n3c6c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:3,\u0026quot;aN\u0026quot;:\u0026quot;c6c1c1m1r1a2\u0026quot;}\"\u003eCompany news\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Privacy at Microsoft Company\" class=\"c-uhff-link\" href=\"https://privacy.microsoft.com/en-us\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Company_PrivacyAtMicrosoft_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n4c6c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:4,\u0026quot;aN\u0026quot;:\u0026quot;c6c1c1m1r1a2\u0026quot;}\"\u003ePrivacy at Microsoft\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Investors Company\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/investor/default.aspx\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Company_Investors_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n5c6c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:5,\u0026quot;aN\u0026quot;:\u0026quot;c6c1c1m1r1a2\u0026quot;}\"\u003eInvestors\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Diversity and inclusion Company\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/diversity/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Company_DiversityAndInclusion_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n6c6c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:6,\u0026quot;aN\u0026quot;:\u0026quot;c6c1c1m1r1a2\u0026quot;}\"\u003eDiversity and inclusion\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Accessibility Company\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/accessibility\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Company_Accessibility_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n7c6c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:7,\u0026quot;aN\u0026quot;:\u0026quot;c6c1c1m1r1a2\u0026quot;}\"\u003eAccessibility\u003c/a\u003e \u003c/li\u003e \u003cli\u003e \u003ca aria-label=\"Sustainability Company\" class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/sustainability/\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Company_Sustainability_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n8c6c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:8,\u0026quot;aN\u0026quot;:\u0026quot;c6c1c1m1r1a2\u0026quot;}\"\u003eSustainability\u003c/a\u003e \u003c/li\u003e \u003c/ul\u003e \u003c/div\u003e \u003c/div\u003e \u003c/nav\u003e \u003cdiv class=\"c-uhff-base\"\u003e \u003ca data-m=\"{\u0026quot;id\u0026quot;:\u0026quot;n8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:8,\u0026quot;aN\u0026quot;:\u0026quot;c1c1m1r1a2\u0026quot;}\" href=\"https://aka.ms/yourcaliforniaprivacychoices\" class=\"c-uhff-link c-uhff-ccpa\"\u003e \u003csvg role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 14\" xml:space=\"preserve\" height=\"16\" width=\"43\"\u003e \u003ctitle\u003eCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon\u003c/title\u003e \u003cpath d=\"M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8z\" style=\"fill-rule:evenodd;clip-rule:evenodd;fill:#fff\"\u003e\u003c/path\u003e \u003cpath d=\"M22.6 0H7.4c-3.9 0-7 3.1-7 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.2-7-7-7zm-21 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4c-3.2 0-5.8-2.6-5.8-5.8z\" style=\"fill-rule:evenodd;clip-rule:evenodd;fill:#06f\"\u003e\u003c/path\u003e \u003cpath d=\"M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8-.2.2-.6.2-.8 0l-2.2-2.2-2.2 2.2c-.2.2-.6.2-.8 0-.2-.2-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0z\" style=\"fill:#fff\"\u003e\u003c/path\u003e \u003cpath d=\"M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8.2-.2.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0z\" style=\"fill:#06f\"\u003e\u003c/path\u003e \u003c/svg\u003e \u003cspan\u003eYour Privacy Choices\u003c/span\u003e \u003c/a\u003e \u003cnav aria-label=\"Microsoft corporate links\"\u003e \u003cul class=\"c-list f-bare\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Corp links_cont\u0026quot;,\u0026quot;cT\u0026quot;:\u0026quot;Container\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;c8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:8,\u0026quot;aN\u0026quot;:\u0026quot;c1c1m1r1a2\u0026quot;}\"\u003e \u003cli id=\"c-uhff-footer_sitemap\"\u003e \u003ca class=\"c-uhff-link\" href=\"https://www.microsoft.com/en-us/sitemap1.aspx\" data-mscc-ic=\"false\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Sitemap_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n1c8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:1,\u0026quot;aN\u0026quot;:\u0026quot;c8c1c1m1r1a2\u0026quot;}\"\u003eSitemap\u003c/a\u003e \u003c/li\u003e \u003cli id=\"c-uhff-footer_contactus\"\u003e \u003ca class=\"c-uhff-link\" href=\"https://support.microsoft.com/contactus\" data-mscc-ic=\"false\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_ContactUs_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n2c8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:2,\u0026quot;aN\u0026quot;:\u0026quot;c8c1c1m1r1a2\u0026quot;}\"\u003eContact Microsoft\u003c/a\u003e \u003c/li\u003e \u003cli id=\"c-uhff-footer_privacyandcookies\"\u003e \u003ca class=\"c-uhff-link\" href=\"https://go.microsoft.com/fwlink/?LinkId=521839\" data-mscc-ic=\"false\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_PrivacyandCookies_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n3c8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:3,\u0026quot;aN\u0026quot;:\u0026quot;c8c1c1m1r1a2\u0026quot;}\"\u003ePrivacy \u003c/a\u003e \u003c/li\u003e \u003cli class=\"x-hidden\" id=\"c-uhff-footer_managecookies\"\u003e \u003ca class=\"c-uhff-link\" href=\"javascript:manageConsent();\" onClick=\"javascript:manageConsent(); return false;\" data-mscc-ic=\"false\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_ManageCookies_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n4c8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:4,\u0026quot;aN\u0026quot;:\u0026quot;c8c1c1m1r1a2\u0026quot;}\"\u003eManage cookies\u003c/a\u003e \u003c/li\u003e \u003cli id=\"c-uhff-footer_termsofuse\"\u003e \u003ca class=\"c-uhff-link\" href=\"https://go.microsoft.com/fwlink/?LinkID=206977\" data-mscc-ic=\"false\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_TermsOfUse_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n5c8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:5,\u0026quot;aN\u0026quot;:\u0026quot;c8c1c1m1r1a2\u0026quot;}\"\u003eTerms of use\u003c/a\u003e \u003c/li\u003e \u003cli id=\"c-uhff-footer_trademarks\"\u003e \u003ca class=\"c-uhff-link\" href=\"https://go.microsoft.com/fwlink/?linkid=2196228\" data-mscc-ic=\"false\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_Trademarks_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n6c8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:6,\u0026quot;aN\u0026quot;:\u0026quot;c8c1c1m1r1a2\u0026quot;}\"\u003eTrademarks\u003c/a\u003e \u003c/li\u003e \u003cli id=\"c-uhff-footer_safetyandeco\"\u003e \u003ca class=\"c-uhff-link\" href=\"https://go.microsoft.com/fwlink/?linkid=2196227\" data-mscc-ic=\"false\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_SafetyAndEco_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n7c8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:7,\u0026quot;aN\u0026quot;:\u0026quot;c8c1c1m1r1a2\u0026quot;}\"\u003eSafety \u0026amp; eco\u003c/a\u003e \u003c/li\u003e \u003cli id=\"c-uhff-footer_aboutourads\"\u003e \u003ca class=\"c-uhff-link\" href=\"https://choice.microsoft.com\" data-mscc-ic=\"false\" data-m=\"{\u0026quot;cN\u0026quot;:\u0026quot;Footer_AboutourAds_nav\u0026quot;,\u0026quot;id\u0026quot;:\u0026quot;n8c8c1c1m1r1a2\u0026quot;,\u0026quot;sN\u0026quot;:8,\u0026quot;aN\u0026quot;:\u0026quot;c8c1c1m1r1a2\u0026quot;}\"\u003eAbout our ads\u003c/a\u003e \u003c/li\u003e \u003cli\u003e© Microsoft 2024\u003c/li\u003e \u003c/ul\u003e \u003c/nav\u003e \u003c/div\u003e \u003c/footer\u003e"}},"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/community/NavbarDropdownToggle\"]})":[{"__ref":"CachedAsset:text:en_US-components/community/NavbarDropdownToggle-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageTimeToRead\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageTimeToRead-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageSubject\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageSubject-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageSolvedBadge\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageSolvedBadge-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageBody\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageBody-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/users/UserLink\"]})":[{"__ref":"CachedAsset:text:en_US-components/users/UserLink-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageView/MessageViewCard\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageView/MessageViewCard-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/nodes/NodeLink\"]})":[{"__ref":"CachedAsset:text:en_US-components/nodes/NodeLink-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageTime\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageTime-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageViewCount\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageViewCount-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/kudos/KudosCount\"]})":[{"__ref":"CachedAsset:text:en_US-components/kudos/KudosCount-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageRepliesCount\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageRepliesCount-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/nodes/NodeIcon\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/nodes/NodeIcon-1731977288000"}],"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/common/Pager/PagerLoadMore\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/common/Pager/PagerLoadMore-1731977288000"}],"message({\"id\":\"message:4304234\"})":{"__ref":"BlogTopicMessage:message:4304234"},"message({\"id\":\"message:4302079\"})":{"__ref":"BlogTopicMessage:message:4302079"},"message({\"id\":\"message:4297056\"})":{"__ref":"BlogTopicMessage:message:4297056"},"message({\"id\":\"message:4254197\"})":{"__ref":"BlogTopicMessage:message:4254197"},"message({\"id\":\"message:4292184\"})":{"__ref":"BlogTopicMessage:message:4292184"},"message({\"id\":\"message:4221166\"})":{"__ref":"BlogTopicMessage:message:4221166"},"message({\"id\":\"message:4308649\"})":{"__ref":"BlogTopicMessage:message:4308649"},"message({\"id\":\"message:4330345\"})":{"__ref":"BlogTopicMessage:message:4330345"},"message({\"id\":\"message:4330329\"})":{"__ref":"BlogTopicMessage:message:4330329"},"message({\"id\":\"message:4330160\"})":{"__ref":"BlogTopicMessage:message:4330160"},"message({\"id\":\"message:4330231\"})":{"__ref":"BlogTopicMessage:message:4330231"},"message({\"id\":\"message:4310937\"})":{"__ref":"BlogTopicMessage:message:4310937"},"message({\"id\":\"message:4305960\"})":{"__ref":"BlogTopicMessage:message:4305960"},"message({\"id\":\"message:4321588\"})":{"__ref":"BlogTopicMessage:message:4321588"},"message({\"id\":\"message:4320834\"})":{"__ref":"BlogTopicMessage:message:4320834"},"message({\"id\":\"message:4329788\"})":{"__ref":"BlogTopicMessage:message:4329788"},"message({\"id\":\"message:4322036\"})":{"__ref":"BlogTopicMessage:message:4322036"},"message({\"id\":\"message:4330453\"})":{"__ref":"BlogTopicMessage:message:4330453"},"message({\"id\":\"message:4329785\"})":{"__ref":"BlogTopicMessage:message:4329785"},"message({\"id\":\"message:4321109\"})":{"__ref":"BlogTopicMessage:message:4321109"},"message({\"id\":\"message:4320838\"})":{"__ref":"BlogTopicMessage:message:4320838"},"message({\"id\":\"message:4320757\"})":{"__ref":"BlogTopicMessage:message:4320757"},"message({\"id\":\"message:4309381\"})":{"__ref":"BlogTopicMessage:message:4309381"},"message({\"id\":\"message:4308686\"})":{"__ref":"BlogTopicMessage:message:4308686"},"message({\"id\":\"message:4294336\"})":{"__ref":"BlogTopicMessage:message:4294336"},"cachedText({\"lastModified\":\"1731977288000\",\"locale\":\"en-US\",\"namespaces\":[\"components/tags/TagView/TagViewChip\"]})":[{"__ref":"CachedAsset:text:en_US-components/tags/TagView/TagViewChip-1731977288000"}]},"CachedAsset:pages-1732227367836":{"__typename":"CachedAsset","id":"pages-1732227367836","value":[{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"BlogViewAllPostsPage","type":"BLOG","urlPath":"/category/:categoryId/blog/:boardId/all-posts/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"CasePortalPage","type":"CASE_PORTAL","urlPath":"/caseportal","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"CreateGroupHubPage","type":"GROUP_HUB","urlPath":"/groups/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"CaseViewPage","type":"CASE_DETAILS","urlPath":"/case/:caseId/:caseNumber","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"InboxPage","type":"COMMUNITY","urlPath":"/inbox","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"HelpFAQPage","type":"COMMUNITY","urlPath":"/help","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"IdeaMessagePage","type":"IDEA_POST","urlPath":"/idea/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"IdeaViewAllIdeasPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId/all-ideas/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"LoginPage","type":"USER","urlPath":"/signin","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"BlogPostPage","type":"BLOG","urlPath":"/category/:categoryId/blogs/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"UserBlogPermissions.Page","type":"COMMUNITY","urlPath":"/c/user-blog-permissions/page","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ThemeEditorPage","type":"COMMUNITY","urlPath":"/designer/themes","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"TkbViewAllArticlesPage","type":"TKB","urlPath":"/category/:categoryId/kb/:boardId/all-articles/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1730142000000,"localOverride":null,"page":{"id":"AllEvents","type":"CUSTOM","urlPath":"/Events","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"OccasionEditPage","type":"EVENT","urlPath":"/event/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"OAuthAuthorizationAllowPage","type":"USER","urlPath":"/auth/authorize/allow","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"PageEditorPage","type":"COMMUNITY","urlPath":"/designer/pages","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"PostPage","type":"COMMUNITY","urlPath":"/category/:categoryId/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ForumBoardPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"TkbBoardPage","type":"TKB","urlPath":"/category/:categoryId/kb/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"EventPostPage","type":"EVENT","urlPath":"/category/:categoryId/events/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"UserBadgesPage","type":"COMMUNITY","urlPath":"/users/:login/:userId/badges","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"GroupHubMembershipAction","type":"GROUP_HUB","urlPath":"/membership/join/:nodeId/:membershipType","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"IdeaReplyPage","type":"IDEA_REPLY","urlPath":"/idea/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"UserSettingsPage","type":"USER","urlPath":"/mysettings/:userSettingsTab","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"GroupHubsPage","type":"GROUP_HUB","urlPath":"/groups","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ForumPostPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"OccasionRsvpActionPage","type":"OCCASION","urlPath":"/event/:boardId/:messageSubject/:messageId/rsvp/:responseType","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"VerifyUserEmailPage","type":"USER","urlPath":"/verifyemail/:userId/:verifyEmailToken","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"AllOccasionsPage","type":"OCCASION","urlPath":"/category/:categoryId/events/:boardId/all-events/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"EventBoardPage","type":"EVENT","urlPath":"/category/:categoryId/events/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"TkbReplyPage","type":"TKB_REPLY","urlPath":"/kb/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"IdeaBoardPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"CommunityGuideLinesPage","type":"COMMUNITY","urlPath":"/communityguidelines","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"CaseCreatePage","type":"SALESFORCE_CASE_CREATION","urlPath":"/caseportal/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"TkbEditPage","type":"TKB","urlPath":"/kb/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"KhorosSignInPage","type":"USER","urlPath":"/kh-signin","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ForgotPasswordPage","type":"USER","urlPath":"/forgotpassword","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"IdeaEditPage","type":"IDEA","urlPath":"/idea/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"TagPage","type":"COMMUNITY","urlPath":"/tag/:tagName","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"BlogBoardPage","type":"BLOG","urlPath":"/category/:categoryId/blog/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"OccasionMessagePage","type":"OCCASION_TOPIC","urlPath":"/event/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ManageContentPage","type":"COMMUNITY","urlPath":"/managecontent","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ClosedMembershipNodeNonMembersPage","type":"GROUP_HUB","urlPath":"/closedgroup/:groupHubId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"CommunityPage","type":"COMMUNITY","urlPath":"/","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ForumMessagePage","type":"FORUM_TOPIC","urlPath":"/discussions/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"IdeaPostPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1730142000000,"localOverride":null,"page":{"id":"CommunityHub.Page","type":"CUSTOM","urlPath":"/Directory","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"BlogMessagePage","type":"BLOG_ARTICLE","urlPath":"/blog/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"RegistrationPage","type":"USER","urlPath":"/register","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"EditGroupHubPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ForumEditPage","type":"FORUM","urlPath":"/discussions/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ResetPasswordPage","type":"USER","urlPath":"/resetpassword/:userId/:resetPasswordToken","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1730142000000,"localOverride":null,"page":{"id":"AllBlogs.Page","type":"CUSTOM","urlPath":"/blogs","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"TkbMessagePage","type":"TKB_ARTICLE","urlPath":"/kb/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"BlogEditPage","type":"BLOG","urlPath":"/blog/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ManageUsersPage","type":"USER","urlPath":"/users/manage/:tab?/:manageUsersTab?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ForumReplyPage","type":"FORUM_REPLY","urlPath":"/discussions/:boardId/:messageSubject/:messageId/replies/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"PrivacyPolicyPage","type":"COMMUNITY","urlPath":"/privacypolicy","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"NotificationPage","type":"COMMUNITY","urlPath":"/notifications","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"UserPage","type":"USER","urlPath":"/users/:login/:userId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"OccasionReplyPage","type":"OCCASION_REPLY","urlPath":"/event/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ManageMembersPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/manage/:tab?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"SearchResultsPage","type":"COMMUNITY","urlPath":"/search","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"BlogReplyPage","type":"BLOG_REPLY","urlPath":"/blog/:boardId/:messageSubject/:messageId/replies/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"GroupHubPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"TermsOfServicePage","type":"COMMUNITY","urlPath":"/termsofservice","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"CategoryPage","type":"CATEGORY","urlPath":"/category/:categoryId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"ForumViewAllTopicsPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId/all-topics/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"TkbPostPage","type":"TKB","urlPath":"/category/:categoryId/kbs/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1732227367836,"localOverride":null,"page":{"id":"GroupHubPostPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"}],"localOverride":false},"CachedAsset:text:en_US-components/context/AppContext/AppContextProvider-0":{"__typename":"CachedAsset","id":"text:en_US-components/context/AppContext/AppContextProvider-0","value":{"noCommunity":"Cannot find community","noUser":"Cannot find current user","noNode":"Cannot find node with id {nodeId}","noMessage":"Cannot find message with id {messageId}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-0":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Loading/LoadingDot-0","value":{"title":"Loading..."},"localOverride":false},"User:user:-1":{"__typename":"User","id":"user:-1","uid":-1,"login":"Deleted","email":"","avatar":null,"rank":null,"kudosWeight":1,"registrationData":{"__typename":"RegistrationData","status":"ANONYMOUS","registrationTime":null,"confirmEmailStatus":false,"registrationAccessLevel":"VIEW","ssoRegistrationFields":[]},"ssoId":null,"profileSettings":{"__typename":"ProfileSettings","dateDisplayStyle":{"__typename":"InheritableStringSettingWithPossibleValues","key":"layout.friendly_dates_enabled","value":"false","localValue":"true","possibleValues":["true","false"]},"dateDisplayFormat":{"__typename":"InheritableStringSetting","key":"layout.format_pattern_date","value":"MMM dd yyyy","localValue":"MM-dd-yyyy"},"language":{"__typename":"InheritableStringSettingWithPossibleValues","key":"profile.language","value":"en-US","localValue":"en","possibleValues":["en-US"]}},"deleted":false},"Theme:customTheme1":{"__typename":"Theme","id":"customTheme1"},"CachedAsset:theme:customTheme1-1732227367408":{"__typename":"CachedAsset","id":"theme:customTheme1-1732227367408","value":{"id":"customTheme1","animation":{"fast":"150ms","normal":"250ms","slow":"500ms","slowest":"750ms","function":"cubic-bezier(0.07, 0.91, 0.51, 1)","__typename":"AnimationThemeSettings"},"avatar":{"borderRadius":"50%","collections":["default"],"__typename":"AvatarThemeSettings"},"basics":{"browserIcon":{"imageAssetName":"favicon-1730836283320.png","imageLastModified":"1730836286415","__typename":"ThemeAsset"},"customerLogo":{"imageAssetName":"favicon-1730836271365.png","imageLastModified":"1730836274203","__typename":"ThemeAsset"},"maximumWidthOfPageContent":"1300px","oneColumnNarrowWidth":"800px","gridGutterWidthMd":"30px","gridGutterWidthXs":"10px","pageWidthStyle":"WIDTH_OF_BROWSER","__typename":"BasicsThemeSettings"},"buttons":{"borderRadiusSm":"3px","borderRadius":"3px","borderRadiusLg":"5px","paddingY":"5px","paddingYLg":"7px","paddingYHero":"var(--lia-bs-btn-padding-y-lg)","paddingX":"12px","paddingXLg":"16px","paddingXHero":"60px","fontStyle":"NORMAL","fontWeight":"700","textTransform":"NONE","disabledOpacity":0.5,"primaryTextColor":"var(--lia-bs-white)","primaryTextHoverColor":"var(--lia-bs-white)","primaryTextActiveColor":"var(--lia-bs-white)","primaryBgColor":"var(--lia-bs-primary)","primaryBgHoverColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.85))","primaryBgActiveColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.7))","primaryBorder":"1px solid transparent","primaryBorderHover":"1px solid transparent","primaryBorderActive":"1px solid transparent","primaryBorderFocus":"1px solid var(--lia-bs-white)","primaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","secondaryTextColor":"var(--lia-bs-gray-900)","secondaryTextHoverColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.95))","secondaryTextActiveColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.9))","secondaryBgColor":"var(--lia-bs-gray-200)","secondaryBgHoverColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.96))","secondaryBgActiveColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.92))","secondaryBorder":"1px solid transparent","secondaryBorderHover":"1px solid transparent","secondaryBorderActive":"1px solid transparent","secondaryBorderFocus":"1px solid transparent","secondaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","tertiaryTextColor":"var(--lia-bs-gray-900)","tertiaryTextHoverColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.95))","tertiaryTextActiveColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.9))","tertiaryBgColor":"transparent","tertiaryBgHoverColor":"transparent","tertiaryBgActiveColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.04)","tertiaryBorder":"1px solid transparent","tertiaryBorderHover":"1px solid hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","tertiaryBorderActive":"1px solid transparent","tertiaryBorderFocus":"1px solid transparent","tertiaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","destructiveTextColor":"var(--lia-bs-danger)","destructiveTextHoverColor":"hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.95))","destructiveTextActiveColor":"hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.9))","destructiveBgColor":"var(--lia-bs-gray-200)","destructiveBgHoverColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.96))","destructiveBgActiveColor":"hsl(var(--lia-bs-gray-200-h), var(--lia-bs-gray-200-s), calc(var(--lia-bs-gray-200-l) * 0.92))","destructiveBorder":"1px solid transparent","destructiveBorderHover":"1px solid transparent","destructiveBorderActive":"1px solid transparent","destructiveBorderFocus":"1px solid transparent","destructiveBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","__typename":"ButtonsThemeSettings"},"border":{"color":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","mainContent":"NONE","sideContent":"LIGHT","radiusSm":"3px","radius":"5px","radiusLg":"9px","radius50":"100vw","__typename":"BorderThemeSettings"},"boxShadow":{"xs":"0 0 0 1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.08), 0 3px 0 -1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.16)","sm":"0 2px 4px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.12)","md":"0 5px 15px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.3)","lg":"0 10px 30px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.3)","__typename":"BoxShadowThemeSettings"},"cards":{"bgColor":"var(--lia-panel-bg-color)","borderRadius":"var(--lia-panel-border-radius)","boxShadow":"var(--lia-box-shadow-xs)","__typename":"CardsThemeSettings"},"chip":{"maxWidth":"300px","height":"30px","__typename":"ChipThemeSettings"},"coreTypes":{"defaultMessageLinkColor":"var(--lia-bs-link-color)","defaultMessageLinkDecoration":"none","defaultMessageLinkFontStyle":"NORMAL","defaultMessageLinkFontWeight":"400","defaultMessageFontStyle":"NORMAL","defaultMessageFontWeight":"400","forumColor":"#4099E2","forumFontFamily":"var(--lia-bs-font-family-base)","forumFontWeight":"var(--lia-default-message-font-weight)","forumLineHeight":"var(--lia-bs-line-height-base)","forumFontStyle":"var(--lia-default-message-font-style)","forumMessageLinkColor":"var(--lia-default-message-link-color)","forumMessageLinkDecoration":"var(--lia-default-message-link-decoration)","forumMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","forumMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","forumSolvedColor":"#148563","blogColor":"#1CBAA0","blogFontFamily":"var(--lia-bs-font-family-base)","blogFontWeight":"var(--lia-default-message-font-weight)","blogLineHeight":"1.75","blogFontStyle":"var(--lia-default-message-font-style)","blogMessageLinkColor":"var(--lia-default-message-link-color)","blogMessageLinkDecoration":"var(--lia-default-message-link-decoration)","blogMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","blogMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","tkbColor":"#4C6B90","tkbFontFamily":"var(--lia-bs-font-family-base)","tkbFontWeight":"var(--lia-default-message-font-weight)","tkbLineHeight":"1.75","tkbFontStyle":"var(--lia-default-message-font-style)","tkbMessageLinkColor":"var(--lia-default-message-link-color)","tkbMessageLinkDecoration":"var(--lia-default-message-link-decoration)","tkbMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","tkbMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","qandaColor":"#4099E2","qandaFontFamily":"var(--lia-bs-font-family-base)","qandaFontWeight":"var(--lia-default-message-font-weight)","qandaLineHeight":"var(--lia-bs-line-height-base)","qandaFontStyle":"var(--lia-default-message-link-font-style)","qandaMessageLinkColor":"var(--lia-default-message-link-color)","qandaMessageLinkDecoration":"var(--lia-default-message-link-decoration)","qandaMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","qandaMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","qandaSolvedColor":"#3FA023","ideaColor":"#FF8000","ideaFontFamily":"var(--lia-bs-font-family-base)","ideaFontWeight":"var(--lia-default-message-font-weight)","ideaLineHeight":"var(--lia-bs-line-height-base)","ideaFontStyle":"var(--lia-default-message-font-style)","ideaMessageLinkColor":"var(--lia-default-message-link-color)","ideaMessageLinkDecoration":"var(--lia-default-message-link-decoration)","ideaMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","ideaMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","contestColor":"#FCC845","contestFontFamily":"var(--lia-bs-font-family-base)","contestFontWeight":"var(--lia-default-message-font-weight)","contestLineHeight":"var(--lia-bs-line-height-base)","contestFontStyle":"var(--lia-default-message-link-font-style)","contestMessageLinkColor":"var(--lia-default-message-link-color)","contestMessageLinkDecoration":"var(--lia-default-message-link-decoration)","contestMessageLinkFontStyle":"ITALIC","contestMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","occasionColor":"#D13A1F","occasionFontFamily":"var(--lia-bs-font-family-base)","occasionFontWeight":"var(--lia-default-message-font-weight)","occasionLineHeight":"var(--lia-bs-line-height-base)","occasionFontStyle":"var(--lia-default-message-font-style)","occasionMessageLinkColor":"var(--lia-default-message-link-color)","occasionMessageLinkDecoration":"var(--lia-default-message-link-decoration)","occasionMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","occasionMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","grouphubColor":"#333333","categoryColor":"#949494","communityColor":"#FFFFFF","productColor":"#949494","__typename":"CoreTypesThemeSettings"},"colors":{"black":"#000000","white":"#FFFFFF","gray100":"#F7F7F7","gray200":"#F7F7F7","gray300":"#E8E8E8","gray400":"#D9D9D9","gray500":"#CCCCCC","gray600":"#717171","gray700":"#707070","gray800":"#545454","gray900":"#333333","dark":"#545454","light":"#F7F7F7","primary":"#0069D4","secondary":"#333333","bodyText":"#333333","bodyBg":"#FFFFFF","info":"#409AE2","success":"#41C5AE","warning":"#FCC844","danger":"#BC341B","alertSystem":"#FF6600","textMuted":"#707070","highlight":"#FFFCAD","outline":"var(--lia-bs-primary)","custom":["#D3F5A4","#243A5E"],"__typename":"ColorsThemeSettings"},"divider":{"size":"3px","marginLeft":"4px","marginRight":"4px","borderRadius":"50%","bgColor":"var(--lia-bs-gray-600)","bgColorActive":"var(--lia-bs-gray-600)","__typename":"DividerThemeSettings"},"dropdown":{"fontSize":"var(--lia-bs-font-size-sm)","borderColor":"var(--lia-bs-border-color)","borderRadius":"var(--lia-bs-border-radius-sm)","dividerBg":"var(--lia-bs-gray-300)","itemPaddingY":"5px","itemPaddingX":"20px","headerColor":"var(--lia-bs-gray-700)","__typename":"DropdownThemeSettings"},"emoji":{"skinToneDefault":"#ffcd43","skinToneLight":"#fae3c5","skinToneMediumLight":"#e2cfa5","skinToneMedium":"#daa478","skinToneMediumDark":"#a78058","skinToneDark":"#5e4d43","__typename":"EmojiThemeSettings"},"heading":{"color":"var(--lia-bs-body-color)","fontFamily":"Segoe UI","fontStyle":"NORMAL","fontWeight":"400","h1FontSize":"34px","h2FontSize":"32px","h3FontSize":"28px","h4FontSize":"24px","h5FontSize":"20px","h6FontSize":"16px","lineHeight":"1.3","subHeaderFontSize":"11px","subHeaderFontWeight":"500","h1LetterSpacing":"normal","h2LetterSpacing":"normal","h3LetterSpacing":"normal","h4LetterSpacing":"normal","h5LetterSpacing":"normal","h6LetterSpacing":"normal","subHeaderLetterSpacing":"2px","h1FontWeight":"var(--lia-bs-headings-font-weight)","h2FontWeight":"var(--lia-bs-headings-font-weight)","h3FontWeight":"var(--lia-bs-headings-font-weight)","h4FontWeight":"var(--lia-bs-headings-font-weight)","h5FontWeight":"var(--lia-bs-headings-font-weight)","h6FontWeight":"var(--lia-bs-headings-font-weight)","__typename":"HeadingThemeSettings"},"icons":{"size10":"10px","size12":"12px","size14":"14px","size16":"16px","size20":"20px","size24":"24px","size30":"30px","size40":"40px","size50":"50px","size60":"60px","size80":"80px","size120":"120px","size160":"160px","__typename":"IconsThemeSettings"},"imagePreview":{"bgColor":"var(--lia-bs-gray-900)","titleColor":"var(--lia-bs-white)","controlColor":"var(--lia-bs-white)","controlBgColor":"var(--lia-bs-gray-800)","__typename":"ImagePreviewThemeSettings"},"input":{"borderColor":"var(--lia-bs-gray-600)","disabledColor":"var(--lia-bs-gray-600)","focusBorderColor":"var(--lia-bs-primary)","labelMarginBottom":"10px","btnFontSize":"var(--lia-bs-font-size-sm)","focusBoxShadow":"0 0 0 3px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","checkLabelMarginBottom":"2px","checkboxBorderRadius":"3px","borderRadiusSm":"var(--lia-bs-border-radius-sm)","borderRadius":"var(--lia-bs-border-radius)","borderRadiusLg":"var(--lia-bs-border-radius-lg)","formTextMarginTop":"4px","textAreaBorderRadius":"var(--lia-bs-border-radius)","activeFillColor":"var(--lia-bs-primary)","__typename":"InputThemeSettings"},"loading":{"dotDarkColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.2)","dotLightColor":"hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.5)","barDarkColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.06)","barLightColor":"hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.4)","__typename":"LoadingThemeSettings"},"link":{"color":"var(--lia-bs-primary)","hoverColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) - 10%))","decoration":"none","hoverDecoration":"underline","__typename":"LinkThemeSettings"},"listGroup":{"itemPaddingY":"15px","itemPaddingX":"15px","borderColor":"var(--lia-bs-gray-300)","__typename":"ListGroupThemeSettings"},"modal":{"contentTextColor":"var(--lia-bs-body-color)","contentBg":"var(--lia-bs-white)","backgroundBg":"var(--lia-bs-black)","smSize":"440px","mdSize":"760px","lgSize":"1080px","backdropOpacity":0.3,"contentBoxShadowXs":"var(--lia-bs-box-shadow-sm)","contentBoxShadow":"var(--lia-bs-box-shadow)","headerFontWeight":"700","__typename":"ModalThemeSettings"},"navbar":{"position":"FIXED","background":{"attachment":null,"clip":null,"color":"var(--lia-bs-white)","imageAssetName":"","imageLastModified":"0","origin":null,"position":"CENTER_CENTER","repeat":"NO_REPEAT","size":"COVER","__typename":"BackgroundProps"},"backgroundOpacity":0.8,"paddingTop":"15px","paddingBottom":"15px","borderBottom":"1px solid var(--lia-bs-border-color)","boxShadow":"var(--lia-bs-box-shadow-sm)","brandMarginRight":"30px","brandMarginRightSm":"10px","brandLogoHeight":"30px","linkGap":"10px","linkJustifyContent":"flex-start","linkPaddingY":"5px","linkPaddingX":"10px","linkDropdownPaddingY":"9px","linkDropdownPaddingX":"var(--lia-nav-link-px)","linkColor":"var(--lia-bs-body-color)","linkHoverColor":"var(--lia-bs-primary)","linkFontSize":"var(--lia-bs-font-size-sm)","linkFontStyle":"NORMAL","linkFontWeight":"400","linkTextTransform":"NONE","linkLetterSpacing":"normal","linkBorderRadius":"var(--lia-bs-border-radius-sm)","linkBgColor":"transparent","linkBgHoverColor":"transparent","linkBorder":"none","linkBorderHover":"none","linkBoxShadow":"none","linkBoxShadowHover":"none","linkTextBorderBottom":"none","linkTextBorderBottomHover":"none","dropdownPaddingTop":"10px","dropdownPaddingBottom":"15px","dropdownPaddingX":"10px","dropdownMenuOffset":"2px","dropdownDividerMarginTop":"10px","dropdownDividerMarginBottom":"10px","dropdownBorderColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","controllerBgHoverColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.1)","controllerIconColor":"var(--lia-bs-body-color)","controllerIconHoverColor":"var(--lia-bs-body-color)","controllerTextColor":"var(--lia-nav-controller-icon-color)","controllerTextHoverColor":"var(--lia-nav-controller-icon-hover-color)","controllerHighlightColor":"hsla(30, 100%, 50%)","controllerHighlightTextColor":"var(--lia-yiq-light)","controllerBorderRadius":"var(--lia-border-radius-50)","hamburgerColor":"var(--lia-nav-controller-icon-color)","hamburgerHoverColor":"var(--lia-nav-controller-icon-color)","hamburgerBgColor":"transparent","hamburgerBgHoverColor":"transparent","hamburgerBorder":"none","hamburgerBorderHover":"none","collapseMenuMarginLeft":"20px","collapseMenuDividerBg":"var(--lia-nav-link-color)","collapseMenuDividerOpacity":0.16,"__typename":"NavbarThemeSettings"},"pager":{"textColor":"var(--lia-bs-link-color)","textFontWeight":"var(--lia-font-weight-md)","textFontSize":"var(--lia-bs-font-size-sm)","__typename":"PagerThemeSettings"},"panel":{"bgColor":"var(--lia-bs-white)","borderRadius":"var(--lia-bs-border-radius)","borderColor":"var(--lia-bs-border-color)","boxShadow":"none","__typename":"PanelThemeSettings"},"popover":{"arrowHeight":"8px","arrowWidth":"16px","maxWidth":"300px","minWidth":"100px","headerBg":"var(--lia-bs-white)","borderColor":"var(--lia-bs-border-color)","borderRadius":"var(--lia-bs-border-radius)","boxShadow":"0 0.5rem 1rem hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.15)","__typename":"PopoverThemeSettings"},"prism":{"color":"#000000","bgColor":"#f5f2f0","fontFamily":"var(--font-family-monospace)","fontSize":"var(--lia-bs-font-size-base)","fontWeightBold":"var(--lia-bs-font-weight-bold)","fontStyleItalic":"italic","tabSize":2,"highlightColor":"#b3d4fc","commentColor":"#62707e","punctuationColor":"#6f6f6f","namespaceOpacity":"0.7","propColor":"#990055","selectorColor":"#517a00","operatorColor":"#906736","operatorBgColor":"hsla(0, 0%, 100%, 0.5)","keywordColor":"#0076a9","functionColor":"#d3284b","variableColor":"#c14700","__typename":"PrismThemeSettings"},"rte":{"bgColor":"var(--lia-bs-white)","borderRadius":"var(--lia-panel-border-radius)","boxShadow":" var(--lia-panel-box-shadow)","customColor1":"#bfedd2","customColor2":"#fbeeb8","customColor3":"#f8cac6","customColor4":"#eccafa","customColor5":"#c2e0f4","customColor6":"#2dc26b","customColor7":"#f1c40f","customColor8":"#e03e2d","customColor9":"#b96ad9","customColor10":"#3598db","customColor11":"#169179","customColor12":"#e67e23","customColor13":"#ba372a","customColor14":"#843fa1","customColor15":"#236fa1","customColor16":"#ecf0f1","customColor17":"#ced4d9","customColor18":"#95a5a6","customColor19":"#7e8c8d","customColor20":"#34495e","customColor21":"#000000","customColor22":"#ffffff","defaultMessageHeaderMarginTop":"40px","defaultMessageHeaderMarginBottom":"20px","defaultMessageItemMarginTop":"0","defaultMessageItemMarginBottom":"10px","diffAddedColor":"hsla(170, 53%, 51%, 0.4)","diffChangedColor":"hsla(43, 97%, 63%, 0.4)","diffNoneColor":"hsla(0, 0%, 80%, 0.4)","diffRemovedColor":"hsla(9, 74%, 47%, 0.4)","specialMessageHeaderMarginTop":"40px","specialMessageHeaderMarginBottom":"20px","specialMessageItemMarginTop":"0","specialMessageItemMarginBottom":"10px","__typename":"RteThemeSettings"},"tags":{"bgColor":"var(--lia-bs-gray-200)","bgHoverColor":"var(--lia-bs-gray-400)","borderRadius":"var(--lia-bs-border-radius-sm)","color":"var(--lia-bs-body-color)","hoverColor":"var(--lia-bs-body-color)","fontWeight":"var(--lia-font-weight-md)","fontSize":"var(--lia-font-size-xxs)","textTransform":"UPPERCASE","letterSpacing":"0.5px","__typename":"TagsThemeSettings"},"toasts":{"borderRadius":"var(--lia-bs-border-radius)","paddingX":"12px","__typename":"ToastsThemeSettings"},"typography":{"fontFamilyBase":"Segoe UI","fontStyleBase":"NORMAL","fontWeightBase":"400","fontWeightLight":"300","fontWeightNormal":"400","fontWeightMd":"500","fontWeightBold":"700","letterSpacingSm":"normal","letterSpacingXs":"normal","lineHeightBase":"1.5","fontSizeBase":"16px","fontSizeXxs":"11px","fontSizeXs":"12px","fontSizeSm":"14px","fontSizeLg":"20px","fontSizeXl":"24px","smallFontSize":"14px","customFonts":[{"source":"SERVER","name":"Segoe UI","styles":[{"style":"NORMAL","weight":"400","__typename":"FontStyleData"},{"style":"NORMAL","weight":"300","__typename":"FontStyleData"},{"style":"NORMAL","weight":"600","__typename":"FontStyleData"},{"style":"NORMAL","weight":"700","__typename":"FontStyleData"},{"style":"ITALIC","weight":"400","__typename":"FontStyleData"}],"assetNames":["SegoeUI-normal-400.woff2","SegoeUI-normal-300.woff2","SegoeUI-normal-600.woff2","SegoeUI-normal-700.woff2","SegoeUI-italic-400.woff2"],"__typename":"CustomFont"},{"source":"SERVER","name":"MWF Fluent Icons","styles":[{"style":"NORMAL","weight":"400","__typename":"FontStyleData"}],"assetNames":["MWFFluentIcons-normal-400.woff2"],"__typename":"CustomFont"}],"__typename":"TypographyThemeSettings"},"unstyledListItem":{"marginBottomSm":"5px","marginBottomMd":"10px","marginBottomLg":"15px","marginBottomXl":"20px","marginBottomXxl":"25px","__typename":"UnstyledListItemThemeSettings"},"yiq":{"light":"#ffffff","dark":"#000000","__typename":"YiqThemeSettings"},"colorLightness":{"primaryDark":0.36,"primaryLight":0.74,"primaryLighter":0.89,"primaryLightest":0.95,"infoDark":0.39,"infoLight":0.72,"infoLighter":0.85,"infoLightest":0.93,"successDark":0.24,"successLight":0.62,"successLighter":0.8,"successLightest":0.91,"warningDark":0.39,"warningLight":0.68,"warningLighter":0.84,"warningLightest":0.93,"dangerDark":0.41,"dangerLight":0.72,"dangerLighter":0.89,"dangerLightest":0.95,"__typename":"ColorLightnessThemeSettings"},"localOverride":false,"__typename":"Theme"},"localOverride":false},"CachedAsset:text:en_US-components/common/EmailVerification-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/common/EmailVerification-1731977288000","value":{"email.verification.title":"Email Verification Required","email.verification.message.update.email":"To participate in the community, you must first verify your email address. The verification email was sent to {email}. To change your email, visit \u003clink\u003eMy Settings\u003c/link\u003e.","email.verification.message.resend.email":"To participate in the community, you must first verify your email address. The verification email was sent to {email}. \u003clink\u003eResend email\u003c/link\u003e."},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Loading/LoadingDot-1731977288000","value":{"title":"Loading..."},"localOverride":false},"CachedAsset:text:en_US-pages/custom/CustomPage/AllBlogs.Page-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-pages/custom/CustomPage/AllBlogs.Page-1731977288000","value":{"title":"{pageTitle} | {communityTitle}"},"localOverride":false},"CachedAsset:quilt:o365.prod:C.AllBlogs.Page:community:gxcuf89792-1732227364195":{"__typename":"CachedAsset","id":"quilt:o365.prod:C.AllBlogs.Page:community:gxcuf89792-1732227364195","value":{"id":"C.AllBlogs.Page","container":{"id":"Common_Enntvz","headerProps":{"backgroundImageProps":null,"backgroundColor":"transparent","addComponents":null,"removeComponents":["community.widget.breadcrumbWidget"],"componentOrder":null,"__typename":"QuiltContainerSectionProps"},"headerComponentProps":{"community.widget.bannerWidget":{"backgroundColor":"var(--lia-bs-primary)","visualEffects":{"showBottomBorder":true},"nodeHeaderVariantProps":{"contentWidth":"medium","isSearchGlobal":true,"type":"lg","alignment":"center","useSearch":true},"backgroundOpacity":100,"backgroundImageProps":{"assetName":"community-widget-bannerWidget.jpg","backgroundSize":"COVER","lastModified":"1694717972000","backgroundPosition":"CENTER_CENTER","backgroundRepeat":"NO_REPEAT"},"nodeHeaderPadding":{"paddingBottom":50,"paddingTop":50},"useNodeHeaderCountStats":false,"fontColor":"var(--lia-bs-body-color)","showNodeHeaderTitleAndDescription":"both"}},"footerProps":null,"footerComponentProps":null,"items":[{"id":"node-navigation","layout":"ONE_COLUMN","bgColor":null,"showTitle":null,"showDescription":null,"textPosition":null,"textColor":null,"sectionEditLevel":null,"bgImage":null,"disableSpacing":null,"edgeToEdgeDisplay":null,"fullHeight":null,"showBorder":null,"__typename":"OneColumnQuiltSection","columnMap":{"main":[{"id":"custom.widget.Featured_Carousel","className":null,"props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"cMax_items":"8","title":"","lazyLoad":false,"widgetChooser":"custom.widget.Featured_Carousel"},"__typename":"QuiltComponent"}],"__typename":"OneSectionColumns"}},{"id":"home-widgets-section-1","layout":"MAIN_SIDE","bgColor":null,"showTitle":null,"showDescription":null,"textPosition":null,"textColor":null,"sectionEditLevel":null,"bgImage":null,"disableSpacing":null,"edgeToEdgeDisplay":null,"fullHeight":null,"showBorder":null,"__typename":"MainSideQuiltSection","columnMap":{"main":[{"id":"featuredWidgets.widget.featuredContentWidget","className":null,"props":{"instanceId":"allBlogs","layoutProps":{"layout":"card","layoutOptions":{"useAuthorLink":true,"useTimestamp":true}},"titleSrOnly":false,"showPager":true,"pageSize":4,"lazyLoad":false},"__typename":"QuiltComponent"},{"id":"messages.widget.messageListForNodeByRecentActivityWidget","className":null,"props":{"hideIfEmpty":true,"pageSize":25,"pagerVariant":{"type":"loadMore"},"viewVariant":{"type":"card","props":{"useRepliesCount":true,"useMedia":true,"useAuthorRank":false,"useNode":true,"truncateBodyLength":-1,"useNodeLink":true,"usePreviewMedia":true,"timeStampType":"postTime","useTextBody":true,"useSolvedBadge":true,"renderPostTimeBeforeAuthor":false,"useAvatar":true,"useTimeToRead":true,"useSpoilerFreeBody":true,"useKudosCount":true,"useViewCount":true,"useBody":true,"useTags":true,"clampSubjectLines":2,"useBoardIcon":false,"useMessageTimeLink":true,"clampBodyLines":3,"useAuthorLogin":true,"useUnreadCount":true,"useNodeHoverCard":true,"useSearchSnippet":false}},"lazyLoad":false,"pagerOption":true,"conversationStyle":"BLOG","listVariant":{"type":"unstyled","props":{"listItemSpacing":"xl"}},"useTitle":true,"addTags":false,"titleContextVariant":"other","showTabs":false,"style":"list","panelType":"standard","sorts":{"postTime":{"direction":"DESC"}},"pagerOptionCard":false},"__typename":"QuiltComponent"}],"side":[{"id":"custom.widget.All_Blogs_Sidebar","className":null,"props":{"widgetVisibility":"signedInOrAnonymous","useTitle":false,"useBackground":false,"title":"","lazyLoad":false,"widgetChooser":"custom.widget.All_Blogs_Sidebar"},"__typename":"QuiltComponent"}],"__typename":"MainSideSectionColumns"}}],"__typename":"QuiltContainer"},"__typename":"Quilt","localOverride":false},"localOverride":false},"CachedAsset:text:en_US-pages/custom/CustomPage-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-pages/custom/CustomPage-1731977288000","value":{"title":"{pageTitle} | {communityTitle}"},"localOverride":false},"CachedAsset:quiltWrapper:o365.prod:Common_Enntvz:1732227308331":{"__typename":"CachedAsset","id":"quiltWrapper:o365.prod:Common_Enntvz:1732227308331","value":{"id":"Common_Enntvz","header":{"backgroundImageProps":{"assetName":null,"backgroundSize":"COVER","backgroundRepeat":"NO_REPEAT","backgroundPosition":"CENTER_CENTER","lastModified":null,"__typename":"BackgroundImageProps"},"backgroundColor":"transparent","items":[{"id":"community.widget.navbarWidget","props":{"showUserName":true,"showRegisterLink":true,"useIconLanguagePicker":true,"useLabelLanguagePicker":true,"className":"QuiltComponent_lia-component-edit-mode__0nCcm","links":{"sideLinks":[],"mainLinks":[{"children":[],"linkType":"INTERNAL","id":"gxcuf89792","params":{},"routeName":"CommunityPage"},{"children":[],"linkType":"EXTERNAL","id":"external-link","url":"/Directory","target":"SELF"},{"children":[{"linkType":"INTERNAL","id":"microsoft365","params":{"categoryId":"microsoft365"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"microsoft-teams","params":{"categoryId":"MicrosoftTeams"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"windows","params":{"categoryId":"Windows"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"microsoft-securityand-compliance","params":{"categoryId":"MicrosoftSecurityandCompliance"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"outlook","params":{"categoryId":"Outlook"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"planner","params":{"categoryId":"Planner"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"windows-server","params":{"categoryId":"Windows-Server"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"azure","params":{"categoryId":"Azure"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"exchange","params":{"categoryId":"Exchange"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"microsoft-endpoint-manager","params":{"categoryId":"microsoft-endpoint-manager"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"s-q-l-server","params":{"categoryId":"SQL-Server"},"routeName":"CategoryPage"},{"linkType":"EXTERNAL","id":"external-link-2","url":"/Directory","target":"SELF"}],"linkType":"EXTERNAL","id":"communities","url":"/","target":"BLANK"},{"children":[{"linkType":"INTERNAL","id":"education-sector","params":{"categoryId":"EducationSector"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"a-i","params":{"categoryId":"AI"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"i-t-ops-talk","params":{"categoryId":"ITOpsTalk"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"partner-community","params":{"categoryId":"PartnerCommunity"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"microsoft-mechanics","params":{"categoryId":"MicrosoftMechanics"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"healthcare-and-life-sciences","params":{"categoryId":"HealthcareAndLifeSciences"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"public-sector","params":{"categoryId":"PublicSector"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"io-t","params":{"categoryId":"IoT"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"driving-adoption","params":{"categoryId":"DrivingAdoption"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"s-m-b","params":{"categoryId":"SMB"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"startupsat-microsoft","params":{"categoryId":"StartupsatMicrosoft"},"routeName":"CategoryPage"},{"linkType":"EXTERNAL","id":"external-link-1","url":"/Directory","target":"SELF"}],"linkType":"EXTERNAL","id":"communities-1","url":"/","target":"SELF"},{"children":[],"linkType":"EXTERNAL","id":"external","url":"/Blogs","target":"SELF"},{"children":[],"linkType":"EXTERNAL","id":"external-1","url":"/Events","target":"SELF"},{"children":[{"linkType":"INTERNAL","id":"microsoft-learn-1","params":{"categoryId":"MicrosoftLearn"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"microsoft-learn-blog","params":{"boardId":"MicrosoftLearnBlog","categoryId":"MicrosoftLearn"},"routeName":"BlogBoardPage"},{"linkType":"EXTERNAL","id":"external-10","url":"https://learningroomdirectory.microsoft.com/","target":"BLANK"},{"linkType":"EXTERNAL","id":"external-3","url":"https://docs.microsoft.com/learn/dynamics365/?WT.mc_id=techcom_header-webpage-m365","target":"BLANK"},{"linkType":"EXTERNAL","id":"external-4","url":"https://docs.microsoft.com/learn/m365/?wt.mc_id=techcom_header-webpage-m365","target":"BLANK"},{"linkType":"EXTERNAL","id":"external-5","url":"https://docs.microsoft.com/learn/topics/sci/?wt.mc_id=techcom_header-webpage-m365","target":"BLANK"},{"linkType":"EXTERNAL","id":"external-6","url":"https://docs.microsoft.com/learn/powerplatform/?wt.mc_id=techcom_header-webpage-powerplatform","target":"BLANK"},{"linkType":"EXTERNAL","id":"external-7","url":"https://docs.microsoft.com/learn/github/?wt.mc_id=techcom_header-webpage-github","target":"BLANK"},{"linkType":"EXTERNAL","id":"external-8","url":"https://docs.microsoft.com/learn/teams/?wt.mc_id=techcom_header-webpage-teams","target":"BLANK"},{"linkType":"EXTERNAL","id":"external-9","url":"https://docs.microsoft.com/learn/dotnet/?wt.mc_id=techcom_header-webpage-dotnet","target":"BLANK"},{"linkType":"EXTERNAL","id":"external-2","url":"https://docs.microsoft.com/learn/azure/?WT.mc_id=techcom_header-webpage-m365","target":"BLANK"}],"linkType":"INTERNAL","id":"microsoft-learn","params":{"categoryId":"MicrosoftLearn"},"routeName":"CategoryPage"},{"children":[],"linkType":"INTERNAL","id":"community-info-center","params":{"categoryId":"Community-Info-Center"},"routeName":"CategoryPage"}]},"style":{"boxShadow":"var(--lia-bs-box-shadow-sm)","controllerHighlightColor":"hsla(30, 100%, 50%)","linkFontWeight":"400","dropdownDividerMarginBottom":"10px","hamburgerBorderHover":"none","linkBoxShadowHover":"none","linkFontSize":"14px","backgroundOpacity":0.8,"controllerBorderRadius":"var(--lia-border-radius-50)","hamburgerBgColor":"transparent","hamburgerColor":"var(--lia-nav-controller-icon-color)","linkTextBorderBottom":"none","brandLogoHeight":"30px","linkBgHoverColor":"transparent","linkLetterSpacing":"normal","collapseMenuDividerOpacity":0.16,"dropdownPaddingBottom":"15px","paddingBottom":"15px","dropdownMenuOffset":"2px","hamburgerBgHoverColor":"transparent","borderBottom":"1px solid var(--lia-bs-border-color)","hamburgerBorder":"none","dropdownPaddingX":"10px","brandMarginRightSm":"10px","linkBoxShadow":"none","collapseMenuDividerBg":"var(--lia-nav-link-color)","linkColor":"var(--lia-bs-body-color)","linkJustifyContent":"flex-start","dropdownPaddingTop":"10px","controllerHighlightTextColor":"var(--lia-yiq-dark)","controllerTextColor":"var(--lia-nav-controller-icon-color)","background":{"imageAssetName":"","color":"var(--lia-bs-white)","size":"COVER","repeat":"NO_REPEAT","position":"CENTER_CENTER","imageLastModified":""},"linkBorderRadius":"var(--lia-bs-border-radius-sm)","linkHoverColor":"var(--lia-bs-body-color)","position":"FIXED","linkBorder":"none","linkTextBorderBottomHover":"2px solid var(--lia-bs-body-color)","brandMarginRight":"30px","hamburgerHoverColor":"var(--lia-nav-controller-icon-color)","linkBorderHover":"none","collapseMenuMarginLeft":"20px","linkFontStyle":"NORMAL","controllerTextHoverColor":"var(--lia-nav-controller-icon-hover-color)","linkPaddingX":"10px","linkPaddingY":"5px","paddingTop":"15px","linkTextTransform":"NONE","dropdownBorderColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","controllerBgHoverColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.1)","linkBgColor":"transparent","linkDropdownPaddingX":"var(--lia-nav-link-px)","linkDropdownPaddingY":"9px","controllerIconColor":"var(--lia-bs-body-color)","dropdownDividerMarginTop":"10px","linkGap":"10px","controllerIconHoverColor":"var(--lia-bs-body-color)"},"showSearchIcon":false,"languagePickerStyle":"iconAndLabel"},"__typename":"QuiltComponent"},{"id":"community.widget.breadcrumbWidget","props":{"backgroundColor":"transparent","linkHighlightColor":"var(--lia-bs-primary)","visualEffects":{"showBottomBorder":true},"linkTextColor":"var(--lia-bs-gray-700)"},"__typename":"QuiltComponent"},{"id":"community.widget.bannerWidget","props":null,"__typename":"QuiltComponent"}],"__typename":"QuiltWrapperSection"},"footer":{"backgroundImageProps":{"assetName":null,"backgroundSize":"COVER","backgroundRepeat":"NO_REPEAT","backgroundPosition":"CENTER_CENTER","lastModified":null,"__typename":"BackgroundImageProps"},"backgroundColor":"transparent","items":[{"id":"custom.widget.MicrosoftFooter","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"}],"__typename":"QuiltWrapperSection"},"__typename":"QuiltWrapper","localOverride":false},"localOverride":false},"CachedAsset:text:en_US-components/common/ActionFeedback-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/common/ActionFeedback-1731977288000","value":{"joinedGroupHub.title":"Welcome","joinedGroupHub.message":"You are now a member of this group and are subscribed to updates.","groupHubInviteNotFound.title":"Invitation Not Found","groupHubInviteNotFound.message":"Sorry, we could not find your invitation to the group. The owner may have canceled the invite.","groupHubNotFound.title":"Group Not Found","groupHubNotFound.message":"The grouphub you tried to join does not exist. It may have been deleted.","existingGroupHubMember.title":"Already Joined","existingGroupHubMember.message":"You are already a member of this group.","accountLocked.title":"Account Locked","accountLocked.message":"Your account has been locked due to multiple failed attempts. Try again in {lockoutTime} minutes.","editedGroupHub.title":"Changes Saved","editedGroupHub.message":"Your group has been updated.","leftGroupHub.title":"Goodbye","leftGroupHub.message":"You are no longer a member of this group and will not receive future updates.","deletedGroupHub.title":"Deleted","deletedGroupHub.message":"The group has been deleted.","groupHubCreated.title":"Group Created","groupHubCreated.message":"{groupHubName} is ready to use","accountClosed.title":"Account Closed","accountClosed.message":"The account has been closed and you will now be redirected to the homepage","resetTokenExpired.title":"Reset Password Link has Expired","resetTokenExpired.message":"Try resetting your password again","invalidUrl.title":"Invalid URL","invalidUrl.message":"The URL you're using is not recognized. Verify your URL and try again.","accountClosedForUser.title":"Account Closed","accountClosedForUser.message":"{userName}'s account is closed","inviteTokenInvalid.title":"Invitation Invalid","inviteTokenInvalid.message":"Your invitation to the community has been canceled or expired.","inviteTokenError.title":"Invitation Verification Failed","inviteTokenError.message":"The url you are utilizing is not recognized. Verify your URL and try again","pageNotFound.title":"Access Denied","pageNotFound.message":"You do not have access to this area of the community or it doesn't exist","eventAttending.title":"Responded as Attending","eventAttending.message":"You'll be notified when there's new activity and reminded as the event approaches","eventInterested.title":"Responded as Interested","eventInterested.message":"You'll be notified when there's new activity and reminded as the event approaches","eventNotFound.title":"Event Not Found","eventNotFound.message":"The event you tried to respond to does not exist."},"localOverride":false},"CachedAsset:component:custom.widget.Featured_Carousel-en-1732227464476":{"__typename":"CachedAsset","id":"component:custom.widget.Featured_Carousel-en-1732227464476","value":{"component":{"id":"custom.widget.Featured_Carousel","template":{"id":"Featured_Carousel","markupLanguage":"REACT","style":null,"texts":{"component.title":"Featured Carousel","component.description":"This component shows featured content in a carousel.","noItems":"No carousel yet","noItemsDescription":"There are no items to display in the carousel. You can add items by clicking the Add button after placing the component on the page.","setOrder":"Set Order","contrastRatioError":"Contrast ratio is too low. Please choose a different color.","editBanner":"Edit Banner","cardTemplateDirection":"Card Template Direction","cardBackgroundColor":"Card Background Color","cardTextColor":"Card Text Color","cardTitle":"Title","cardDescription":"Description","cardLink":"Link URL","linkText":"Link Text","tag":"Tag","tagBackgroundColor":"Tag Background Color","tagTextColor":"Tag Text Color","cardImage":"Image URL","cardImageAlt":"Image Alt Text","save":"Save","cancel":"Cancel","success":"Success","error":"Error","errorMessage":"An error occurred. Please try again.","addCard":"Add Carousel Item"},"defaults":{"config":{"applicablePages":[],"dynamicByCoreNode":null,"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[{"id":"max_items","dataType":"NUMBER","list":false,"defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"control":"INPUT","__typename":"PropDefinition"}],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.Featured_Carousel","form":{"fields":[{"id":"widgetChooser","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"title","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useTitle","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useBackground","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"widgetVisibility","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"moreOptions","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"cMax_items","validation":null,"noValidation":null,"dataType":"NUMBER","list":false,"control":"INPUT","defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"__typename":"FormField"}],"layout":{"rows":[{"id":"widgetChooserGroup","type":"fieldset","as":null,"items":[{"id":"widgetChooser","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"titleGroup","type":"fieldset","as":null,"items":[{"id":"title","className":null,"__typename":"FormFieldRef"},{"id":"useTitle","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"useBackground","type":"fieldset","as":null,"items":[{"id":"useBackground","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"widgetVisibility","type":"fieldset","as":null,"items":[{"id":"widgetVisibility","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"moreOptionsGroup","type":"fieldset","as":null,"items":[{"id":"moreOptions","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"componentPropsGroup","type":"fieldset","as":null,"items":[{"id":"cMax_items","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"}],"actionButtons":null,"className":"custom_widget_Featured_Carousel_form","formGroupFieldSeparator":"divider","__typename":"FormLayout"},"__typename":"Form"},"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"dynamicByCoreNode":null,"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[{"id":"max_items","dataType":"NUMBER","list":false,"defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"control":"INPUT","__typename":"PropDefinition"}],"__typename":"ComponentProperties"},"form":{"fields":[{"id":"widgetChooser","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"title","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useTitle","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useBackground","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"widgetVisibility","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"moreOptions","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"cMax_items","validation":null,"noValidation":null,"dataType":"NUMBER","list":false,"control":"INPUT","defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"__typename":"FormField"}],"layout":{"rows":[{"id":"widgetChooserGroup","type":"fieldset","as":null,"items":[{"id":"widgetChooser","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"titleGroup","type":"fieldset","as":null,"items":[{"id":"title","className":null,"__typename":"FormFieldRef"},{"id":"useTitle","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"useBackground","type":"fieldset","as":null,"items":[{"id":"useBackground","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"widgetVisibility","type":"fieldset","as":null,"items":[{"id":"widgetVisibility","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"moreOptionsGroup","type":"fieldset","as":null,"items":[{"id":"moreOptions","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"componentPropsGroup","type":"fieldset","as":null,"items":[{"id":"cMax_items","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"}],"actionButtons":null,"className":"custom_widget_Featured_Carousel_form","formGroupFieldSeparator":"divider","__typename":"FormLayout"},"__typename":"Form"},"__typename":"Component","localOverride":false},"globalCss":null,"form":{"fields":[{"id":"widgetChooser","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"title","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useTitle","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"useBackground","validation":null,"noValidation":null,"dataType":"BOOLEAN","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"widgetVisibility","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"moreOptions","validation":null,"noValidation":null,"dataType":"STRING","list":null,"control":null,"defaultValue":null,"label":null,"description":null,"possibleValues":null,"__typename":"FormField"},{"id":"cMax_items","validation":null,"noValidation":null,"dataType":"NUMBER","list":false,"control":"INPUT","defaultValue":"3","label":"Max Items","description":"The maximum number of items to display in the carousel","possibleValues":null,"__typename":"FormField"}],"layout":{"rows":[{"id":"widgetChooserGroup","type":"fieldset","as":null,"items":[{"id":"widgetChooser","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"titleGroup","type":"fieldset","as":null,"items":[{"id":"title","className":null,"__typename":"FormFieldRef"},{"id":"useTitle","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"useBackground","type":"fieldset","as":null,"items":[{"id":"useBackground","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"widgetVisibility","type":"fieldset","as":null,"items":[{"id":"widgetVisibility","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"moreOptionsGroup","type":"fieldset","as":null,"items":[{"id":"moreOptions","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"},{"id":"componentPropsGroup","type":"fieldset","as":null,"items":[{"id":"cMax_items","className":null,"__typename":"FormFieldRef"}],"props":null,"legend":null,"description":null,"className":null,"viewVariant":null,"toggleState":null,"__typename":"FormFieldset"}],"actionButtons":null,"className":"custom_widget_Featured_Carousel_form","formGroupFieldSeparator":"divider","__typename":"FormLayout"},"__typename":"Form"}},"localOverride":false},"CachedAsset:component:custom.widget.All_Blogs_Sidebar-en-1732227464476":{"__typename":"CachedAsset","id":"component:custom.widget.All_Blogs_Sidebar-en-1732227464476","value":{"component":{"id":"custom.widget.All_Blogs_Sidebar","template":{"id":"All_Blogs_Sidebar","markupLanguage":"REACT","style":null,"texts":{"blogs.sidebar.title":"Blogs","blogs.sidebar.all":"All Blogs","blogs.sidebar.recent":"Recent blogs","blogs.sidebar.followed":"Followed blogs","blogs.sidebar.articles":"Articles","blogs.sidebar.showmore":"Show More"},"defaults":{"config":{"applicablePages":[],"dynamicByCoreNode":null,"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.All_Blogs_Sidebar","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"dynamicByCoreNode":null,"description":null,"fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.MicrosoftFooter-en-1732227464476":{"__typename":"CachedAsset","id":"component:custom.widget.MicrosoftFooter-en-1732227464476","value":{"component":{"id":"custom.widget.MicrosoftFooter","template":{"id":"MicrosoftFooter","markupLanguage":"HANDLEBARS","style":".context-uhf {\n min-width: 280px;\n font-size: 15px;\n box-sizing: border-box;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n \u0026 *,\n \u0026 *:before,\n \u0026 *:after {\n box-sizing: inherit;\n }\n a.c-uhff-link {\n color: #616161;\n word-break: break-word;\n text-decoration: none;\n }\n \u0026a:link,\n \u0026a:focus,\n \u0026a:hover,\n \u0026a:active,\n \u0026a:visited {\n text-decoration: none;\n color: inherit;\n }\n \u0026 div {\n font-family: 'Segoe UI', SegoeUI, 'Helvetica Neue', Helvetica, Arial, sans-serif;\n }\n}\n.c-uhff {\n background: #f2f2f2;\n margin: -1.5625;\n width: auto;\n height: auto;\n}\n.c-uhff-nav {\n margin: 0 auto;\n max-width: calc(1600px + 10%);\n padding: 0 5%;\n box-sizing: inherit;\n \u0026:before,\n \u0026:after {\n content: ' ';\n display: table;\n clear: left;\n }\n @media only screen and (max-width: 1083px) {\n padding-left: 12px;\n }\n .c-heading-4 {\n color: #616161;\n word-break: break-word;\n font-size: 15px;\n line-height: 20px;\n padding: 36px 0 4px;\n font-weight: 600;\n }\n .c-uhff-nav-row {\n .c-uhff-nav-group {\n display: block;\n float: left;\n min-height: 1px;\n vertical-align: text-top;\n padding: 0 12px;\n width: 100%;\n zoom: 1;\n \u0026:first-child {\n padding-left: 0;\n @media only screen and (max-width: 1083px) {\n padding-left: 12px;\n }\n }\n @media only screen and (min-width: 540px) and (max-width: 1082px) {\n width: 33.33333%;\n }\n @media only screen and (min-width: 1083px) {\n width: 16.6666666667%;\n }\n ul.c-list.f-bare {\n font-size: 11px;\n line-height: 16px;\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 0;\n list-style-type: none;\n li {\n word-break: break-word;\n padding: 8px 0;\n margin: 0;\n }\n }\n }\n }\n}\n.c-uhff-base {\n background: #f2f2f2;\n margin: 0 auto;\n max-width: calc(1600px + 10%);\n padding: 30px 5% 16px;\n \u0026:before,\n \u0026:after {\n content: ' ';\n display: table;\n }\n \u0026:after {\n clear: both;\n }\n a.c-uhff-ccpa {\n font-size: 11px;\n line-height: 16px;\n float: left;\n margin: 3px 0;\n }\n a.c-uhff-ccpa:hover {\n text-decoration: underline;\n }\n ul.c-list {\n font-size: 11px;\n line-height: 16px;\n float: right;\n margin: 3px 0;\n color: #616161;\n li {\n padding: 0 24px 4px 0;\n display: inline-block;\n }\n }\n .c-list.f-bare {\n padding-left: 0;\n list-style-type: none;\n }\n @media only screen and (max-width: 1083px) {\n display: flex;\n flex-wrap: wrap;\n padding: 30px 24px 16px;\n }\n}\n","texts":{"New tab":"What's New","New 1":"Surface Laptop Studio 2","New 2":"Surface Laptop Go 3","New 3":"Surface Pro 9","New 4":"Surface Laptop 5","New 5":"Surface Studio 2+","New 6":"Copilot in Windows","New 7":"Microsoft 365","New 8":"Windows 11 apps","Store tab":"Microsoft Store","Store 1":"Account Profile","Store 2":"Download Center","Store 3":"Microsoft Store Support","Store 4":"Returns","Store 5":"Order tracking","Store 6":"Certified Refurbished","Store 7":"Microsoft Store Promise","Store 8":"Flexible Payments","Education tab":"Education","Edu 1":"Microsoft in education","Edu 2":"Devices for education","Edu 3":"Microsoft Teams for Education","Edu 4":"Microsoft 365 Education","Edu 5":"How to buy for your school","Edu 6":"Educator Training and development","Edu 7":"Deals for students and parents","Edu 8":"Azure for students","Business tab":"Business","Bus 1":"Microsoft Cloud","Bus 2":"Microsoft Security","Bus 3":"Dynamics 365","Bus 4":"Microsoft 365","Bus 5":"Microsoft Power Platform","Bus 6":"Microsoft Teams","Bus 7":"Microsoft Industry","Bus 8":"Small Business","Developer tab":"Developer \u0026 IT","Dev 1":"Azure","Dev 2":"Developer Center","Dev 3":"Documentation","Dev 4":"Microsoft Learn","Dev 5":"Microsoft Tech Community","Dev 6":"Azure Marketplace","Dev 7":"AppSource","Dev 8":"Visual Studio","Company tab":"Company","Com 1":"Careers","Com 2":"About Microsoft","Com 3":"Company News","Com 4":"Privacy at Microsoft","Com 5":"Investors","Com 6":"Diversity and inclusion","Com 7":"Accessiblity","Com 8":"Sustainibility"},"defaults":{"config":{"applicablePages":[],"dynamicByCoreNode":false,"description":"The Microsoft Footer","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.MicrosoftFooter","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"dynamicByCoreNode":false,"description":"The Microsoft Footer","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":{"css":".custom_widget_MicrosoftFooter_context-uhf_f95yq_1 {\n min-width: 17.5rem;\n font-size: 0.9375rem;\n box-sizing: border-box;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n \u0026 *,\n \u0026 *:before,\n \u0026 *:after {\n box-sizing: inherit;\n }\n a.custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12 {\n color: #616161;\n word-break: break-word;\n text-decoration: none;\n }\n \u0026a:link,\n \u0026a:focus,\n \u0026a:hover,\n \u0026a:active,\n \u0026a:visited {\n text-decoration: none;\n color: inherit;\n }\n \u0026 div {\n font-family: 'Segoe UI', SegoeUI, 'Helvetica Neue', Helvetica, Arial, sans-serif;\n }\n}\n.custom_widget_MicrosoftFooter_c-uhff_f95yq_12 {\n background: #f2f2f2;\n margin: -1.5625;\n width: auto;\n height: auto;\n}\n.custom_widget_MicrosoftFooter_c-uhff-nav_f95yq_35 {\n margin: 0 auto;\n max-width: calc(100rem + 10%);\n padding: 0 5%;\n box-sizing: inherit;\n \u0026:before,\n \u0026:after {\n content: ' ';\n display: table;\n clear: left;\n }\n @media only screen and (max-width: 1083px) {\n padding-left: 0.75rem;\n }\n .custom_widget_MicrosoftFooter_c-heading-4_f95yq_49 {\n color: #616161;\n word-break: break-word;\n font-size: 0.9375rem;\n line-height: 1.25rem;\n padding: 2.25rem 0 0.25rem;\n font-weight: 600;\n }\n .custom_widget_MicrosoftFooter_c-uhff-nav-row_f95yq_57 {\n .custom_widget_MicrosoftFooter_c-uhff-nav-group_f95yq_58 {\n display: block;\n float: left;\n min-height: 0.0625rem;\n vertical-align: text-top;\n padding: 0 0.75rem;\n width: 100%;\n zoom: 1;\n \u0026:first-child {\n padding-left: 0;\n @media only screen and (max-width: 1083px) {\n padding-left: 0.75rem;\n }\n }\n @media only screen and (min-width: 540px) and (max-width: 1082px) {\n width: 33.33333%;\n }\n @media only screen and (min-width: 1083px) {\n width: 16.6666666667%;\n }\n ul.custom_widget_MicrosoftFooter_c-list_f95yq_78.custom_widget_MicrosoftFooter_f-bare_f95yq_78 {\n font-size: 0.6875rem;\n line-height: 1rem;\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 0;\n list-style-type: none;\n li {\n word-break: break-word;\n padding: 0.5rem 0;\n margin: 0;\n }\n }\n }\n }\n}\n.custom_widget_MicrosoftFooter_c-uhff-base_f95yq_94 {\n background: #f2f2f2;\n margin: 0 auto;\n max-width: calc(100rem + 10%);\n padding: 1.875rem 5% 1rem;\n \u0026:before,\n \u0026:after {\n content: ' ';\n display: table;\n }\n \u0026:after {\n clear: both;\n }\n a.custom_widget_MicrosoftFooter_c-uhff-ccpa_f95yq_107 {\n font-size: 0.6875rem;\n line-height: 1rem;\n float: left;\n margin: 0.1875rem 0;\n }\n a.custom_widget_MicrosoftFooter_c-uhff-ccpa_f95yq_107:hover {\n text-decoration: underline;\n }\n ul.custom_widget_MicrosoftFooter_c-list_f95yq_78 {\n font-size: 0.6875rem;\n line-height: 1rem;\n float: right;\n margin: 0.1875rem 0;\n color: #616161;\n li {\n padding: 0 1.5rem 0.25rem 0;\n display: inline-block;\n }\n }\n .custom_widget_MicrosoftFooter_c-list_f95yq_78.custom_widget_MicrosoftFooter_f-bare_f95yq_78 {\n padding-left: 0;\n list-style-type: none;\n }\n @media only screen and (max-width: 1083px) {\n display: flex;\n flex-wrap: wrap;\n padding: 1.875rem 1.5rem 1rem;\n }\n}\n","tokens":{"context-uhf":"custom_widget_MicrosoftFooter_context-uhf_f95yq_1","c-uhff-link":"custom_widget_MicrosoftFooter_c-uhff-link_f95yq_12","c-uhff":"custom_widget_MicrosoftFooter_c-uhff_f95yq_12","c-uhff-nav":"custom_widget_MicrosoftFooter_c-uhff-nav_f95yq_35","c-heading-4":"custom_widget_MicrosoftFooter_c-heading-4_f95yq_49","c-uhff-nav-row":"custom_widget_MicrosoftFooter_c-uhff-nav-row_f95yq_57","c-uhff-nav-group":"custom_widget_MicrosoftFooter_c-uhff-nav-group_f95yq_58","c-list":"custom_widget_MicrosoftFooter_c-list_f95yq_78","f-bare":"custom_widget_MicrosoftFooter_f-bare_f95yq_78","c-uhff-base":"custom_widget_MicrosoftFooter_c-uhff-base_f95yq_94","c-uhff-ccpa":"custom_widget_MicrosoftFooter_c-uhff-ccpa_f95yq_107"}},"form":null},"localOverride":false},"CachedAsset:text:en_US-components/featured/content/FeaturedContentWidget-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/featured/content/FeaturedContentWidget-1731977288000","value":{"edit":"Edit Featured Content","title":"Featured Content","title@instance:featuredWidgets.widget.featuredContentWidget-1731072810602":"Pinned Posts","title@instance:featuredWidgets.widget.featuredContentWidget-1725465963092":"Latest Skilling Resources","title@instance:fwwhch":"Resources","title@instance:featuredWidgets.widget.featuredContentWidget-1731121461279":"Pinned Posts","title@instance:featuredWidgets.widget.featuredContentWidget-1731121523051":"Pinned Posts","title@instance:featuredWidgets.widget.featuredContentWidget-1727714402341":"Resources"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageListForNodeByRecentActivityWidget-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageListForNodeByRecentActivityWidget-1731977288000","value":{"title@userScope:other":"Recent Content","title@userScope:self":"Contributions","title@board:FORUM@userScope:other":"Recent Discussions","title@board:BLOG@userScope:other":"Recent Blogs","emptyDescription":"No content to show","MessageListForNodeByRecentActivityWidgetEditor.nodeScope.label":"Scope","title@instance:1722894000155":"Recent Discussions","title@instance:1727367112619":"Recent Blog Articles","title@instance:1727367069748":"Recent Discussions","title@instance:1727366213114":"Latest Discussions","title@instance:1727899609720":"","title@instance:1727363308925":"Latest Discussions","title@instance:1720453418992":"Recent Discssions","title@instance:1727365950181":"Latest Blog Articles","title@instance:bmDPnI":"Latest Blog Articles","title@instance:1721244347979":"Latest blog posts","title@instance:1728383752171":"Related Content","title@instance:1722893956545":"Latest Skilling Resources","title@instance:dhcgCU":"Latest Discussions"},"localOverride":false},"Category:category:Exchange":{"__typename":"Category","id":"category:Exchange","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Planner":{"__typename":"Category","id":"category:Planner","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Outlook":{"__typename":"Category","id":"category:Outlook","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Community-Info-Center":{"__typename":"Category","id":"category:Community-Info-Center","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:EducationSector":{"__typename":"Category","id":"category:EducationSector","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:DrivingAdoption":{"__typename":"Category","id":"category:DrivingAdoption","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Azure":{"__typename":"Category","id":"category:Azure","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"displayId":"Azure"},"Category:category:Windows-Server":{"__typename":"Category","id":"category:Windows-Server","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:SQL-Server":{"__typename":"Category","id":"category:SQL-Server","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:MicrosoftTeams":{"__typename":"Category","id":"category:MicrosoftTeams","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:PublicSector":{"__typename":"Category","id":"category:PublicSector","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:microsoft365":{"__typename":"Category","id":"category:microsoft365","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"displayId":"microsoft365"},"Category:category:IoT":{"__typename":"Category","id":"category:IoT","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:HealthcareAndLifeSciences":{"__typename":"Category","id":"category:HealthcareAndLifeSciences","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:SMB":{"__typename":"Category","id":"category:SMB","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:ITOpsTalk":{"__typename":"Category","id":"category:ITOpsTalk","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:microsoft-endpoint-manager":{"__typename":"Category","id":"category:microsoft-endpoint-manager","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"displayId":"microsoft-endpoint-manager"},"Category:category:MicrosoftSecurityandCompliance":{"__typename":"Category","id":"category:MicrosoftSecurityandCompliance","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:MicrosoftLearn":{"__typename":"Category","id":"category:MicrosoftLearn","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:MicrosoftLearnBlog":{"__typename":"Blog","id":"board:MicrosoftLearnBlog","blogPolicies":{"__typename":"BlogPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:AI":{"__typename":"Category","id":"category:AI","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"displayId":"AI"},"Category:category:MicrosoftMechanics":{"__typename":"Category","id":"category:MicrosoftMechanics","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"displayId":"MicrosoftMechanics"},"Category:category:StartupsatMicrosoft":{"__typename":"Category","id":"category:StartupsatMicrosoft","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:PartnerCommunity":{"__typename":"Category","id":"category:PartnerCommunity","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"displayId":"PartnerCommunity"},"Category:category:Windows":{"__typename":"Category","id":"category:Windows","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Blog:board:MicrosoftMechanicsBlog":{"__typename":"Blog","id":"board:MicrosoftMechanicsBlog","displayId":"MicrosoftMechanicsBlog","nodeType":"board","conversationStyle":"BLOG","title":"Microsoft Mechanics Blog","shortTitle":"Microsoft Mechanics Blog","parent":{"__ref":"Category:category:MicrosoftMechanics"}},"User:user:205":{"__typename":"User","uid":205,"login":"Zachary-Cavanell","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0yMDUtNDA5aTM1RkZBNDExRDQ2ODJFNzE"},"id":"user:205"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LTZrQnlqaw?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LTZrQnlqaw?revision=2","title":"Main.png","associationType":"BODY","width":2546,"height":1168,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LXRTMnhBUw?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LXRTMnhBUw?revision=2","title":"1.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LXNYQVMySA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LXNYQVMySA?revision=2","title":"2.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LU9xR2gwaQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LU9xR2gwaQ?revision=2","title":"3.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"BlogTopicMessage:message:4329788":{"__typename":"BlogTopicMessage","subject":"Azure Database for PostgreSQL Flexible Server - Elastic Clusters, faster disks, and AI updates","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4329788},"lastPostingActivityTime":"2024-11-23T15:50:52.193-08:00","solved":false},"id":"message:4329788","revisionNum":2,"uid":4329788,"depth":0,"board":{"__ref":"Blog:board:MicrosoftMechanicsBlog"},"author":{"__ref":"User:user:205"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"Increase scalability, optimize performance, and integrate advanced AI features with Azure Database for PostgreSQL Flexible Server. ","metrics":{"__typename":"MessageMetrics","views":8},"postTime":"2024-11-23T15:50:52.193-08:00","lastPublishTime":"2024-11-23T15:50:52.193-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" Increase scalability, optimize performance, and integrate advanced AI features with Azure Database for PostgreSQL Flexible Server. Scale up with SSD v2 for up to 4x more transactions per second and significantly lower latency. Scale out effortlessly with Elastic Clusters using Citus, distributing workloads across multiple servers at no extra cost. Optimize performance with Automatic Index Tuning, reducing server utilization and enhancing efficiency. Leverage advanced AI features like DiskANN, semantic reranking, and Graph RAG to build better AI apps. \n \u0026nbsp; \n \n Charles Feddersen, Partner Director of Program Management for Postgres at Microsoft, joins Jeremy Chapman to show you how to build scalable, high-performance AI apps on Azure PostgreSQL Flexible Server today. \n Up to 4x more transactions per second \u0026amp; lower latency. \n \n Get started with SSD v2 public preview on Azure Database for PostgreSQL Flexible Server today. \n Scale your PostgreSQL workloads using an elastic cluster. \n \n Run your Postgres workload at cluster scale with Flexible Server today. See it here. \n Reduce query time from minutes to milliseconds. \n \n Optimize PostgreSQL performance with Azure Database for PostgreSQL Automatic Index Tuning. Start here. \n Watch our video here. \n \n QUICK LINKS: \n 00:00\u0026nbsp;— Azure Database for Postgres Flexible Server 00:39\u0026nbsp;— Updates to PostGreSQL 01:50\u0026nbsp;— Faster storage with SSD v2 03:06\u0026nbsp;— Scale out workloads using elastic cluster 03:59\u0026nbsp;— Provision an elastic cluster 05:34\u0026nbsp;— Scale “in-place” 07:12\u0026nbsp;— Eliminate redundant indexes 07:44\u0026nbsp;— Optimize server parameters 09:52\u0026nbsp;— Improve AI apps with Postgres Flexible Server 11:40\u0026nbsp;— Code behind queries using PG Admin 12:31\u0026nbsp;— Scale workloads 13:36\u0026nbsp;— Wrap up \n Link References \n Get started at\u0026nbsp;https://aka.ms/azurepostgresblog \n Access code at\u0026nbsp;https://aka.ms/AzurePostgresAI \n Unfamiliar with Microsoft Mechanics? \n As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. \n \n Subscribe to our YouTube:https://www.youtube.com/c/MicrosoftMechanicsSeries \n Talk with other IT Pros, join us on the Microsoft Tech Community:https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog \n Watch or listen from anywhere, subscribe to our podcast:https://microsoftmechanics.libsyn.com/podcast \n \n Keep getting this insider knowledge, join us on social: \n \n Follow us on Twitter:https://twitter.com/MSFTMechanics \n Share knowledge on LinkedIn:https://www.linkedin.com/company/microsoft-mechanics/ \n Enjoy us on Instagram:https://www.instagram.com/msftmechanics/ \n Loosen up with us on TikTok:https://www.tiktok.com/@msftmechanics \n \n \n Video Transcript: \n - Postgres is one of the most popular open source databases in use today. And the team at Microsoft has been working to make Postgres on Azure more scalable, easy to manage, and more optimized for building new AI apps. And today we’re going to explore Azure Database for Postgres Flexible Server to learn more about scaling infrastructure and designing data models to support different workloads, optimizing configurations for specific workloads quickly and easily, leveraging new AI features to build better AI apps. And to walk us through all this, I’m joined once again by Charles Feddersen who leads the product management team for Postgres on Azure. Welcome back. \n - Thanks for having me. It’s great to be back, Jeremy. \n - And it’s really great to have you back on. You know, last time you were on the show, we actually showed how Microsoft is deeply invested in Postgres. Not only do we run the Flexible Server managed service in Azure, we also contribute heavily to the open source community. So what are some of the latest updates that we have that we’ve worked on with Postgres? \n - Yeah, look, there’s really been a ton of updates. For the latest Postgres 17 release, Microsoft engineers made 412 commits to the open source project, and these include capabilities like I/O combining, which can improve I/O efficiency, and planner changes to optimize UNION scenarios, amongst many others. Both of these optimizations improve query performance and are easily applied to your existing workloads. \n - Okay, so as we make updates and the community makes updates, how soon can we get those into the service running on Azure? \n - So we’ve got it down to just a few days. In fact, this year we reduced the time between open source Postgres 17 becoming generally available, and when we shipped it in Flexible Server to just four days. And one of the best things is that we’ll make Postgres 17 in Azure generally available in-place so that you won’t need to redo any of the work that you’ve done during preview. And we’re working on ways to bring new Postgres versions to Azure even faster in the future. \n - Okay, so Postgres is already running on version 17 on Azure. So what are we doing now in terms of making Azure the best place to run your Postgres workloads? \n - So we’re really focused on scalability, and we’ve taken three distinct approaches to this. The first is to provide the latest Azure infrastructure for Flexible Server, and in this case, it’s faster storage with SSD v2. I’ll show you the performance of these disks. I’ve set up a side-by-side benchmark to demonstrate the performance of premium SSD v1 versus premium SSD v2 on the right. I’ll go ahead and kick off the benchmark, and on the right side, I’ll highlight the host name to show that I’m using SSD v2 on the right, whereas I’m using SSD v1 on the left. I’ll kick off the SSD v1 benchmark on the left. And as we can start to get some initial results, you can see that v2 are running at about 15,000 transactions per second, whereas v1 is only running at about 4,000 transactions per second. And this correlates to the latency being much higher on SSD v1 than v2. And so scaling up the disk to SSD v2 alone can provide almost 4x transactions. These disks are still in preview, but you can start to test and get started today. \n - All right, so we’ve seen now scaling up using faster disks, but you mentioned there were three different approaches. So what are the other ones? \n - Yeah, the second approach is scaling out workloads using the new elastic cluster feature. This enables you to distribute a single Postgres workload across multiple servers using sharded data. Elastic clusters use Citus to scale workloads, and it’s now available in Flexible Server for no additional cost. And Citus supports two approaches for scaling out your data. You can either create distributed tables that spread the rows of a table across different servers, or you can distribute entire schemas where one or more schemas are stored on each node of a cluster. And unlike previous versions of Citus, the elastic cluster and Flexible Server has no coordinated node. You can just add compute nodes and scale your workload. This makes it more efficient and easier to manage. \n - Okay, so what does it take then to set up an elastic cluster in this case? \n - Yeah, I can show you. I’ll start by provisioning a Flexible Server with elastic cluster. I’m in the portal, and I’m going to configure a new Flexible Server. I’ll click configure server, and you can see I’ve got a new cluster option. The default is server, which is a traditional single node Flexible Server that you can use today, or I can choose the new elastic cluster option. I’ll select that, and then I just need to set the number of nodes in my cluster, and I’ll start with four. So I’ll move over to pgAdmin, and I’m connected to my cluster. So let’s scale out a table. I’ve created a normal Postgres table with this query, and distributed it out using a Citus command. Super easy. Now, I’ve pre-populated a table earlier, so let’s use that to build on our previous demo to show SSD v2 performance in a cluster. Here, I’ve got another side-by-side demo with terminal windows, where the left side is a single Flexible Server, and on the right is an elastic cluster with four nodes. I’ll kick off the left with the single server, and now the cluster on the right. And as this runs, you’ll see that the cluster with sharded data has significantly higher transactions per second versus our Flexible Server running on SSD v2. And once it’s complete, you’ll see the average transactions per second is much higher, and the latency is also significantly lower in this case. \n - It’s really great to see this has come to Flexible Server, but now we’ve kind of looked at scaling up with our disks and scaling out with our elastic cluster. So what’s the next one? \n - Yeah, so the third approach is simply scaling in-place, where we’ve built features to help maximize the usage of existing resources. And there are two ways to do this automatically in Postgres Flexible Server. First, instead of manually tuning indexes, which is time consuming and error prone, we’ve built Automatic Index Tuning to optimize indexes for you. A well-designed index can reduce query time from minutes to milliseconds. Let me show you an example. Here I’m in the portal on the index tuning blade, and you can see that the tuning engine is configured to analyze the past one hour of queries. But I’d like a larger sample size. So I’ll click on tuning settings and change the frequency to four hours, and this will then analyze a four-hour window of my workload. You can see there are other configurations specific to create and drop recommendations, but we’ll leave those as is. Once the tuning is finished, I can see there are 20 recommendations, and I’ll go ahead and click to view those. I’ll select the top recommendation. And you can see it tells me the database, schema, and table that the index applies to. It gives me the SQL script to create the index. And it even gives me an impact assessment so that I can see the estimated performance improvement, size on my disk, and the reason for creating this index. Skipping ahead, I’ve gone ahead and created those 20 indexes, and I’ll look at the resource usage on my database. You can see that before index tuning, my server was running at about 70% utilization, but now it’s dropped significantly to only about 15%. This is a great outcome using a really simple index optimization feature. \n - So in this case, we saw how the creation of indexes basically helps in terms of performance, but I know for personal experience also dropping redundant indexes can help performance as well. \n - Yeah, I think generally the focus is on creating indexes to improve performance, but what a lot of people don’t realize is that over time, redundant indexes accumulate, which can have a significant impact on performance. This feature is really useful for eliminating redundant indexes and it reduces the compute required to maintain indexes and the IOPS and disk space needed to modify and store them. \n - So how else then can we optimize our Postgres workloads? \n - So another key approach in Postgres is optimizing server parameters. Tuning server parameters is a well-known optimization technique for Postgres, but it’s hard to get right, and even once you do, workloads change and the new configuration may not be optimal anymore. So to help with this, we’ve now automated parameter tuning, and we’ve had really positive feedback from organizations who have faced this challenge in their own workloads. \n - Okay, so how would something like this then work? \n - Well, it profiles your workload and progressively reconfigures a subset of server parameters to find the optimal configuration to maximize throughput. Let me show you how it works. I’m in the portal, and you can see I’m in the parameter tuning blade. I’ll click run tuning session, and the blade gives me the choice of restarting during the optimization process or not. This is because Postgres has some parameters that need a restart to take effect. I’ll keep no restart enabled to avoid interruption to my workload. And you can see that the session has started. And when I click into the tuning session, there are two charts. The top one shows an average query runtime, which we want to minimize, and the lower one is for transactions per second, which we want to maximize. The tuning session actually takes about four hours, so I’m going to show you one we prepared earlier. About halfway through, you can see the charts are populated to show the performance of different parameter configurations. And if we skip to the end, the green shows the optimal configuration. Now, if you’re curious, you can select other parameter configurations from the chart and then look at the table below to see the different settings for each parameter. \n - Right, and those recommendations effectively add scale. And I say it in air quotes, because it’s kind of like if you want to make a race car faster, you can either lighten its weight or you can add more horsepower. So getting that kind of in-place optimization there first is always a good practice. \n - Yeah, look, you always want to maximize the resources that you’ve got first before you add more, but sometimes there is no option but to add more power. The scale-out capabilities are unique to this class of Postgres service, and if the data model is well architected for scale-out, you can see a significant performance boost in your apps. \n - That’s really good advice. But I want to switch gears because I think a lot of people that are watching right now are developers who’re thinking about things like writing AI apps. So how can Postgres make AI apps better? \n - Yeah, so we’re a couple of years into this AI journey. Application patents are starting to be established, and we’ve seen a lot of amazing AI apps on Flexible Server. And your feedback for AI features is clear that the most important requirement for querying a database is accuracy. And so to help with this, we’ve implemented three new features: a new vector index called DiskANN, which was developed by Microsoft to optimize how indexes are used in memory and offloads work to the disk, Semantic Reranking to reorder query results and improve their accuracy, and Graph RAG that allows querying of complex relationships between data points and can significantly improve recall. \n - And the good news is, as a Postgres developer, you can just use normal SQL commands. \n - That’s right. You can leverage each of these features independently or combine them to improve the recall of a query. Let me show you how to use them together. For this demo, I’m going to use a simple app to show how recall improves, and then we’ll walk through the code to show you how it actually works. I’ve got an app that searches through public US case law data. At the top, I can choose to search using either Vector Search, Semantic Ranker, or Graph RAG, which combines all techniques into a single query. I’ll run the prompt on the left, which relates to prominent cases of water leaking in Washington. In the results, we can see cases related to water but nothing prominent. Let’s go back now and try the Semantic Ranker approach. And these results, I can see water leaks, but still not quite right now. I’ll go one more time and use Graph RAG. These results look really good, and I can see a specific reference to a prominent case of water leakage in Bremerton, which is in Washington. Let’s look at the code behind each of these three example queries using pgAdmin. I’ve got three tabs here, one for each query, and I’ll just show you the key syntax for each one. The first query just uses a standard pgvector operator for cosine distance to return the most relevant results. The second query for ranking is a little more complex. This part of the code passes my initial results to the ranker model to optimize for better relevance. And the third query is a little more complex, again. To provide Graph RAG functionality, we’re using the Apache AGE extension. This part of the code is the key difference where we’re using the cypher query to count the number of citations each legal case has to identify which ones are the most prominent. \n - Right, and search is such an important part for RAG and also agentic-based applications, so I wonder though, if you can take basically the scale that we saw before with all the things we’re doing to scale up and out and kind of in place, and this search technology together to make things better. \n - Yeah, absolutely. When you start to work with embeddings, you’ll notice pretty quickly that they’re really large in size and computationally intensive to query, and you can exhaust the scale of a single server or a disk pretty quickly. With Flexible Server Elastic Cluster, you can easily scale these workloads across machines to multiply compute and storage for these large workloads. Let me give you a quick example. I’m connected to a standard single node Flexible Cluster on the left and an elastic cluster with four nodes on the right. I’m running a simple similarity search query against embeddings with a vector index. On the left, you can see my single node returns about 2000 transactions per second, but my four node cluster on the right provides the scalability with around 8,000 transactions per second. This horizontal scalability is very important for building RAG-based apps on Postgres, where you may have thousands of concurrent users chatting with the data at once. So now we’ve shown how Postgres Flexible Server can meet performance demands and also how it can power new AI apps. So for all the folks that are watching right now looking to get started, what do you recommend? \n - You can find all of our latest updates at aka.ms/azurepostgresblog, and you can also access the code I walked through today at aka.ms/AzurePostgresAI. \n - Thanks, Charles. It’s great to see how Postgres just keeps getting better on Azure. Of course, you’re going to want to check out our previous shows on Postgres and AI. Subscribe to be the first to see the new ones. And as always, thank you for watching. \n \u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"18122","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":12,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LTZrQnlqaw?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LXRTMnhBUw?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LXNYQVMySA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg4LU9xR2gwaQ?revision=2\"}"}}],"totalCount":4,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUtjU1JrQQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUtjU1JrQQ?revision=1","title":"Main.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LTlodktsQw?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LTlodktsQw?revision=1","title":"1.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUpYNGxDOA?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUpYNGxDOA?revision=1","title":"2.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUJMOTBNWQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUJMOTBNWQ?revision=1","title":"3.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"BlogTopicMessage:message:4322036":{"__typename":"BlogTopicMessage","subject":"Windows 365 Frontline updates: New shared mode","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4322036},"lastPostingActivityTime":"2024-11-23T15:49:54.818-08:00","solved":false},"id":"message:4322036","revisionNum":1,"uid":4322036,"depth":0,"board":{"__ref":"Blog:board:MicrosoftMechanicsBlog"},"author":{"__ref":"User:user:205"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"","metrics":{"__typename":"MessageMetrics","views":11},"postTime":"2024-11-23T15:49:54.818-08:00","lastPublishTime":"2024-11-23T15:49:54.818-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" Provide tailored Cloud PC experiences for diverse workforce needs with Windows 365 Frontline. With shared mode, offer cost-effective, on-demand Cloud PCs that reset after each session — ideal for frontline and part-time staff needing intermittent access. Dedicated mode delivers a personalized, consistent desktop experience for employees requiring prolonged use, all managed through Microsoft Intune. As an IT admin, set precise access policies, automate session timeouts, and adjust resources based on role requirements. \n \n Sam Tulimat, Cloud Endpoints Principal PM Lead, shows how Windows 365 Frontline is designed to optimize resources, streamline workflows, and meet the unique needs of any team, ensuring every employee has the tools they need, when and where they need them. \n Provide Cloud PC access to more users with fewer licenses. \n \n With shared mode, desktop experiences are secure and data resets after each session. Check out updates to Windows 365 Frontline. \n Boost productivity with the right mode for your Cloud PCs. \n \n Choose shared mode for quick tasks or dedicated mode for consistent access. Make sure every team member has the right tool for the job. Updates to Windows 365 Frontline. \n Enhance security and free up resources. \n \n Set auto log-out and idle time limits on shared Cloud PCs for efficient use in Windows 365 Frontline. See it here. \n Watch our video here: \n \n QUICK LINKS: \n 00:00 — One Cloud PC for multiple users 01:01 — Optimize costs with shared Cloud PCs 01:44 — Role-specific Cloud PCs 02:15 — Dedicated mode configuration 04:40 — Shared mode configuration steps 06:25 — Provisioning policies 07:15 — Options to reprovision Cloud PCs 07:49 — Wrap up \n Link References \n To get started, check out https://aka.ms/Windows365Frontline \n Unfamiliar with Microsoft Mechanics? \n As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. \n \n Subscribe to our YouTube: https://www.youtube.com/c/MicrosoftMechanicsSeries \n Talk with other IT Pros, join us on the Microsoft Tech Community: https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog \n Watch or listen from anywhere, subscribe to our podcast: https://microsoftmechanics.libsyn.com/podcast \n \n Keep getting this insider knowledge, join us on\u0026nbsp;social: \n \n Follow us on Twitter: https://twitter.com/MSFTMechanics \n Share knowledge on LinkedIn: https://www.linkedin.com/company/microsoft-mechanics/ \n Enjoy us on Instagram: https://www.instagram.com/msftmechanics/ \n Loosen up with us on TikTok: https://www.tiktok.com/@msftmechanic \n \n Video Transcript:\u0026nbsp; \n -Windows 365 Frontline now supports sharing Cloud PCs across multiple users in your organization. As a new cost effective option called shared mode in Windows 365 Frontline, you can now share Cloud PCs across groups of users that need ad-hoc access to apps to carry out specific and specialized tasks wherever they may be located.\u0026nbsp; \n -These can be contractors, part-time workers, or frontline workers who are in your organization’s directory, in retail or other industries. In shared mode, user data is deleted once a user signs out and is made ready for the next user to start fresh with a new Windows 365 desktop experience.\u0026nbsp; \n -This new option is in addition to the existing dedicated mode option that you may be familiar with. This provides a personalized, persistent, and full desktop experience to employees and is designed to start and stop based on a user’s working hours, which means whether your employees need occasional use for a Cloud PC or require more consistent access with a dedicated Cloud PC experience, we’ve got you covered.\u0026nbsp; \n -Let me start by showing you an example of the new shared mode experience in Windows 365 Frontline with a retail scenario. Here, I have the Windows App open. Let’s say that I’m a member of the floor retail staff, Lynn Robbins. When I connect to a Cloud PC, you’ll see that it’s running a retail configured windows desktop with the required apps pinned to the task bar and sign in with my account.\u0026nbsp; \n -It’s optimized for intermittent use for just a few moments each time where the floor retail staff in this case can complete, finish a task, like check or receive inventory, then sign out of the Cloud PC as you normally would. Once I sign out of the shared Cloud PC, my user profile is removed and the Cloud PC is made ready for the next staff member to sign in to repeat that task or to do something else.\u0026nbsp; \n -Also, if you have someone in a role that wears multiple hats, like a manager, they can have access to a shared Cloud PC designed to be used with a specific task, like I just showed you, and the dedicated personalized Cloud PC that might be used throughout the day, which also shuts down once their workday ends. In this case, you see that I have access to both a shared Cloud PC for checking inventory and a dedicated Cloud PC. If I open the dedicated Cloud PC, it will be personalized to me with my files and with apps that I typically use like Microsoft Teams and Outlook.\u0026nbsp; \n -Now, let me show you how you would set these two modes as an IT admin, starting with a dedicated mode in Windows 365 Frontline. From the Windows 365 page in the Microsoft Intune Admin Center, I’ve started a new provisioning policy. This policy is for anyone who needs a dedicated Cloud PC and that typically includes employees who require prolonged and consistent access to a device like the manager role I just showed you.\u0026nbsp; \n -For that use case, you can choose between a licensed type for Windows 365 Enterprise edition or Frontline edition, where again, the main difference is that enterprise is always available where a Frontline Cloud PC will automatically shut down outside of working hours, then start up again while in use. Let me explain how this works.\u0026nbsp; \n -Let’s say for example, you have nine users with only three of them working at the same time. In this case, you would only need three Frontline licenses for all nine users. This is because with dedicated mode, each license enables any three users non-concurrent access to a Cloud PC.\u0026nbsp; \n -And when a worker completes, for example, their shift and is no longer accessing their Cloud PC, it’s turned off. And because Windows 365 gives every user their own Cloud PC, their personal settings are retained whenever they sign in. So I’ll choose the license type as Frontline.\u0026nbsp; \n -Below that is a new option for Frontline type. Here you can see our options for dedicated and shared. In this case, I’ll choose dedicated mode, and depending on the image you select in the next step, it will give assigned users consistent access to personalized app experiences like Microsoft Teams for meetings, Outlook for email, and so it’s more suited to their role.\u0026nbsp; \n -Then I just need to select the Microsoft hosted network and my geography for where these Cloud PCs will be provisioned, and I’ll also choose Microsoft Entra single sign-on to make it even easier to use. In the next step, I’ll keep the gallery image as mentioned with Microsoft 365 apps included, then assign it to our retail managers group in Seattle.\u0026nbsp; \n -Now I just need to configure the Cloud PC size available to provision. Remember, with Windows 365 enterprise, you define the Cloud PC size when assigning licenses in the Microsoft 365 admin center, whereas with Windows 365 Frontline, licenses are purchased in advance, then assigned in the provisioning policy like I showed you.\u0026nbsp; \n -Finally, to complete the policy, I just need to review and confirm. Then each member of this group is going to get their own dedicated and personalized Cloud PC. So that’s the dedicated mode experience. And then for the shared mode experience, the configuration steps are just a little different. Let me show you.\u0026nbsp; \n -Here, I’ve started another Windows 365 Provisioning Policy, but this time for Frontline type, I’m going to choose shared. Like before, I’m going to select Microsoft Hosted Network and my geography for where these Cloud PCs will be provisioned and Single Sign On. This time for the image, I’m just going to select Windows 11 24H2, without the Microsoft 365 apps.\u0026nbsp; \n -And here in configuration, I can choose the Windows Autopilot preparation policy name from the dropdown. This ensures that preselected apps and scripts will run prior to first sign-in, and the number of minutes I’ll allow this run as well as whether I want users to connect in case of a failure.\u0026nbsp; \n -Then for the group assignment, I’ll choose “Retail Staff, Seattle Stores” group. This group has about 100 members, so I’m presented the Cloud PC size available to assign to this group. And below that, there are some new controls specific to shared mode. I need to give the assignment a name like retail station.\u0026nbsp; \n -This will appear later to help describe the Cloud PC in the Windows App. Then I can add the total number of concurrent running Cloud PCs needed for this group of floor retail staff, and in this case, it’s going to be 20. That means that if 20 people are signed into these 20 Cloud PCs, if a 21st user signs in, they will not be able to access a Cloud PC until another user signs out.\u0026nbsp; \n -And unlike the dedicated mode, Windows 365 Frontline experience where Cloud PCs are stopped and started according to employees working hours, these are always running and ready to go. I’ll keep the defaults for the rest to save time and confirm. And that’s it. We’ve configured Windows 365 Frontline experiences for dedicated and shared mode use cases.\u0026nbsp; \n -Then once services are up and running, you can monitor the experiences and usage of Windows 365 Frontline Cloud PCs. For example, if we fast forward in time a little, here, you can see that the shared Cloud PC that I just provisioned are occasionally hitting our peak number of 20 sign-in users active across all 20 Cloud PCs. And the good news is that we have options to help.\u0026nbsp; \n -First, you can expand the Cloud PC limit as needed, where here you might want to change the count from 20 to 25, or you can set policies to automatically end sessions after a defined number of idle minutes. Here, the end, a disconnected session option, after one minute of idle time locks the screen, but the session remains active.\u0026nbsp; \n -The next control is a time limit that signs the user out, in this case after five minutes, and this frees Cloud PCs up faster for other employees. Additionally, you have options to reprovision Cloud PCs as needed. This is something that you might want to do as you update your Cloud PCs or the underlying Windows image used to provision them.\u0026nbsp; \n -From an existing provisioning policies properties, you can choose to reprovision assigned Cloud PCs immediately and set the percentage of these Cloud PCs that you want to ensure are still available for use as the update rolls out. And coming soon, you’ll also be able to reprovision the Cloud PCs assigned to a provisioning policy on a weekly or monthly schedule at the time you choose. This way you can ensure that your Cloud PCs do not drift from your desired state.\u0026nbsp; \n -So with Windows 365 Frontline, you now have tailored options to choose from for expanding access to Cloud PCs to your entire organization while also optimizing costs. To get started and find out more, check out aka.ms/Windows365Frontline and keep watching Microsoft Mechanics, subscribe, and thanks for watching. \n \u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"11592","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":8,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUtjU1JrQQ?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LTlodktsQw?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUpYNGxDOA?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIyMDM2LUJMOTBNWQ?revision=1\"}"}}],"totalCount":4,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLURqVHpEeA?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLURqVHpEeA?revision=1","title":"Main.png","associationType":"COVER","width":2438,"height":1216,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLVZYUVFmdQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLVZYUVFmdQ?revision=1","title":"1.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLVMwb1ZSbg?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLVMwb1ZSbg?revision=1","title":"2.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLXR5TnBPUw?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLXR5TnBPUw?revision=1","title":"3.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"BlogTopicMessage:message:4330453":{"__typename":"BlogTopicMessage","subject":"Build autonomous SQL databases in Microsoft Fabric","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4330453},"lastPostingActivityTime":"2024-11-23T15:48:53.836-08:00","solved":false},"id":"message:4330453","revisionNum":1,"uid":4330453,"depth":0,"board":{"__ref":"Blog:board:MicrosoftMechanicsBlog"},"author":{"__ref":"User:user:205"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"Spin up SQL databases in seconds with Microsoft Fabric, seamlessly integrating your operational and analytical data across multiple clouds. ","metrics":{"__typename":"MessageMetrics","views":8},"postTime":"2024-11-23T15:48:53.836-08:00","lastPublishTime":"2024-11-23T15:48:53.836-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" Spin up SQL databases in seconds with Microsoft Fabric, seamlessly integrating your operational and analytical data across multiple clouds. Use AI to scale, tune, and secure databases, so you can focus on building powerful, data-rich applications without the manual management overhead. \n Create and host API endpoints directly from your SQL database in one click, enabling seamless interaction with your data using popular frameworks like React. Integrate your database management into your CI/CD pipelines with ease, ensuring high availability and streamlined development processes. \n Anna Hoffman, Principal GPM, SQL database in Microsoft Fabric, joins\u0026nbsp;Jeremy Chapman, Director of Microsoft 365, to show you how to get started. \n Spin up a SQL database in seconds. \n \n Quickly integrate operational and analytical data without needing deep database management skills.\u0026nbsp;Get started with Microsoft Fabric. \n Focus on building your app. \n \n Microsoft Fabric’s AI-powered SQL databases handle security, performance, and availability autonomously.\u0026nbsp;See it here. \n Streamline the development process \u0026amp; enhance data integration. \n \n Microsoft Fabric’s SQL databases enable direct API creation in one click.\u0026nbsp;Check it out. \n Watch our video here. \n \n \u0026nbsp; \n QUICK LINKS: \n 00:00\u0026nbsp;— SQL database in Microsoft Fabric 00:38\u0026nbsp;— A new class of autonomous database 01:44\u0026nbsp;— Spin up a database in seconds 03:09\u0026nbsp;— Use APIs to read and write data 05:00\u0026nbsp;— Integrate into CI/CD pipeline \u0026amp; source control 05:41\u0026nbsp;— Bring in data from across your data estate 06:50\u0026nbsp;— Vector-based semantic search with keyword search 09:03\u0026nbsp;— See a finished app 11:12\u0026nbsp;— Query performance 12:31\u0026nbsp;— Security and control 13:04\u0026nbsp;— Wrap up \n Link References \n Sign up for a free trial at\u0026nbsp;https://aka.ms/SQLinFabric \n Unfamiliar with Microsoft Mechanics? \n As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. \n \n Subscribe to our YouTube:https://www.youtube.com/c/MicrosoftMechanicsSeries \n Talk with other IT Pros, join us on the Microsoft Tech Community:https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog \n Watch or listen from anywhere, subscribe to our podcast:https://microsoftmechanics.libsyn.com/podcast \n \n Keep getting this insider knowledge, join us on social: \n \n Follow us on Twitter:https://twitter.com/MSFTMechanics \n Share knowledge on LinkedIn:https://www.linkedin.com/company/microsoft-mechanics/ \n Enjoy us on Instagram:https://www.instagram.com/msftmechanics/ \n Loosen up with us on TikTok:https://www.tiktok.com/@msftmechanics \n \n \n Video Transcript: \n - What if I told you you can now spin up a SQL database in seconds that is seamlessly connected to operational and analytical data sitting across multiple clouds, has built-in vector support for search, autonomously scales and tunes itself to meet demand, and is integrated with AI for easy querying and troubleshooting? Well, today, we’ll take a closer look at a new class of databases that’s part of Microsoft’s data and analytics platform, Microsoft Fabric, that does just that as you build modern AI apps. And joining me to unpack all this is Anna Hoffman from the SQL Engineering Team, welcome. \n - Thanks for having me on the show, \n - And thanks so much for joining us today. So we have a new class of autonomous database with Microsoft Fabric, so what’s behind all this? \n - It’s really a significant leap forward for databases. Of course, every app needs data and Microsoft Fabric by design makes data more accessible, whether that’s operational or analytical data from across your data estate. Now, anyone using Fabric without being a database or infrastructure expert can add a database that’s automatically integrated with a Fabric platform so you can build more powerful and data-rich apps for analytics. \n - And this is different from current PaaS databases, right? While those can automatically scale, there’s often some bit of manual expertise needed to configure and also tune and optimize the performance of those, right? \n - Right, this is totally different. This new class of database in Fabric is autonomous, and beyond automatic scale, they handle everything from provisioning along with index tuning, applying best practice security controls, automatic updates, and using multiple availability zones by default for high availability, which means there’s less manual burden and you can focus on just building your app. \n - And the first autonomous database here in this case is a SQL relational database. So how easy is it to spin up one of these if you’re a developer? \n - Oh, it’s super easy. One of the standout capabilities of autonomous SQL databases in Fabric is their simplicity. You can spin one up in seconds. This lets you focus on building apps rather than managing a database. Let me show you. I’m in the Fabric home experience where you can see the different workloads in Fabric, which now includes databases, and you’ll see the option for SQL databases. And as we mentioned, SQL is the first database to land in Fabric with more on the way. To create one, I’ll just give it a name, I’ll call this Dev and hit Create, and in seconds, I have a SQL database ready to go. We land in the editor and on the left you can see the familiar Object Explorer. You can see it’s currently empty. To get data, I can create data flows or a pipeline to bring external data in right from here. I can also create shortcuts. This doesn’t move the data, but it gives the ability to query other data sources, like OneLake, and even external source options like Amazon S3 buckets, Azure Data Lake storage and more. And from the quick actions in the center, I can see options to get started quickly. I’m going to start by importing some sample data. Once my sample data is ready, I can expand my tables and you can see the data structure. I can open up my product table to get a data preview and that’s it. \n - Okay, so now you’ve got your database set up. How would you work with that as part of your app? \n - Yeah, of course, you can do this using T-SQL, that’s fully supported. But what can be more powerful and flexible is using APIs to read and write this data. Databases in Fabric are the first to let you directly create and host an API endpoint to your data in one click. Let me show you. Here in the top ribbon, I have some new options to create a new query, access templates, or create a new GraphQL API. I’ll do that, name it api1, and then confirm. Here in Choose data, I can select the tables that I want to be exposed in my API. I can see a preview for the tables I select, then I just select Load and it just takes a moment. It takes me to the GraphQL playground where I can start writing queries. I’m going to paste in a query I wrote before, then go ahead and run it. Now choose to Generate code. This part’s really powerful because this Python code I can use to interact directly from my app. I’m going to go ahead and copy this sample, and from there, I can move over to my dev environment, in this case VS Code, and paste it in, can run it right from here. And in the terminal, you’ll see that it just works and it’s printed the results of my query. So if you work in React or other front end frameworks and are using APIs, as a developer, you don’t need to build intermediary services or install drivers to work with this data. \n - Okay, so it’s a really streamlined dev experience, but from a SQL perspective, is the SQL database that’s in Fabric the same one that we’re used to from a developer’s perspective? \n - Yeah, great question. So this is the exact same SQL server in Azure SQL database engine, it’s familiar, you don’t need to learn anything new. The experience is just more simple and it’s integrated into the whole data and analytics stack. \n - Right, and like you’ve shown, you don’t have to be a SQL database expert to create one right inside of Microsoft Fabric, and you can even generate an API in order to use that with your code. \n - And everything you do can be integrated into your CI/CD pipeline and source control as part of your change management process. Let me show you. From Microsoft Fabric, you can commit changes directly into source control. You can see this task flow shows the solution for our data tier and it’s fully integrated with Git. And I’ll go ahead and select all of my changes and commit them. That will run for a moment, and once it’s complete, these changes are also visible here in my Azure DevOps repo. And this can also work with GitHub too. I’ll head back to Fabric and here I can take advantage of deployment pipelines to move through the release cycle. Here you can see that I’ve added stages to move from Dev to Test to Production. So it’s fully integrated with the DevOps process as you build and maintain your apps. \n - And of course, as you mentioned, one of the great things here and the big advantage is part of Microsoft Fabric, so you can easily bring in your data from across your entire data estate to use it with your app. So how does all of that work? \n - Yeah, so I’ve shown you how you can create databases for your apps. Let me explain how the data then becomes available to others and how you can also consume data more easily across your data estate. First with SQL database and Fabric, all the data is automatically replicated to Delta Parquet format and lands in near real time into OneLake, giving you a source database endpoint and a SQL analytics endpoint. This means that you can use both your source data and replicated data as a way to load balance operational and analytical processes without them impacting each other. And if you’re new to Fabric, OneLake is the central hub where all data across your estate is represented. It can use shortcuts as references to data wherever it lives, so you can use it in place without moving or duplicating data. This makes it easier to analyze and generate insights and reports. Additionally, real-time intelligence brings streaming and operational data in with fresh insights as they’re happening, which can also be used to trigger actions and automated workflows. \n - And with so many developers right now probably watching that are building generative AI apps with retrieval augmented generation, how would something like Microsoft Fabric and the SQL database inside of it support those types of apps? \n - So these types of apps work best with vector-based semantic search together with keyword search. This is so you can retrieve the right information to augment your prompts, and we have built-in vector support, so let me show you an example. Back in Fabric, I can navigate to the files in my Lakehouse, and you can see that I have a lot of product documentation for hybrid and electric vehicles and their parts. These are pretty text-heavy PDFs with a lot of written information. We’re going to use Azure AI services and SQL database in Fabric to build a chat experience for asking questions on this data. First we need to extract and chunk the text and we can do that with Azure Document Intelligence. We can reference the PDFs in the Lakehouse and we use the function begin analyze document to extract the text from the PDF and break it up into chunks. We can clean it up and create a data frame or a table with columns like the file name, chunk ID and text. You can see that the code has gone through all the PDFs, extracted the text and generated chunks with unique IDs. Next, we need to generate embeddings, which are numerical representations of the text segments. We’ll use OpenAI to help us do this. Now you can see for every file and chunk, we have a vector representation. Now that we have embeddings, we can use the new native vector type support in SQL database to store the vectors directly in the database. Here we have a simple program that will essentially generate the embedding for a user search query, and then use the built-in vector distance function to find the most similar chunks of text. Here’s an example where we search for how to replace the oil filter and the most similar file segments are returned. We can further enhance this by leveraging LLMs to make it more conversational with completions. Here a user asked how to replace the oil filter on the CA hybrid utility truck and they ask about the minimum tire load ratings and tire pressures for the CA3 model. The AI is able to segment out the request and gives two sections of results, one with details for oil filter replacement and one with load ratings and tire pressures based on the wheel diameters for the CA3. \n - Okay, so now we’ve seen all the foundational components kind of in code and the Fabric portal, do we have an example maybe of a completed kind of customer-facing production app? \n - Yeah, I do, actually, to go along with our automotive example, I have a web app built out using Microsoft Fabric as the data backend for a vehicle manufacturer and its sales network. So this is our Contoso Automotive website, and you can see right at the top that booking a test drive is a major call to action, so we’re going to walk through that flow. The site also encourages people to sign in to both personalize the experience and make sure that when they return, they can easily pick up where they left off. You can use a Microsoft account or others so that basic data like the username can be queried from the connected account. To find the right vehicle, the questionnaire matches the options to your specific needs. This analysis is also running on the backend in Fabric to find the right model. And using the data, it recommends a personalized tour of the best vehicle match. This car looks great, but you might still have a few questions to ask before committing to a test drive. And you can do this right here using an AI agent for natural language interaction over the app’s knowledge base. You can prompt it with something very specific like, do you offer a vegan leather interior for the CA3? And a question like this could be challenging for a normal keyword search, but because we’re using semantic search with our built-in vector support, it knows that vegan leather is a synthetic material and then responds appropriately. And once you’re ready to schedule a test drive, you can prompt the agent to see if that’s something it can help with. Looks like it can. Let’s continue and ask if it’s okay to do the test drive with a car seat. Looks like that’s okay too. And from here, still using natural language, you can start to arrange a time, like you can see here for something on the weekend. The generated response also includes details about the car, a long range CA3, like we saw before, in the pearl white color and suggests the closest location with a number of available times. Once you confirm the time, the agent confirms, giving you the details for who to meet, and it will send a confirmation email with directions based on your signed in account. And it also creates a customer record with a detailed recap of the interactions along with sentiment and predictions for buying intent and more. \n - Okay, so now we’ve got our app running. Then as it gets more popular, how do I ensure that it’s always performant? \n - Yeah, great question. So SQL database in Fabric scales automatically to meet demand. The other side of this coin is about query performance, and we have you covered there too. For example, here in the performance dashboard, I can see above normal spikes in CPU consumption across my running queries, and I can drill into any of these spikes for more details and lower time granularity. This query on top is consuming the most CPU in this time period, so let’s see what’s behind that. I can see details for its runs over time and the T-SQL query on the right. I’m going to change the time interval to 24 hours so I can take a look at what’s been going on in the past day. Fabric makes it easy for me to then copy this query and open the Query Editor. Here, I’m going to see if Copilot can help me optimize this query. I’m just going to add a comment to the bottom with a simple prompt that says, “Optimize above query.” It tells me an easy to follow language that it recommends a CTE or common table expression to pre-aggregate the data before joining, then select from the CTE to be more efficient. It gives me the new optimized query that I can verify and use to rewrite my original query. So I can get actionable recommendations from Copilot to make these types of improvements pretty easily. \n - I’ve got to say that coding, scripting and querying are some of the best applications at the moment for generative AI. And this is really a simplified provisioning and developer experience then for databases, but sometimes these things can come at the cost of things like security or control. \n - Well, Microsoft Fabric is built with security in mind. Access management and compliance really is at its core. Identity and access management is controlled via Microsoft Intra. You also have full role-based options for any people or entity working directly with Fabric. Additionally, Fabric is deeply integrated with data security and compliance tools in Microsoft Purview where it supports sensitivity labels, as well as the protection policies you set across your data estate. \n - So now you’ve got everything that you need to build robust data services for your apps, with all the controls that you need to manage it, and as a developer, you can just focus on your code. So what do you recommend for the people who are watching right now to learn more? \n - So this one is easy, go try it out. SQL database in Fabric is in public preview today. And to learn more, you can just go to aka.ms/SQLinFabric and sign up for a free trial. \n - Thanks so much for joining us today, Anna. And of course, to stay up to date with the latest tech, be sure to subscribe to Microsoft Mechanics, and as always, thank you for watching. ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"18094","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":13,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLURqVHpEeA?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLVZYUVFmdQ?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLVMwb1ZSbg?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLXR5TnBPUw?revision=1\"}"}}],"totalCount":4,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwNDUzLURqVHpEeA?revision=1"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LUZiOGs3YQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LUZiOGs3YQ?revision=1","title":"Main.png","associationType":"BODY","width":2480,"height":1190,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LVB4enYwTw?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LVB4enYwTw?revision=1","title":"1.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LTBuZzJTcA?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LTBuZzJTcA?revision=1","title":"2.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LXFQNVBIaA?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LXFQNVBIaA?revision=1","title":"3.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"BlogTopicMessage:message:4329785":{"__typename":"BlogTopicMessage","subject":"Data Security Posture Management (DSPM), new to Microsoft Purview","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4329785},"lastPostingActivityTime":"2024-11-23T15:47:49.998-08:00","solved":false},"id":"message:4329785","revisionNum":1,"uid":4329785,"depth":0,"board":{"__ref":"Blog:board:MicrosoftMechanicsBlog"},"author":{"__ref":"User:user:205"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"","metrics":{"__typename":"MessageMetrics","views":8},"postTime":"2024-11-23T15:47:49.998-08:00","lastPublishTime":"2024-11-23T15:47:49.998-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" Stay ahead of evolving risks and mitigate vulnerabilities with Microsoft Purview Data Security Posture Management (DSPM). Gain prioritized visibility into data security risks, track unprotected sensitive information, and receive actionable insights. With built-in classifiers, automated risk assessments, and AI-powered capabilities like Security Copilot, you can identify and mitigate threats, ensuring a compliant data security environment. \n \n Talhah Mir, Microsoft Purview’s Principal Group Product Manager, shows how to transform your data security strategy with automated, intelligent risk management and maintain continuous protection across your organization. \n Stay ahead of evolving risks and mitigate vulnerabilities.\u0026nbsp; \n \n See how to manage your data security posture with Microsoft Purview DSPM. \n Automatically scan your organization’s data for security gaps with built-in classifiers. \n \n Get quick, actionable insights with Microsoft Purview DSPM. \n Uncover risks associated with generative AI apps. \n \n Leverage Microsoft Purview and Security Copilot to ensure your organization’s data remains secure. \n Watch our video here: \n \n QUICK LINKS: 00:00 — Build and maintain a strong data security posture\u0026nbsp; 01:25 — Start in Microsoft Purview Portal\u0026nbsp; 02:14 — Microsoft Purview solutions\u0026nbsp; 03:39 — Analytic reports\u0026nbsp; 04:39 — Take action\u0026nbsp; 05:30 — AI app-focused view\u0026nbsp; 06:13 — View trends\u0026nbsp; 06:59 — Add Security Copilot capabilities\u0026nbsp; 09:37 — Wrap up \n Link References \n Get started at https://aka.ms/DSPM \n Unfamiliar with Microsoft Mechanics? \n As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. \n \n Subscribe to our YouTube: https://www.youtube.com/c/MicrosoftMechanicsSeries \n Talk with other IT Pros, join us on the Microsoft Tech Community: https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog \n Watch or listen from anywhere, subscribe to our podcast: https://microsoftmechanics.libsyn.com/podcast \n \n Keep getting this insider knowledge, join us on\u0026nbsp;social: \n \n Follow us on Twitter: https://twitter.com/MSFTMechanics \n Share knowledge on LinkedIn: https://www.linkedin.com/company/microsoft-mechanics/ \n Enjoy us on Instagram: https://www.instagram.com/msftmechanics/ \n Loosen up with us on TikTok: https://www.tiktok.com/@msftmechanics \n \n Video Transcript: \n -Do you have a good handle on the data security risks like data leaks and data theft in your organization? Building and maintaining your data security posture is hard. Every day, people are creating information, and they’re sharing it both inside and outside of the organization.\u0026nbsp; \n -They may not necessarily be protecting that information consistently, if at all, or there may be policy gaps in the types of information protected, and even where protections are in place, users might downgrade them to more easily share and collaborate, or they may be pasting sensitive information into non-sanctioned AI tools to speed up their productivity. The volume of data and the level of activity around it is hard to get a handle on, and this is where Microsoft Purview Data Security Posture Management, or DSPM comes in.\u0026nbsp; \n -It gives you prioritized visibility into the data security risks impacting your organization’s data so that you can quickly focus your efforts, and provides a centralized place to continually measure the effectiveness of your data security policies. This also includes surfacing data security risks based on the use of Gen AI apps in your organization, and with built-in Security Copilot integration, I’ll show you how you can effortlessly investigate and uncover risks that might not be immediately apparent.\u0026nbsp; \n -And the good news is that you can use Microsoft Purview Data Security Posture Management, even if you haven’t configured a single policy in Microsoft Purview or are starting from scratch. Getting started is easy. From the Microsoft Purview portal, you’ll navigate to Data Security Posture Management, then just turn it on, and once you confirm, it will automate the data security risk assessment of your tenant. Under the covers, it uses Microsoft Purview’s built-in classifiers to scan for sensitive information types and leverage other built-in analytics to look for unprotected data and the actions being taken on it.\u0026nbsp; \n -And after one to three days, depending on the size of your tenant, you’ll see a populated dashboard with a detailed report on your unprotected sensitive information along with where it resides, and top-line insights into activities happening with the data with a detailed report.\u0026nbsp; \n -Then to help you mitigate top data security risks in your tenant, we give you policy recommendations for implementing protective controls. And this assessment gets even richer if you’re using Microsoft Purview’s best-in-class solutions across areas like Data Loss Prevention to ensure you’re preventing data risks as sensitive information is created and moves inside and outside of your environment.\u0026nbsp; \n -Information Protection to make sure that content is labeled and classified as a means to discover and trigger the right protections, or Insider Risk Management to catch data risk based on the activities and intent of employees using established user risk levels. All these are solutions that you have access to if you have Microsoft 365 E5 today, and when you use them, those signals will also flow into Data Security Posture Management.\u0026nbsp; \n -This includes all logged activities and any configurations you may have set. DSPM takes those signals and connects the dots across where information is stored, how it’s being moved, even who is moving it, and their level of user risk, which means everyone, especially your data security analysts, can have a common and holistic perspective on your organization’s data security risks, and together, you can continually measure the effectiveness of your data security policies.\u0026nbsp; \n -So, it removes people and tool silos where you may have different domain experts using these different solutions, and it prevents gaps in your overall data security posture management strategy.\u0026nbsp; \n -And as you manage your data security risks daily, it’s the one place to start your day. Here, I’m able to see available analytic reports of where my unprotected sensitive data resides, and the top risky activity types, like exfiltration. This is a correlated view against users with elevated risk levels, because they are either departing, disgruntled, potentially high-impact users, like your executive staff or global admins, high risk based on user risk thresholds, or more.\u0026nbsp; \n -So, I can get a firm gauge on what data’s unprotected and at risk, where it resides, how the sensitive data is being moved, and the risk level of users interacting with it. In fact, let’s open the data risk report for unprotected sensitive data, and I can see the total count of files that have no protections and where they reside. This is broken down further by their classifiers, which are sensitive information types, how many items are not labeled at all, and where content may be labeled but has no corresponding protection, which is why the two counts can be different from one another.\u0026nbsp; \n -Now we know where the data sits, let’s go back to the dashboard to look at how people may be interacting with the data and potentially placing it at risk. And I can dig into the details for users performing risky activities on unprotected sensitive data and see a complete breakdown of the user activity types along with sensitive data types, the risk levels of users, and the totals. And again, I can use all this to review and identify opportunities to fine-tune my policies.\u0026nbsp; \n -In fact, back on the dashboard, there are two data-driven recommendations as actions for me to take, and to take action, I’ll view the recommendations for prevent sequential activities that might leak sensitive data, and quick policy setup helps me implement an Insider Risk Management and Data Loss Prevention policy right from here. I have the option to customize, but since I agree with the defaults, I can create this with one click. As I mentioned, DSPM also gives you an AI app-focused view of your data security posture.\u0026nbsp; \n -I can see top-level AI app usage insights from the dashboard view and drill into additional details in the DSPM for AI dashboard in the Activity Explorer view, which is focused on AI app activities, and I can head over to the DSPM for AI reports to see even more, including details for activities with breakdown by app type, how sensitive data is being used across different AI experiences, and user activities with AI apps pivoted on their insider risk levels. So, DSPM for AI gives you broad visibility into how people are using generative AI apps in your organization.\u0026nbsp; \n -That said, now that I have a bit of history with our data, we can look at the trends in our DSPM view. In the top-level report, I can see details for percentage of documents that are getting labeled either manually or using auto labeling policies. Then I have a view of sensitive assets covered by at least one DLP policy, like the one I created before with our quick policy. And finally, a view of the risk levels for users in the organization and how that’s trending over time.\u0026nbsp; \n -So, there’s evidence that our data security posture is increasing based on the number of labels applied and DLP policy matches. The nice thing here is that you can see org-wide trends. For example, we implemented an auto-labeling policy that impacted a lot of files, and we also see that the medium risk user count also went up. So, what’s happened? These are great aggregate views, but I want more specificity. That’s where we can add Security Copilot capabilities to drill down into the reasons for some of these trends, why they’re happening, and get more details from each.\u0026nbsp; \n -When you add Security Copilot to Microsoft Purview, it adds additional capabilities to DSPM, as you can see on the top. These give you starter prompts to prioritize alerts, detect sensitive data leaks, find devices at risk and risky activity. I’m going to in fact, start an investigation with Copilot to hunt for sensitive data leaks. That will open up the Copilot panel and start generating a response for what it finds. Here are three sensitive files.\u0026nbsp; \n -Then, under the generated response for these additional suggested prompts, it guides me through the recommended path for investigation. So, I’ll keep going and click on this one to find out the data labels for these files, and it gives me the file names and their corresponding labels. I know that Project Obsidian is a highly confidential project, and the acquisition plans and resumes also contain sensitive information. The last two were detected based on our trainable classifiers in Microsoft Purview.\u0026nbsp; \n -Then it also gives me more suggested prompts to continue my investigation, to find out the activities for files containing Project Obsidian, who accessed these files, and the activities involving sensitive data from the last week. I’m curious if the labels for Project Obsidian in particular were downgraded, and of course, at any time, I can also enter my own prompt here as well. So, I’ll do that and prompt it to provide a list of all label downgrade and exfiltration activities on files with Project Obsidian info.\u0026nbsp; \n -And using this session’s context with previous prompts and responses, it finds and presents me with insights about what’s happened. It looks like in the last 30 days with these sensitive Project Obsidian files, first labels were downgraded, which would then have enabled them to be shared externally in order to work around the DLP policies we have in place.\u0026nbsp; \n -On the left, it suggests that I configure an adaptive protection policy to detect these types of obfuscation techniques. And from here I can ask Copilot, How can an adaptive protection policy prevent this from happening in the future? It looks like this will help protect us against these types of risks by dynamically adjusting policies based on user risk levels. So, I’ll take the recommended action, and I can turn adaptive protection on in just two clicks right from here. And that’s just one example.\u0026nbsp; \n -With Copilot, we can uncover insights from many dimensions of activities, files, devices, users, departments, or regions to supercharge the information you can find quickly, so that you can manage your security posture effectively. Data Security Posture Management is currently rolling out in preview. To find out more and get started, check out aka.ms/DSPM. Subscribe to Mechanics for the latest updates, and thank you for watching. \n \u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"12917","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":8,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LUZiOGs3YQ?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LVB4enYwTw?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LTBuZzJTcA?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzI5Nzg1LXFQNVBIaA?revision=1\"}"}}],"totalCount":4,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LURMcXIybA?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LURMcXIybA?revision=1","title":"Main.png","associationType":"COVER","width":2362,"height":1156,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LWc5aUMwYQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LWc5aUMwYQ?revision=1","title":"1.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LWh6anpYbQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LWh6anpYbQ?revision=1","title":"2.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LUVOQkdHbQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LUVOQkdHbQ?revision=1","title":"3.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"BlogTopicMessage:message:4321109":{"__typename":"BlogTopicMessage","subject":"Oversharing Control at Enterprise Scale | Updates for Microsoft 365 Copilot in Microsoft Purview","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4321109},"lastPostingActivityTime":"2024-11-23T15:43:45.436-08:00","solved":false},"id":"message:4321109","revisionNum":1,"uid":4321109,"depth":0,"board":{"__ref":"Blog:board:MicrosoftMechanicsBlog"},"author":{"__ref":"User:user:205"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"Minimize risks that come with oversharing and potential data loss. ","metrics":{"__typename":"MessageMetrics","views":6},"postTime":"2024-11-23T15:43:45.436-08:00","lastPublishTime":"2024-11-23T15:43:45.436-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" Minimize risks that come with oversharing and potential data loss. Use Microsoft Purview and its new Data Security Posture Management (DSPM) for AI insights, along with new Data Loss Prevention policies for Microsoft 365 Copilot, and SharePoint Advanced Management, which is now included with Microsoft 365 Copilot. Automate site access reviews at scale and add controls to restrict access to sites if they contain highly sensitive information. \n \u0026nbsp; \n Erica Toelle, Microsoft Purview Senior PM, shows how to control data visibility, automate site access reviews, and fine-tune permissions with Pilot, Deploy, Optimize phases. \n Protect your data from unwanted exposure. \n \n Find and secure high-risk SharePoint sites with Microsoft Purview’s oversharing report.\u0026nbsp;Start here. \n Secure Microsoft 365 Copilot adoption at scale. \n \n Check out the Pilot-Deploy-Optimize approach, to align AI use with your organization’s data governance.\u0026nbsp;Watch here. \n Boost security, compliance, and governance. \n \n Scoped DLP policies enable Microsoft 365 Copilot to respect data labels.\u0026nbsp;Take a look. \n Watch our video here. \n \n QUICK LINKS: \n 00:00\u0026nbsp;— Minimize risk of oversharing 01:24\u0026nbsp;— Oversharing scenarios 04:03\u0026nbsp;— How oversharing can occur 05:38\u0026nbsp;— Restrict discovery \u0026amp; limit access 06:36\u0026nbsp;— Scope sites 07:15\u0026nbsp;— Pilot phase 08:16\u0026nbsp;— Deploy phase 09:17\u0026nbsp;— Site access reviews 10:00\u0026nbsp;— Optimize phase 10:54\u0026nbsp;— Wrap up \n Link References \n Check out\u0026nbsp;https://aka.ms/DeployM365Copilot \n Watch our show on the basics of oversharing at\u0026nbsp;https://aka.ms/SMBoversharing \n Unfamiliar with Microsoft Mechanics? \n As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. \n \n Subscribe to our YouTube:https://www.youtube.com/c/MicrosoftMechanicsSeries \n Talk with other IT Pros, join us on the Microsoft Tech Community:https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog \n Watch or listen from anywhere, subscribe to our podcast:https://microsoftmechanics.libsyn.com/podcast \n \n Keep getting this insider knowledge, join us on social: \n \n Follow us on Twitter:https://twitter.com/MSFTMechanics \n Share knowledge on LinkedIn:https://www.linkedin.com/company/microsoft-mechanics/ \n Enjoy us on Instagram:https://www.instagram.com/msftmechanics/ \n Loosen up with us on TikTok:https://www.tiktok.com/@msftmechanics \n \n \n Video Transcript: \n -Are you looking to deploy Microsoft 365 Copilot at scale, but concerned that your information is overshared? Ultimately, you want to ensure that your users and teams can only get to the data required to do their jobs and nothing more. For example, while using Microsoft 365 Copilot and interacting with work data, you don’t want information surfaced that users should not have permissions to view. So, where do you even start to solve for this? You might have hundreds or thousands of SharePoint sites to assess and right-size information access. Additionally, knowing where your sensitive or high value information resides and making sure that the policies you set to protect information continuously and avoid returning to an oversharing state, can come with challenges. \n -The good news is there are a number of updated tools and resources available to help you get a handle on all this. In the next few minutes, I’ll unpack the approach you can take to help you minimize the risks that come with oversharing and potential data loss using Microsoft Purview and its new Data Security Posture Management for AI insights, along with new Data Loss Prevention policies for Microsoft 365 Copilot and more. And SharePoint Advance Management, which is now included with Microsoft 365 Copilot. This helps you automate site access reviews at scale and adds controls to restrict access to sites even if they contain highly sensitive information. First, let’s look at how information oversharing can inadvertently occur just as it would with everyday search when using Microsoft 365 Copilot. \n -I’ll explain how it works. When you submit a prompt before presenting that to a large language model, the prompt is interpreted by Copilot and using a process called Retrieval Augmented Generation it then finds and retrieves grounding information that you are allowed to access in places like SharePoint, OneDrive, Microsoft Teams, your email and calendar, and optionally the internet, as well as other connected data sources. The retrieved information is appended to your prompt as additional context. Then that larger prompt is presented to the large language model. With that added grounding information, the response is generated then formatted for the app that you’re using. For this to work well, that information retrieval step relies on accurate search. And what’s important here is as you use Copilot it can only retrieve information that you explicitly have access to and nothing else. This is how search works in Microsoft 365 and SharePoint. The controls you put in place to achieve just enough access will reduce data security risk, whether you intend to use Microsoft 365 Copilot or not. \n -So, let me show you a few examples you may have experienced where content is overshared. I’ll start in Business Chat. I’m logged in is Adele Vance from the sales team. Her customers are pressuring her for information about new products that haven’t been internally or externally announced. She submits a prompt for 2025 product plans and the response returns a few clearly sensitive documents that she shouldn’t have access to, and the links in the response and in the citations take Adele right to those files. \n -Now, I’m going to switch perspectives to someone on the product planning team building the confidential plan stored in a private SharePoint site. I’m working on the 2025 product plan on a small team. This is the same doc that Adele just found in Business Chat, and if you look at the top of the document right now, there was one other person who I expect in the document. Then suddenly a few more people appear to have the document open and I don’t know who these people are and they shouldn’t be here. So, this file is definitely overshared. \n -Now, I’m going to switch back to Adele’s perspective as beyond the product planning doc. The response also describes a new project with the code name Thunderbolt. So, I’ll choose the Copilot recommended prompt to provide more details about Project Thunderbolt, and we can see a couple of recent documents with information that I as Adele should not have access to as a member of the sales team. In fact, if I open the file, I can get right to the detailed specifications and pricing information. \n -Now, let’s dig into the potential reasons why this is happening, and then I’ll cover how you discover and correct these conditions at enterprise scale. First, privacy settings for SharePoint sites can be set to public or private. These settings are most commonly configured as sites are created. Often sites are set to public, which means anyone in your organization can find content contained within those sites, and by extension, so can Microsoft 365 Copilot. \n -Next, is setting the default sharing option to everyone in an organization. One common misperception here is just by creating the link, you’re enabling access to that file, folder, or site automatically. That’s not how these links work though. Once a sharing link is redeemed or clicked on by the recipient, that person will have access to and be able to search for the shared content. There are, however, sharing approaches, which auto-redeem sharing links, such as pasting the link into an email and sending that to lots of people. In that case, those recipients have access to the content and will be able to search for it immediately. \n -Related to this is granting permissions to the everyone except external users group, as you define membership for your SharePoint sites. This group gives everyone in your organization access and the ability to search for that information too. And you’ll also want to look into permissions granted to other large and inclusive groups, which are often maintained using dynamic group membership. And if you’re using Data Loss Prevention, information protection, or other classification controls from Microsoft Purview, labeled content can also trigger sharing restrictions. \n -So, let’s move on to addressing these common issues and the controls you will use in Microsoft 365, Microsoft Purview, and SharePoint Advance Management. At a high level, there are two primary ways to implement protections. The first approach is to restrict content discovery so that information doesn’t appear in search. Restricting discovery still allows users to access content they’ve previously accessed as well as the content shared with them. The downsides are that content people should not have access to is still accessible, and importantly, Copilot cannot work with restricted content even if it’s core to a person’s job. So, we recommend restricting content discovery as a short-term solution. \n -The second approach is to limit information access by tightening permissions on sites, folders, and individual files. This option has stronger protections against data loss and users can still request access, if they need it to do their jobs. Meaning only people who need access have access. We recommend limiting access as an ongoing best practice. Then to scope the sites that you want to allow and protect, we provide a few options to help you know where to start. First, you can use the SharePoint Active sites list where you can sort by activity to discover which SharePoint sites should be universally accessible for all employees in your organization. Then as part of the new Data Security Posture Management for AI reporting in Microsoft Purview, the oversharing report lets you easily find the sites with higher risk containing the most sensitive information that you want to protect. The sites you define to allow access and limit access will be used in later steps. Now, let’s move on to the steps for repairing your data from Microsoft 365 Copilot. We’ve mapped best practices and tools for Copilot adoption across Pilot, Deploy, and Optimize phases. \n -First, in the Pilot phase, we recommend organization-wide controls to easily restrict discovery when using Copilot. This means taking your list of universally accessible sites previously mentioned, then using a capability called Restricted SharePoint search, where you can create and allow list of up to 100 sites, then allow just those sites to be used with search in Copilot. Then in parallel in Microsoft Purview, we’ll configure ways to get visibility into Copilot usage patterns where you can enable audit mode using Data Loss Prevention policies to detect sharing of labeled or unlabeled sensitive content. And likewise, you’ll enable analysis of Copilot interactions as a part of communication compliance. Again, these approaches do not impact information access only discoverability via Copilot and search. \n -Now, let’s move on to the broader Deploy phase where you will enable Copilot for more users. Here you’ll use the list of identified sites from Microsoft Purview’s oversharing report to identify sites with the most sensitive information. Controls in Microsoft Purview provide proactive information protection with sensitivity labels for your files, emails, meetings, groups, and sites. For each item, you can use more targeted controls to right-size site access by assigning permissions to specific users and groups. And when applied, these controls on the backend will move public sites to private and control access to defined site members based on the permissions you set. Next, you can enable new Data Loss Prevention from Microsoft 365 Copilot policies to exclude specific labels from Copilot prompts and responses. And you can change your DLP policies from the audit mode that you set during the Pilot phase to start blocking unnecessary sharing of labeled content where you’ll now turn on the policies in order to enforce them. \n -Then, two options from SharePoint Advance Management are to use restricted access control to limit access to individual sites. That way only members in defined security groups will have access, and to limit site access by operationalizing site owner access reviews. Then as an additional fine-tuning option, you can target restricted content discovery on individual sites, like you see here with our leadership site to prevent Copilot from using their content as you continue to work through access management controls. And as part of the Deploy phase, you’ll disable restricted SharePoint search once you have the right controls in place. Together, these options will impact both access permissions, as well as discovery via Copilot and search. \n -Next, the final Optimize phase is about setting your organization up for the long term. This includes permissioning, information classifications, and data lifecycle management. Here you’ll continually monitor your data security risks using oversharing reports. Then implement auto-labeling and classification strategies using Microsoft Purview, and ensure that as new sites are created, site owners and automated provisioning respect access management principles. These processes help ensure that your organization doesn’t drift back into an oversharing state to keep your data protected and ongoing permissions in check. Now, if we switch back to our initial user examples in Business Chat with our controls in place, if we try the same prompts as before, you’ll see that Adele can no longer access sensitive information, even if she knows exactly what to look for in her prompts. The data is now protected and access has been right-sized for everyone in the organization. \n -So, those are the steps and tools to prepare your information from Microsoft 365 Copilot at enterprise scale, and help ensure that your data is protected and that everyone has just enough access to do their jobs. To learn more, check out aka.ms/DeployM365Copilot. Also, watch our recent show on the basics of oversharing at aka.ms/SMBoversharing for more tips to rightsize permissions for SharePoint site owners. Keep watching Microsoft Mechanics for the latest updates and thanks for watching. \n \u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"14453","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:copilot","text":"copilot","time":"2022-11-17T00:00:00.032-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:microsoft 365 copilot","text":"microsoft 365 copilot","time":"2023-05-16T10:21:49.928-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:microsoft purview","text":"microsoft purview","time":"2022-04-19T12:58:21.434-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":9,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LURMcXIybA?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LWc5aUMwYQ?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LWh6anpYbQ?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LUVOQkdHbQ?revision=1\"}"}}],"totalCount":4,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxMTA5LURMcXIybA?revision=1"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Category:category:RegionalBlogs":{"__typename":"Category","id":"category:RegionalBlogs","displayId":"RegionalBlogs"},"Blog:board:DesenvolvedoresBR":{"__typename":"Blog","id":"board:DesenvolvedoresBR","displayId":"DesenvolvedoresBR","nodeType":"board","conversationStyle":"BLOG","title":"Desenvolvedores BR","shortTitle":"Desenvolvedores BR","parent":{"__ref":"Category:category:RegionalBlogs"}},"User:user:1171673":{"__typename":"User","uid":1171673,"login":"wdossantos","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0xMTcxNjczLTMyNTM2MGkwNjkyMDE1OTQ0RkQ5MTM0"},"id":"user:1171673"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTRicnlvOA?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTRicnlvOA?revision=9","title":"Designer.jpg","associationType":"COVER","width":1024,"height":1024,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg1NmlFRDdDQzY4QkZCMzBDM0U3?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg1NmlFRDdDQzY4QkZCMzBDM0U3?revision=9","title":"autosacle.jpg","associationType":"TEASER","width":1024,"height":1024,"altText":"autosacle.jpg"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2MGk4QTJCMzYyNTg3N0NBQTIw?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2MGk4QTJCMzYyNTg3N0NBQTIw?revision=9","title":"wdossantos_0-1723838920377.png","associationType":"BODY","width":875,"height":220,"altText":"Detalhes da configuração HPA"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2MmkyNjM0MDMzMTg0RUQ4NDND?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2MmkyNjM0MDMzMTg0RUQ4NDND?revision=9","title":"wdossantos_1-1723839069849.png","associationType":"BODY","width":840,"height":72,"altText":"kubectl get hpa -n aspnet"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2NGlDQzdFNjVFMzQyOENCODgw?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2NGlDQzdFNjVFMzQyOENCODgw?revision=9","title":"wdossantos_2-1723839137294.png","associationType":"BODY","width":757,"height":68,"altText":"kubectl get hpa -n aspnet"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2N2kwODkxMEVDQ0IwNzAzQzNC?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2N2kwODkxMEVDQ0IwNzAzQzNC?revision=9","title":"wdossantos_3-1723839215782.png","associationType":"BODY","width":875,"height":75,"altText":"kubectl get hpa -n aspnet"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2OGlFRDU2NDZCQzBGMjNGQUI2?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2OGlFRDU2NDZCQzBGMjNGQUI2?revision=9","title":"wdossantos_4-1723839268489.png","associationType":"BODY","width":797,"height":73,"altText":"kubectl get hpa -n aspnet"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2OWk5NDE4RERBN0Y1RUYxM0ZD?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2OWk5NDE4RERBN0Y1RUYxM0ZD?revision=9","title":"wdossantos_5-1723839392557.png","associationType":"BODY","width":870,"height":63,"altText":"kubectl get hpa -n aspnet"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3MGk1RjNCMzJBQTBFQ0IwQjAy?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3MGk1RjNCMzJBQTBFQ0IwQjAy?revision=9","title":"wdossantos_6-1723839442046.png","associationType":"BODY","width":875,"height":66,"altText":"kubectl get hpa -n aspnet"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3MmlCOTZCNzNGODM1MTgyREI2?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3MmlCOTZCNzNGODM1MTgyREI2?revision=9","title":"wdossantos_7-1723839699558.png","associationType":"BODY","width":800,"height":232,"altText":"kubectl get hpa -n aspnet -w"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3M2k1QTFFMjU0MDJENjAyRUZE?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3M2k1QTFFMjU0MDJENjAyRUZE?revision=9","title":"wdossantos_8-1723839734508.png","associationType":"BODY","width":849,"height":572,"altText":"kubectl get hpa -n aspnet -w"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3NWkwNzM5RDdEMzE2QjVBN0M2?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3NWkwNzM5RDdEMzE2QjVBN0M2?revision=9","title":"wdossantos_9-1723839846746.png","associationType":"BODY","width":800,"height":726,"altText":"kubectl get hpa -n aspnet -w"},"BlogTopicMessage:message:4221166":{"__typename":"BlogTopicMessage","subject":"Escalando Nodes e Pods no AKS","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4221166},"lastPostingActivityTime":"2024-11-23T08:21:52.810-08:00","solved":false},"id":"message:4221166","revisionNum":9,"uid":4221166,"depth":0,"board":{"__ref":"Blog:board:DesenvolvedoresBR"},"author":{"__ref":"User:user:1171673"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" Escalar nodes refere-se ao aumento ou diminuição da quantidade de nós (VMs) em execução no cluster do AKS. Ao escalar os nodes, você adiciona mais capacidade de computação, memória e armazenamento ao seu clu \n \n ster, o que ajuda a lidar com picos de tráfego ou carga de trabalho. ","introduction":"Escalar nodes e escalar pods são dois conceitos distintos no contexto do AKS (Azure Kubernetes Service).","metrics":{"__typename":"MessageMetrics","views":42},"postTime":"2024-11-23T08:21:52.810-08:00","lastPublishTime":"2024-11-23T08:21:52.810-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" \n Escalando Nodes e Pods no AKS \n \u0026nbsp;Escalar nodes e escalar pods são dois conceitos distintos no contexto do AKS (Azure Kubernetes Service). \n \n Escalar nodes refere-se ao aumento ou diminuição da quantidade de nós (VMs) em execução no cluster do AKS. Ao escalar os nodes, você adiciona mais capacidade de computação, memória e armazenamento ao seu cluster, o que ajuda a lidar com picos de tráfego ou carga de trabalho. \n Por outro lado, escalar pods refere-se ao aumento ou diminuição da quantidade de instâncias de um pod específico em execução no cluster do AKS. Isso auxilia no gerenciamento de picos de tráfego ou demanda por recursos específicos, como CPU ou memória. \n Para escalar manualmente os nodes no AKS, você pode utilizar o comando ‘az aks scale’. Por exemplo, para escalar o cluster para 3 nodes, execute o seguinte comando: \n az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3 \n \n \u0026nbsp; \n \n Os dimensionadores automáticos de cluster e de pod horizontal podem operar em conjunto e geralmente são implantados em um cluster. Quando combinados, o dimensionador automático de pod horizontal foca na execução do número de pods necessário para atender à demanda do aplicativo. Já o dimensionador automático de cluster concentra-se na execução do número de nós necessários para dar suporte aos pods agendados. \n \u0026nbsp; \n \n O dimensionamento manual é desabilitado quando o dimensionador automático de cluster é usado. Deixe o dimensionador automático de cluster determinar o número de nós necessários. Caso deseje dimensionar o cluster manualmente,\u0026nbsp;desabilite o dimensionador automático de cluster. \n \n \n Habilitar o dimensionador automático em um cluster existente \n az aks update \\ --resource-group myResourceGroup \\ --name myAKSCluster \\ --enable-cluster-autoscaler \\ --min-count 1 \\ --max-count 3 \n \u0026nbsp; \n \n Desabilitar o dimensionador automático de cluster em um cluster \n \n \n \u0026nbsp; \n az aks update \\ --resource-group myResourceGroup \\ --name myAKSCluster \\ --disable-cluster-autoscaler \n \n \n Mostrar configuração do profile padrão \n az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles \n \n \u0026nbsp; \n \n Você pode configurar detalhes mais granulares do autoscaler de cluster alterando os valores padrão no perfil. \n \u0026nbsp; \n \n Escalar pods (HPA) \n \u0026nbsp; \n \n Para escalar os pods no AKS, você pode usar a horizontal pod autoscaler (HPA) do Kubernetes. A HPA ajusta automaticamente o número de pods com base na utilização de recursos. Você pode configurar a HPA usando um arquivo YAML, que especifica a regra para aumentar ou diminuir o número de pods. Por exemplo, você pode definir uma regra para aumentar o número de pods em 1 sempre que a utilização de CPU de um pod ultrapassar 80%. Aqui está um exemplo de arquivo YAML para configurar a HPA: \n \u0026nbsp; \n apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name: my-hpa spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: my-deployment minReplicas: 1 maxReplicas: 10 metrics: - type: Resource resource: name: cpu targetAverageUtilization: 80 \n \u0026nbsp; \n \u0026nbsp; \n \n Esse arquivo YAML especifica que a HPA deve ajustar o número de pods para um deployment chamado\u0026nbsp; my-deployment , aumentando ou diminuindo a quantidade de pods para manter a utilização média de CPU em 80%. Além disso, o número mínimo de pods é definido como 1 e o número máximo como 10. \n \n Mas quando eu devo usar o KEDA no lugar do HPA ? \n \u0026nbsp; \n \n O KEDA (Kubernetes-based Event-Driven Autoscaling) é uma ferramenta de escala automática para cargas de trabalho de eventos baseada em Kubernetes. O KEDA estende o recurso de escala automática do Kubernetes e permite a escala com base em eventos, em vez de apenas na utilização de recursos. \n Embora o HPA do Kubernetes seja capaz de escalar horizontalmente com base na utilização de recursos, ele não é projetado para escalar automaticamente as cargas de trabalho baseadas em eventos. O KEDA, por outro lado, é projetado especificamente para escalar cargas de trabalho baseadas em eventos, como filas de mensagens, stream de eventos e cronjobs. \n Se sua carga de trabalho envolve eventos que acionam a criação de novas instâncias de pods ou ajustes no número de réplicas em tempo real, o KEDA pode ser uma opção melhor do que o HPA do Kubernetes quando o gatilho para a escala é uma fila por exemplo. \n \n Para configurar o HPA (Horizontal Pod Autoscaler) no AKS \n \u0026nbsp; \n \n Para configurar o HPA (Horizontal Pod Autoscaler) no AKS (Azure Kubernetes Service) do zero, você pode seguir os seguintes passos: \n \n Certifique-se de ter uma conta do Azure e um cluster do AKS criados. \n Instale o kubectl em sua máquina local e configure-o para acessar seu cluster do AKS. \n Crie um deployment no cluster do AKS: \n kubectl create deployment \u0026lt;deployment-name\u0026gt; --image=\u0026lt;container-image\u0026gt; \n Verifique se o deployment foi criado corretamente: \n kubectl get deployments \n Crie um serviço para expor o deployment: \n kubectl expose deployment \u0026lt;deployment-name\u0026gt; --port=\u0026lt;port-number\u0026gt; --type=LoadBalancer \n Verifique se o serviço foi criado corretamente: \n kubectl get services \n Crie um HPA para o deployment: \n kubectl autoscale deployment \u0026lt;deployment-name\u0026gt; --cpu-percent=\u0026lt;cpu-percent\u0026gt; --min=\u0026lt;min-replicas\u0026gt; --max=\u0026lt;max-replicas\u0026gt; \n Substitua\u0026nbsp; \u0026lt;cpu-percent\u0026gt; ,\u0026nbsp; \u0026lt;min-replicas\u0026gt; \u0026nbsp;e\u0026nbsp; \u0026lt;max-replicas\u0026gt; \u0026nbsp;pelos valores desejados. \n Verifique se o HPA foi criado corretamente: \n kubectl get hpa \n \n \n Demo aplicação\u0026nbsp;aspnet \n \u0026nbsp; \n \n Vamos utilizar a imagem de uma aplicação dotnet simples. O objetivo é testar diferentes configurações de HPA para os cenários de aumento de escala (Scale Up) e redução de escala (Scale Down). \n \u0026nbsp; \n Primeiro passo vamos connecter nos cluster \n az aks get-credentials --resource-group AKS_BLOG --name ask_poc_hpa \n \u0026nbsp; \n \n Vamos criar uma Namespace \n kubectl create namespace aspnet \n \u0026nbsp; \n \u0026nbsp; \n \n Criando um manifesto de deploy \n kubectl create deploy aspnetapp --image=mcr.microsoft.com/dotnet/samples:aspnetapp --dry-run=client -o yaml \u0026gt; samples-aspnetapp-deploy.yaml \n \u0026nbsp; \n \n o seguinte arquivo será gerado \n \n \u0026nbsp; \n \n apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: aspnetapp name: aspnetapp spec: replicas: 1 selector: matchLabels: app: aspnetapp strategy: {} template: metadata: creationTimestamp: null labels: app: aspnetapp spec: containers: - image: mcr.microsoft.com/dotnet/samples:aspnetapp name: aspnetapp resources: {} status: {} \n Rodar o deploy \n kubectl apply -f samples-aspnetapp-deploy.yaml -n aspnet \n \u0026nbsp; \n \n Criando um manifesto de serviço \n kubectl expose -f samples-aspnetapp-deploy.yaml --name=sampleapisvc --type=LoadBalancer --port=80 --target-port=8080 --dry-run=client -o yaml \u0026gt; samples-aspnetapp-svc.yaml \n \u0026nbsp; \n \n o seguinte arquivo será gerado \n apiVersion: v1 kind: Service metadata: creationTimestamp: null labels: app: aspnetapp name: sampleapisvc spec: ports: - port: 80 protocol: TCP targetPort: 8080 selector: app: aspnetapp type: LoadBalancer status: loadBalancer: {} \n \u0026nbsp; \n \n \u0026nbsp; \n \n Rodar Servico \n kubectl apply -f samples-aspnetapp-svc.yaml -n aspnet \n \u0026nbsp; \n \n Criando um manifesto de hpa \n kubectl autoscale deployment aspnetapp --cpu-percent=60 --min=1 --max=5 --dry-run=client -o yaml \u0026gt; samples-aspnetapp-hpa-01.yaml \n \u0026nbsp; \n \n o seguinte arquivo será gerado \n apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: creationTimestamp: null name: aspnetapp spec: maxReplicas: 5 minReplicas: 1 scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: aspnetapp targetCPUUtilizationPercentage: 60 status: currentReplicas: 0 desiredReplicas: 0 \n \u0026nbsp; \n \n rodar o hpa \n kubectl apply -f samples-aspnetapp-hpa-01.yaml -n aspnet \n \u0026nbsp; \n \n \n Usando os comandos abaixo pode verificar o estado dos objetos \n \u0026nbsp; \n \n kubectl top pods # Visualiza o consumo de CPU e memória dos pods kubectl get hpa # Mostra a configuração corrente do HPA com os valores das métricas kubectl describe hpa \u0026lt;name\u0026gt; # Visualiza as configurações do HPA, assim como eventos de aumento e diminuição de pods \n \u0026nbsp; \n \u0026nbsp; \n \n \n \n Um dos erros mais comuns ao configurar HPA \n \u0026nbsp; \n \n Tudo ocorreu conforme esperado. No entanto, ao executar o comando\u0026nbsp; kubectl get hpa , recebi a informação\u0026nbsp; \u0026lt;unknown\u0026gt;/60% \u0026nbsp;no campo TARGETS. Comecei verificando se o metrics-server está em execução no seu cluster do AKS utilizando o comando\u0026nbsp; kubectl . \n \u0026nbsp; \n kubectl get pods -n kube-system \n \u0026nbsp; \n \n Verificando os detalhes do HPA \n kubectl describe hpa \u0026lt;nome\u0026gt; \n \u0026nbsp; \n \u0026nbsp; \n \n \n The HPA was unable to compute the replica count: failed to get cpu utilization: missing request for cpu \n \n E por fim precisei editar com os limites do manifesto de deploy segue referência\u0026nbsp;https://stacksimplify.com/azure-aks/azure-kubernetes-service-requests-and-limits/ \n \u0026nbsp; \n resources: limits: cpu: \"500m\" memory: \"512Mi\" requests: cpu: \"100m\" memory: \"256Mi\" \n \u0026nbsp; \n \n Onde: \n \n é o valor da CPU solicitado pelo deployment. Por exemplo, “100m” representa 100 milicores (ou 0,1 CPU). \n é o valor máximo da CPU que o deployment pode usar. Por exemplo, “500m” representa 500 milicores (ou 0,5 CPU). \n \n final \n apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: aspnetapp name: aspnetapp spec: replicas: 1 selector: matchLabels: app: aspnetapp strategy: {} template: metadata: creationTimestamp: null labels: app: aspnetapp spec: containers: - image: mcr.microsoft.com/dotnet/samples:aspnetapp name: samples resources: limits: cpu: \"500m\" memory: \"512Mi\" requests: cpu: \"100m\" memory: \"256Mi\" status: {} \n \u0026nbsp; \n \n \u0026nbsp; \n \n após atualizar o deploy rodei \n kubectl get hpa -n aspnet \n \u0026nbsp; \n \n \u0026nbsp; \n \n \n Vemos os percentuais de CPU, o atual e o gatilho do algoritmo HPA, acima de 60 % aumenta e abaixo disso diminui respeitando o parâmetro stabilizationWindowSeconds para evitar as flutuações \n \n Considerações sobre recursos disponíveis para pods \n \u0026nbsp; \n \n Em uma máquina virtual de 8 GB e 2 vCPU, você pode esperar: \n \n 100 MB de memória e 0,1 vCPU a serem reservados para o sistema operacional. \n 1,8 GB de memória e 0,07 vCPU a serem reservados para o Kubelet. \n 100 MB de memória para o limite de despejo. \n \n Os ~6 GB restantes de memória e 1,83 vCPU podem ser usados pelos pods. \n \n O Kubelet é um agente que executa em cada nó de um cluster do Kubernetes. Ele é responsável por garantir que os containers estejam em execução no nó e em conformidade com o estado desejado declarado no manifesto do Kubernetes. \n \u0026nbsp; \n \n \n Adicionando o fortio para teste de carga \n \u0026nbsp; \n \n kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.20/samples/httpbin/sample-client/fortio-deploy.yaml \n \u0026nbsp; \n \n Fortio é uma ferramenta de teste de carga inicialmente parte do Istio e depois se tornou independente. Executa consultas por segundo, registra tempo de execução.É uma biblioteca Go rápida e pequena, com uma imagem Docker de 4 MB. \n executando uma chamada de teste usando curl \n \u0026nbsp; \n kubectl exec fortio-deploy-5669d4866b-bqp8n -c fortio -n httpbin -- /usr/bin/fortio curl -quiet http://localhost:8080 \n \u0026nbsp; \n \n Usando o Fortio, este comando, por exemplo, executa 20 threads, totalizando 20 mil requisições. \n kubectl exec fortio-deploy-5669d4866b-bqp8n -c fortio -- /usr/bin/fortio load -c 20 -qps 0 -n 20000 -loglevel Warning http://52.226.198.73/ \n \u0026nbsp; \n \n \n Quais as opções de configuração do HPA \n \u0026nbsp; \n \n Exemplo samples-aspnetapp-hpa-01.yaml\u0026nbsp; \n \u0026nbsp; \n Utilizando targetCPUUtilizationPercentage \n \u0026nbsp; \n kubectl autoscale deployment aspnetapp --cpu-percent=60 --min=1 --max=5 --dry-run=client -o yaml \u0026gt; samples-aspnetapp-hpa-01.yaml \n \u0026nbsp; \n \n manifesto gerado pelo kubctl \n \u0026nbsp; \n apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: creationTimestamp: null name: aspnetapp spec: maxReplicas: 5 minReplicas: 1 scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: aspnetapp targetCPUUtilizationPercentage: 60 status: currentReplicas: 0 desiredReplicas: 0 \n \u0026nbsp; \n \u0026nbsp; \n \n \u0026nbsp; \n \n \n Exemplo samples-aspnetapp-hpa-02.yaml\u0026nbsp; \n \u0026nbsp; \n Utilizando um comportamento que permite um controle mais preciso dos detalhes do movimento para cima ou para baixo, e adotando a métrica de CPU baseada na porcentagem de utilização média como gatilho para iniciar os movimentos. \n \u0026nbsp; \n apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: creationTimestamp: null name: aspnetapp spec: maxReplicas: 5 minReplicas: 1 scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: aspnetapp metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 10 behavior: scaleDown: stabilizationWindowSeconds: 30 policies: - type: Percent value: 50 periodSeconds: 30 \n \u0026nbsp; \n \u0026nbsp; \n \n \n stabilizationWindowSeconds\u0026nbsp;A janela de estabilização é usada para restringir a\u0026nbsp;oscilação\u0026nbsp;da contagem de réplicas quando as métricas usadas para dimensionamento continuam flutuand \n periodSeconds indica o período de tempo no passado durante o qual a política deve ser válida \n A política\u0026nbsp;(Porcentagem)\u0026nbsp;permite que no máximo 50% das réplicas atuais sejam reduzidas em 30 segundos.\u0026nbsp;saiba mais \n A seleção da política pode ser alterada especificando o\u0026nbsp; selectPolicy \n \n \n \u0026nbsp; \n Exemplo samples-aspnetapp-hpa-03.yaml\u0026nbsp; \n \u0026nbsp; \n Utilizando um comportamento que permite um controle mais refinado dos detalhes do movimento para cima ou para baixo, e adotando a métrica de CPU baseada no consumo médio em milissegundos como gatilho para iniciar os movimentos. \n \u0026nbsp; \n apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: creationTimestamp: null name: aspnetapp spec: maxReplicas: 5 minReplicas: 1 scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: aspnetapp metrics: - type: Resource resource: name: cpu target: type: AverageValue averageValue: 10m behavior: scaleDown: stabilizationWindowSeconds: 30 policies: - type: Percent value: 50 periodSeconds: 30 \n \u0026nbsp; \n \u0026nbsp; \n \u0026nbsp; \n \n \u0026nbsp; \n \n \n Exemplo samples-aspnetapp-hpa-04.yml\u0026nbsp; \n \u0026nbsp; \n Utilizando o comportamento que permite um controle mais preciso dos detalhes do movimento para cima ou para baixo, e adotando a métrica de CPU e memória baseada na porcentagem de utilização média como gatilho para iniciar os movimentos. \n \u0026nbsp; \n apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: creationTimestamp: null name: aspnetapp spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: aspnetapp minReplicas: 1 maxReplicas: 6 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 80 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 100 behavior: scaleDown: stabilizationWindowSeconds: 300 policies: - type: Percent value: 100 periodSeconds: 20 scaleUp: stabilizationWindowSeconds: 0 policies: - type: Pods value: 1 periodSeconds: 30 \n \u0026nbsp; \n \u0026nbsp; \n \n \u0026nbsp; \n \n \n Vou fazer um teste com a configuração 4, para simular a carga vou usar o fortio e analisar o comportamento de up e down. \n \u0026nbsp; \n O teste começou as 14:22 \n \u0026nbsp; \n \n \u0026nbsp; \n então usei o parâmetro -w para observar as mudanças de replicas \n kubectl get hpa -n aspnet -w \n \u0026nbsp; \n \n As 14:25 cheguei em 6 réplicas, podemos observar que os pods são acionados um por um conforme o comportamento definido. \n \n \u0026nbsp; \n As 14:35 baixou para 2 pods \n \n \u0026nbsp; \n e as 14:38 chegamos em 1 \n \n \u0026nbsp; \n O Comportamento de Scale Down não aconteceu exatamente como eu pensei, ele não baixou 100% no primeiro ciclo de verificação. \n \n Testes com 30 pods \n \n Para finalizar fiz um teste com mais pods e coloquei os dados aqui para análise, mudei o deploy para o seguinte: \n apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: aspnetapp name: aspnetapp spec: replicas: 1 selector: matchLabels: app: aspnetapp strategy: {} template: metadata: creationTimestamp: null labels: app: aspnetapp spec: containers: - image: mcr.microsoft.com/dotnet/samples:aspnetapp name: samples resources: limits: cpu: \"100m\" memory: \"256Mi\" requests: cpu: \"30m\" memory: \"128Mi\" status: {} \n \u0026nbsp; \n \n \u0026nbsp; \n \n Alterei o HPA para \n apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: creationTimestamp: null name: aspnetapp spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: aspnetapp minReplicas: 1 maxReplicas: 30 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 80 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 100 behavior: scaleDown: stabilizationWindowSeconds: 300 policies: - type: Percent value: 100 periodSeconds: 20 scaleUp: stabilizationWindowSeconds: 0 policies: - type: Pods value: 1 periodSeconds: 30 \n \u0026nbsp; \n \u0026nbsp; \n \n e comecei a monitorar \n \n NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE \naspnetapp Deployment/aspnetapp \u0026lt;unknown\u0026gt;/80%, 21%/100% 1 30 1 45m \naspnetapp Deployment/aspnetapp 13%/80%, 21%/100% 1 30 1 45m \naspnetapp Deployment/aspnetapp 3%/80%, 21%/100% 1 30 1 46m \naspnetapp Deployment/aspnetapp 223%/80%, 54%/100% 1 30 1 47m \naspnetapp Deployment/aspnetapp 256%/80%, 51%/100% 1 30 2 48m \naspnetapp Deployment/aspnetapp 223%/80%, 54%/100% 1 30 2 48m \naspnetapp Deployment/aspnetapp 256%/80%, 54%/100% 1 30 3 48m \naspnetapp Deployment/aspnetapp 333%/80%, 31%/100% 1 30 3 48m \naspnetapp Deployment/aspnetapp 330%/80%, 31%/100% 1 30 4 49m \naspnetapp Deployment/aspnetapp 333%/80%, 31%/100% 1 30 4 49m \naspnetapp Deployment/aspnetapp 114%/80%, 28%/100% 1 30 4 49m \naspnetapp Deployment/aspnetapp 114%/80%, 28%/100% 1 30 4 50m \naspnetapp Deployment/aspnetapp 109%/80%, 43%/100% 1 30 4 50m \naspnetapp Deployment/aspnetapp 82%/80%, 45%/100% 1 30 5 51m \naspnetapp Deployment/aspnetapp 265%/80%, 42%/100% 1 30 5 51m \naspnetapp Deployment/aspnetapp 266%/80%, 42%/100% 1 30 6 52m \naspnetapp Deployment/aspnetapp 266%/80%, 42%/100% 1 30 6 52m \naspnetapp Deployment/aspnetapp 265%/80%, 42%/100% 1 30 7 52m \naspnetapp Deployment/aspnetapp 108%/80%, 36%/100% 1 30 7 52m \naspnetapp Deployment/aspnetapp 101%/80%, 36%/100% 1 30 8 53m \naspnetapp Deployment/aspnetapp 108%/80%, 36%/100% 1 30 8 53m \naspnetapp Deployment/aspnetapp 200%/80%, 42%/100% 1 30 8 53m \naspnetapp Deployment/aspnetapp 200%/80%, 42%/100% 1 30 9 54m \naspnetapp Deployment/aspnetapp 200%/80%, 42%/100% 1 30 9 54m \naspnetapp Deployment/aspnetapp 200%/80%, 42%/100% 1 30 10 54m \naspnetapp Deployment/aspnetapp 158%/80%, 42%/100% 1 30 10 54m \naspnetapp Deployment/aspnetapp 158%/80%, 42%/100% 1 30 11 55m \naspnetapp Deployment/aspnetapp 158%/80%, 42%/100% 1 30 11 55m \naspnetapp Deployment/aspnetapp 158%/80%, 42%/100% 1 30 12 55m \naspnetapp Deployment/aspnetapp 146%/80%, 43%/100% 1 30 12 55m \naspnetapp Deployment/aspnetapp 158%/80%, 43%/100% 1 30 13 56m \naspnetapp Deployment/aspnetapp 158%/80%, 43%/100% 1 30 13 56m \naspnetapp Deployment/aspnetapp 109%/80%, 42%/100% 1 30 14 56m \naspnetapp Deployment/aspnetapp 113%/80%, 43%/100% 1 30 14 56m \naspnetapp Deployment/aspnetapp 109%/80%, 43%/100% 1 30 15 57m \naspnetapp Deployment/aspnetapp 39%/80%, 42%/100% 1 30 15 57m \naspnetapp Deployment/aspnetapp 39%/80%, 42%/100% 1 30 15 57m \naspnetapp Deployment/aspnetapp 39%/80%, 42%/100% 1 30 15 58m \naspnetapp Deployment/aspnetapp 32%/80%, 42%/100% 1 30 15 58m \naspnetapp Deployment/aspnetapp 94%/80%, 45%/100% 1 30 15 58m \naspnetapp Deployment/aspnetapp 91%/80%, 45%/100% 1 30 16 59m \naspnetapp Deployment/aspnetapp 91%/80%, 45%/100% 1 30 16 59m \naspnetapp Deployment/aspnetapp 130%/80%, 44%/100% 1 30 16 59m \naspnetapp Deployment/aspnetapp 138%/80%, 44%/100% 1 30 17 59m \naspnetapp Deployment/aspnetapp 130%/80%, 44%/100% 1 30 17 60m \naspnetapp Deployment/aspnetapp 138%/80%, 44%/100% 1 30 18 60m \naspnetapp Deployment/aspnetapp 138%/80%, 43%/100% 1 30 18 60m \naspnetapp Deployment/aspnetapp 52%/80%, 43%/100% 1 30 19 60m \naspnetapp Deployment/aspnetapp 66%/80%, 44%/100% 1 30 19 61m \naspnetapp Deployment/aspnetapp 52%/80%, 44%/100% 1 30 19 61m \naspnetapp Deployment/aspnetapp 122%/80%, 44%/100% 1 30 19 61m \naspnetapp Deployment/aspnetapp 122%/80%, 43%/100% 1 30 20 61m \naspnetapp Deployment/aspnetapp 122%/80%, 43%/100% 1 30 20 62m \naspnetapp Deployment/aspnetapp 122%/80%, 43%/100% 1 30 21 62m ** \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 62m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 62m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 63m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 63m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 63m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 64m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 64m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 65m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 66m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 66m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 67m \naspnetapp Deployment/aspnetapp 3%/80%, 41%/100% 1 30 21 67m \naspnetapp Deployment/aspnetapp 54%/80%, 42%/100% 1 30 9 67m ** \naspnetapp Deployment/aspnetapp 81%/80%, 44%/100% 1 30 9 67m \naspnetapp Deployment/aspnetapp 54%/80%, 44%/100% 1 30 9 68m \naspnetapp Deployment/aspnetapp 81%/80%, 44%/100% 1 30 9 68m \naspnetapp Deployment/aspnetapp 81%/80%, 45%/100% 1 30 9 68m \naspnetapp Deployment/aspnetapp 216%/80%, 45%/100% 1 30 9 68m \naspnetapp Deployment/aspnetapp 217%/80%, 45%/100% 1 30 10 69m \naspnetapp Deployment/aspnetapp 216%/80%, 45%/100% 1 30 10 69m \naspnetapp Deployment/aspnetapp 217%/80%, 40%/100% 1 30 11 69m \naspnetapp Deployment/aspnetapp 174%/80%, 40%/100% 1 30 11 69m \naspnetapp Deployment/aspnetapp 150%/80%, 40%/100% 1 30 12 70m \naspnetapp Deployment/aspnetapp 150%/80%, 40%/100% 1 30 12 70m \naspnetapp Deployment/aspnetapp 150%/80%, 40%/100% 1 30 13 70m \naspnetapp Deployment/aspnetapp 143%/80%, 42%/100% 1 30 13 70m \naspnetapp Deployment/aspnetapp 125%/80%, 42%/100% 1 30 14 71m \naspnetapp Deployment/aspnetapp 125%/80%, 42%/100% 1 30 14 71m \naspnetapp Deployment/aspnetapp 108%/80%, 40%/100% 1 30 15 71m \naspnetapp Deployment/aspnetapp 96%/80%, 40%/100% 1 30 15 71m \naspnetapp Deployment/aspnetapp 108%/80%, 40%/100% 1 30 15 72m \naspnetapp Deployment/aspnetapp 96%/80%, 39%/100% 1 30 16 72m ** \naspnetapp Deployment/aspnetapp 13%/80%, 39%/100% 1 30 16 72m \naspnetapp Deployment/aspnetapp 13%/80%, 39%/100% 1 30 16 73m \naspnetapp Deployment/aspnetapp 3%/80%, 39%/100% 1 30 16 73m \naspnetapp Deployment/aspnetapp 3%/80%, 39%/100% 1 30 16 74m \naspnetapp Deployment/aspnetapp 3%/80%, 39%/100% 1 30 16 74m \naspnetapp Deployment/aspnetapp 3%/80%, 39%/100% 1 30 16 74m \naspnetapp Deployment/aspnetapp 3%/80%, 39%/100% 1 30 16 74m \naspnetapp Deployment/aspnetapp 3%/80%, 39%/100% 1 30 16 75m \naspnetapp Deployment/aspnetapp 3%/80%, 39%/100% 1 30 16 75m \naspnetapp Deployment/aspnetapp 3%/80%, 39%/100% 1 30 16 76m \naspnetapp Deployment/aspnetapp 3%/80%, 38%/100% 1 30 16 77m \naspnetapp Deployment/aspnetapp 3%/80%, 39%/100% 1 30 16 77m \naspnetapp Deployment/aspnetapp 3%/80%, 31%/100% 1 30 7 77m ** \naspnetapp Deployment/aspnetapp 3%/80%, 31%/100% 1 30 7 78m \naspnetapp Deployment/aspnetapp 3%/80%, 31%/100% 1 30 7 78m \naspnetapp Deployment/aspnetapp 3%/80%, 31%/100% 1 30 7 78m \naspnetapp Deployment/aspnetapp 3%/80%, 31%/100% 1 30 7 79m \naspnetapp Deployment/aspnetapp 3%/80%, 31%/100% 1 30 7 80m \naspnetapp Deployment/aspnetapp 3%/80%, 31%/100% 1 30 7 81m \naspnetapp Deployment/aspnetapp 4%/80%, 31%/100% 1 30 7 81m \naspnetapp Deployment/aspnetapp 4%/80%, 31%/100% 1 30 7 81m \naspnetapp Deployment/aspnetapp 4%/80%, 31%/100% 1 30 7 82m \naspnetapp Deployment/aspnetapp 4%/80%, 31%/100% 1 30 7 82m \naspnetapp Deployment/aspnetapp 4%/80%, 31%/100% 1 30 7 82m \naspnetapp Deployment/aspnetapp 3%/80%, 36%/100% 1 30 3 82m \naspnetapp Deployment/aspnetapp 3%/80%, 36%/100% 1 30 3 83m \naspnetapp Deployment/aspnetapp 4%/80%, 36%/100% 1 30 3 83m \naspnetapp Deployment/aspnetapp 4%/80%, 36%/100% 1 30 3 83m \naspnetapp Deployment/aspnetapp 4%/80%, 36%/100% 1 30 3 84m \naspnetapp Deployment/aspnetapp 3%/80%, 36%/100% 1 30 3 84m \naspnetapp Deployment/aspnetapp 4%/80%, 36%/100% 1 30 3 85m \naspnetapp Deployment/aspnetapp 4%/80%, 36%/100% 1 30 3 85m \naspnetapp Deployment/aspnetapp 4%/80%, 36%/100% 1 30 3 86m \naspnetapp Deployment/aspnetapp 5%/80%, 36%/100% 1 30 3 86m \naspnetapp Deployment/aspnetapp 3%/80%, 36%/100% 1 30 3 86m \naspnetapp Deployment/aspnetapp 3%/80%, 36%/100% 1 30 3 86m \naspnetapp Deployment/aspnetapp 3%/80%, 36%/100% 1 30 3 87m \naspnetapp Deployment/aspnetapp 3%/80%, 36%/100% 1 30 3 87m \naspnetapp Deployment/aspnetapp 3%/80%, 32%/100% 1 30 2 87m \naspnetapp Deployment/aspnetapp 3%/80%, 32%/100% 1 30 2 88m \naspnetapp Deployment/aspnetapp 3%/80%, 32%/100% 1 30 2 88m \naspnetapp Deployment/aspnetapp 5%/80%, 33%/100% 1 30 2 88m \naspnetapp Deployment/aspnetapp 3%/80%, 32%/100% 1 30 2 89m \naspnetapp Deployment/aspnetapp 3%/80%, 32%/100% 1 30 2 90m \naspnetapp Deployment/aspnetapp 3%/80%, 32%/100% 1 30 2 90m \naspnetapp Deployment/aspnetapp 3%/80%, 32%/100% 1 30 2 91m \naspnetapp Deployment/aspnetapp 3%/80%, 32%/100% 1 30 2 91m \naspnetapp Deployment/aspnetapp 3%/80%, 32%/100% 1 30 2 92m \naspnetapp Deployment/aspnetapp 3%/80%, 44%/100% 1 30 1 92m \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 1 93m \naspnetapp Deployment/aspnetapp 3%/80%, 44%/100% 1 30 1 94m \naspnetapp Deployment/aspnetapp 3%/80%, 44%/100% 1 30 1 95m \naspnetapp Deployment/aspnetapp 3%/80%, 44%/100% 1 30 1 95m\n \n \u0026nbsp; \n \n Podemos observar que, ao atingir 21 réplicas por volta dos 62 minutos, houve uma diminuição nas cargas. Logo após a janela de estabilização, que durou cerca de 5 minutos, o número de réplicas diminui para 9 por volta dos 67 minutos. Fiz uma segunda simulação de carga e as réplicas aumentam para 16 por volta dos 72 minutos e, aproximadamente 5 minutos depois, ou seja, aos 77 minutos, elas diminuem para 7. \n \n samples-aspnetapp-hpa-05.yaml \n \n Mudei a politicas de Scale Down e Scale up para pods, baixando um pod de cada vez \n apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: creationTimestamp: null name: aspnetapp spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: aspnetapp minReplicas: 1 maxReplicas: 30 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 80 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 100 behavior: scaleDown: stabilizationWindowSeconds: 300 policies: - type: Pods value: 1 periodSeconds: 20 scaleUp: stabilizationWindowSeconds: 0 policies: - type: Pods value: 1 periodSeconds: 30 \n \u0026nbsp; \n \n e dessa forma foi deterministico um por um \n \n NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE \naspnetapp Deployment/aspnetapp 30%/80%, 61%/100% 1 30 1 20h \naspnetapp Deployment/aspnetapp 330%/80%, 58%/100% 1 30 1 20h \naspnetapp Deployment/aspnetapp 330%/80%, 58%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 330%/80%, 58%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 330%/80%, 58%/100% 1 30 3 20h \naspnetapp Deployment/aspnetapp 330%/80%, 33%/100% 1 30 3 20h \naspnetapp Deployment/aspnetapp 330%/80%, 32%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 330%/80%, 33%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 114%/80%, 30%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 77%/80%, 31%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 77%/80%, 31%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 4%/80%, 31%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 4%/80%, 31%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 4%/80%, 31%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 4%/80%, 31%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 4%/80%, 32%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 6%/80%, 32%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 8%/80%, 32%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 8%/80%, 32%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 5%/80%, 32%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 5%/80%, 32%/100% 1 30 4 20h \naspnetapp Deployment/aspnetapp 3%/80%, 35%/100% 1 30 3 20h \naspnetapp Deployment/aspnetapp 3%/80%, 35%/100% 1 30 3 20h \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 5%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 3%/80%, 43%/100% 1 30 2 20h \naspnetapp Deployment/aspnetapp 3%/80%, 63%/100% 1 30 1 20h\n \n \u0026nbsp; \n \n Parece que o problema está associado à tentativa de encerrar pods que ainda estão em uso, resultando na baixa de apenas uma fração da quantidade especificada na política. O único cenário em que pude observar um determinismo em relação à quantidade de pods baixados foi no exemplo em que defini o comportamento de redução para apenas um pod por vez. \n \n Referências \n \n \n Dimensionar automaticamente um cluster para atender às demandas de aplicativo no AKS (Serviço de Kubernetes do Azure) \n Dimensionar a contagem de nós em um cluster do AKS (Serviço de Kubernetes do Azure) \n A contagem de nós atual não está no intervalo mínimo e mínimo do dimensionador automático — Azure | Microsoft Learn \n Horizontal Pod Autoscaling | Kubernetes \n Tutorial do Kubernetes no Azure — Dimensionar Aplicativo — Azure Kubernetes Service | Microsoft Learn \n Architecting Kubernetes clusters — choosing the best autoscaling strategy (learnk8s.io) \n Kubernetes instance calculator (learnk8s.io) \n Conceitos — dimensionar aplicativos no AKS (Serviço de Kubernetes do Azure) — Azure Kubernetes Service | Microsoft Learn \n Tutorial do Kubernetes no Azure — Dimensionar aplicativos no AKS (Serviço de Kubernetes do Azure) — Azure Kubernetes Service | Microsoft Learn \n Horizontal Pod Autoscaling | Kubernetes \n ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"36699","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":19,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTRicnlvOA?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg1NmlFRDdDQzY4QkZCMzBDM0U3?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2MGk4QTJCMzYyNTg3N0NBQTIw?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2MmkyNjM0MDMzMTg0RUQ4NDND?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2NGlDQzdFNjVFMzQyOENCODgw?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w2","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2N2kwODkxMEVDQ0IwNzAzQzNC?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w3","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2OGlFRDU2NDZCQzBGMjNGQUI2?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w4","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg2OWk5NDE4RERBN0Y1RUYxM0ZD?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w5","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3MGk1RjNCMzJBQTBFQ0IwQjAy?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxMA","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3MmlCOTZCNzNGODM1MTgyREI2?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxMQ","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3M2k1QTFFMjU0MDJENjAyRUZE?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxMg","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTYxMDg3NWkwNzM5RDdEMzE2QjVBN0M2?revision=9\"}"}}],"totalCount":12,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjIxMTY2LTRicnlvOA?revision=9"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LU9NN1VWUw?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LU9NN1VWUw?revision=1","title":"Main.png","associationType":"BODY","width":2286,"height":1182,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LXY5SlQ4ag?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LXY5SlQ4ag?revision=1","title":"1.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LXB0OXdSNg?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LXB0OXdSNg?revision=1","title":"2.png","associationType":"BODY","width":2784,"height":1664,"altText":""},"BlogTopicMessage:message:4308649":{"__typename":"BlogTopicMessage","subject":"Introducing Windows 365 Link","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4308649},"lastPostingActivityTime":"2024-11-23T01:10:55.981-08:00","solved":false},"id":"message:4308649","revisionNum":1,"uid":4308649,"depth":0,"board":{"__ref":"Blog:board:MicrosoftMechanicsBlog"},"author":{"__ref":"User:user:205"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"","metrics":{"__typename":"MessageMetrics","views":90},"postTime":"2024-11-23T01:10:55.981-08:00","lastPublishTime":"2024-11-23T01:10:55.981-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" Windows 365 Link is the first Cloud PC device. Connect to your Cloud PC in seconds with a simple sign-in, accessing a familiar Windows Desktop with high-fidelity performance. Windows 365 Link offers seamless setup and streamlined management through Microsoft Intune, ensuring your IT environment is efficiently maintained alongside other PCs. \n \u0026nbsp; \n \n \u0026nbsp; \n Optimize your work experience with passwordless authentication, high-performance video conferencing, and support for essential peripherals. Designed with a robust security posture, Windows 365 Link provides data protection with features like Secure Boot and BitLocker encryption. \n Jalleen Ringer, Partner GPM for Windows Cloud Endpoints, shows how Windows 365 Link is the ideal choice for secure, scalable, and efficient cloud computing. \n Get started in minutes with Windows 365 Link. \n \n Check out how this new Cloud PC device is simple to manage using Microsoft Intune. \n Optimized for high-fidelity video conferencing. \n \n Get started with Windows 365 Link — the simple, secure, purpose-built device for Windows 365. \n Secure by default. \n Windows 365 Link runs a local TPM, Secure Boot, BitLocker drive encryption, Hypervisor Code Integrity, and Microsoft Defender EDR capabilities — as a purpose-built device to connect to Windows 365. Watch here. \n Watch our video here: \n \n QUICK LINKS: \n 00:00 — Windows 365 Link — First Cloud PC device 00:55 — What it’s like to use Windows 365 Link 02:32 — Ports and connectivity 03:18 — Set it up 03:48 — Device management 05:26 — Wrap up \n Link References \n Check out https://aka.ms/Windows365Link \n Unfamiliar with Microsoft Mechanics? \n As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. \n \n Subscribe to our YouTube: https://www.youtube.com/c/MicrosoftMechanicsSeries \n Talk with other IT Pros, join us on the Microsoft Tech Community: https://techcommunity.microsoft.com/t5/microsoft-mechanics-blog/bg-p/MicrosoftMechanicsBlog \n Watch or listen from anywhere, subscribe to our podcast: https://microsoftmechanics.libsyn.com/podcast \n \n Keep getting this insider knowledge, join us on\u0026nbsp;social: \n \n Follow us on Twitter: https://twitter.com/MSFTMechanics \n Share knowledge on LinkedIn: https://www.linkedin.com/company/microsoft-mechanics/ \n Enjoy us on Instagram: https://www.instagram.com/msftmechanics/ \n Loosen up with us on TikTok: https://www.tiktok.com/@msftmechanics \n \n Video Transcript:\u0026nbsp; \n -Windows 365 Link is the first Cloud PC device. It’s a purpose-built solution by Microsoft with a small Windows-based OS designed to connect you to Windows 365 in seconds. With a quick sign-in to your Cloud PC, you can securely connect to a familiar Windows desktop in the Microsoft cloud, accessing a responsive high fidelity experience. And Windows 365 Link is simple and straightforward to set up.\u0026nbsp; \n -For IT, it brings a more streamlined management experience where it can be managed alongside other PCs, in Microsoft Intune. The device is secure by design, featuring no local admin users, no local data storage, and no local apps. You can’t install or execute any arbitrary software on the device, so you’re protected from malware.\u0026nbsp; \n -Security baseline policies are enabled by default. And its security features cannot be disabled. I’ll start by showing you what it’s like to use Windows 365 Link. First, you’ll enter your work email address, and you’re presented with multi-factor passwordless authentication.\u0026nbsp; \n -Here we’re using the Microsoft Authenticator mobile app. Then you’re securely authenticated and connected to your Cloud PC all within seconds. And if you have a few apps open from your last session, you can pick up right where you left off. The start menu shows productivity and work apps provisioned by your IT team.\u0026nbsp; \n -And with Windows being in the cloud, everything is up to date. We’ve enabled local redirection for web multimedia content such as streaming video. This ensures a smooth, high fidelity experience. And is also optimized for online meetings with Microsoft Teams, providing highly performant video conferencing.\u0026nbsp; \n -And while you saw me use passwordless authentication, Windows 365 Link also works with Fido2 security keys and cross-device passkeys. So, you get the experience you would expect from a local PC with all the security and scalability of the Microsoft Cloud, resulting in a no compromise experience.\u0026nbsp; \n -And when you sign out of your device, it returns to the sign-in experience. Your data and account information is not stored on Windows 365 Link. So it’s great as a shared use device for hot desking, contact centers, and other scenarios. Windows 365 Link also works with the peripherals you need to be productive.\u0026nbsp; \n -You can connect them via USB and Bluetooth 5.3, including your keyboard mouse, webcam, up to two monitors at 4K resolution each, and audio including your headset. Next, let’s take a closer look at the Windows 365 Link device itself, which is compact, fanless, and lightweight by design. On the front panel there’s a USB-A port and an audio jack for easy day-to-day access.\u0026nbsp; \n -The back panel includes two USB-A ports and one USB-C port, wired ethernet, and the power connector. It also includes a full size HDMI and display port. And on the side, there’s a slot for a Kensington Lock to physically secure the device. Its dimensions are 120 millimeters square and it’s 30 millimeters thick.\u0026nbsp; \n -Importantly, Windows 365 Link is designed with sustainability in mind. It’s made with recycled materials and is Energy Star certified to help reduce your carbon footprint. So, now let me show you how easy Windows 365 Link is to set up for the first time. You power on your device, connect to the internet via Wi-Fi, where we support Wi-Fi 6E. And of course you can also connect via ethernet.\u0026nbsp; \n -Then you’ll sign in with your work account and authenticate. And at that point, your device then joins your organization’s Microsoft Entra Directory, and enrolls automatically into your Microsoft Intune environment. And just like that, your device connects you to your Cloud PC. But it’s not just using the device that is simple. We also simplified and streamlined management.\u0026nbsp; \n -From Microsoft Intune, you’ll be able to view Windows 365 Link devices alongside your other managed Windows devices and Cloud PCs. These will have a default name that starts with WCPC. And you can click in to access device details and specific management operations for each Windows 365 Link device. You can create configuration policies just like you would for any Windows 11 PC.\u0026nbsp; \n -And because the small OS is purpose-built for connecting to the cloud, there are far fewer policies that apply to Windows 365 Link. For example, you can create a policy for blocking removable media, so that people can’t copy data from their Cloud PC to a USB drive. This helps ensure that all your corporate data stays protected in the cloud.\u0026nbsp; \n -And to further protect your data and users, Windows 365 Link is designed for security from the ground up. It’s configured with a high security posture by default that leverages a discreet trusted platform module, Secure Boot, BitLocker drive encryption, Hypervisor code integrity, and Microsoft Defender Endpoint Detection and Response capabilities. And with strict code integrity policies in place, only the software that comes on the device can run on the device.\u0026nbsp; \n -By default, device updates are delivered automatically and applied overnight when the device is not in use. So overall, the management overhead for Windows 365 Link is much lighter compared to other device types. And again, its security-first design significantly reduces its attack surface.\u0026nbsp; \n -So, that’s a quick look at Windows 365 Link, the first cloud PC device purpose built by Microsoft to securely connect you to Windows 365 in seconds. To learn more, check out aka.ms/Windows365Link. And keep watching Microsoft Mechanics for the latest tech updates. Subscribe for more and thanks for watching. \n \u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"8192","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":5,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LU9NN1VWUw?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LXY5SlQ4ag?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4NjQ5LXB0OXdSNg?revision=1\"}"}}],"totalCount":3,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Category:category:Content_Management":{"__typename":"Category","id":"category:Content_Management","displayId":"Content_Management"},"Blog:board:Microsoft_Graph_Data_Connect_for_SharePo":{"__typename":"Blog","id":"board:Microsoft_Graph_Data_Connect_for_SharePo","displayId":"Microsoft_Graph_Data_Connect_for_SharePo","nodeType":"board","conversationStyle":"BLOG","title":"Microsoft Graph Data Connect for SharePoint Blog","shortTitle":"Microsoft Graph Data Connect for SharePoint Blog","parent":{"__ref":"Category:category:Content_Management"}},"User:user:133892":{"__typename":"User","uid":133892,"login":"Jose_Barreto","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0xMzM4OTItMzkxNDVpOTBBNjgzRUUzNjA3QTEwQQ"},"id":"user:133892"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzQ1LTJqMEFMZQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzQ1LTJqMEFMZQ?revision=1","title":"clipboard_image-1-1732315953359.png","associationType":"BODY","width":1781,"height":1496,"altText":""},"BlogTopicMessage:message:4330345":{"__typename":"BlogTopicMessage","subject":"MGDC for SharePoint FAQ: Empty Columns","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4330345},"lastPostingActivityTime":"2024-11-22T14:54:08.447-08:00","solved":false},"id":"message:4330345","revisionNum":1,"uid":4330345,"depth":0,"board":{"__ref":"Blog:board:Microsoft_Graph_Data_Connect_for_SharePo"},"author":{"__ref":"User:user:133892"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"","metrics":{"__typename":"MessageMetrics","views":58},"postTime":"2024-11-22T14:54:08.447-08:00","lastPublishTime":"2024-11-22T14:54:08.447-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" A few customers are seeing an issue with Synapse pipelines for Microsoft Graph Data Connect for SharePoint. \n The symptom is straightforward: you get an error message saying that the \"Columns\" parameter in the request is null. It shows something like this: \n Operation on target TTT failed: \n Activity failed because an inner activity failed; Inner activity name: XXX, Error:\u0026nbsp; \u0026nbsp; \u0026nbsp; ErrorCode=UserErrorOffice365DataLoaderError, \u0026nbsp; \u0026nbsp; 'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException, \u0026nbsp; \u0026nbsp; Message=Office365 data loading failed to execute. \u0026nbsp; \u0026nbsp; office365LoadErrorType: PermanentError. \u0026nbsp; \u0026nbsp; Value cannot be null. \u0026nbsp; \u0026nbsp; Parameter name: Columns, \u0026nbsp; \u0026nbsp; Source=Microsoft.DataTransfer.ClientLibrary,' \n This error is basically telling you that the Columns parameter is required and cannot be null.\u0026nbsp; \n The columns, defined in the source definition of the copy data task, should have been automatically populated for you, so this is not expected. \n To fix it, you can try these steps: \n \n \n Opening the pipeline that failed \n \n \n Select the copy data task in the pipeline \n \n \n Select the source tab \n \n \n Under \"output columns\" click on \"Clear\" \n \n \n Under \"output columns\" click on \"Import Schema\" \n \n \n Publish the pipeline changes \n \n Trigger the pipeline again \n \n The picture below shows the two options you need to click on \n \n \u0026nbsp; \n I hope this article can help you fix your pipeline. For more articles on Microsoft Graph Data Connect for SharePoint, see https://aka.ms/SharePointData \n \u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"1601","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":1,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzQ1LTJqMEFMZQ?revision=1\"}"}}],"totalCount":1,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Category:category:MCPP":{"__typename":"Category","id":"category:MCPP","displayId":"MCPP"},"Blog:board:ILTCommunicationBlog":{"__typename":"Blog","id":"board:ILTCommunicationBlog","displayId":"ILTCommunicationBlog","nodeType":"board","conversationStyle":"BLOG","title":"ILT Communications Blog","shortTitle":"ILT Communications Blog","parent":{"__ref":"Category:category:MCPP"}},"User:user:2059525":{"__typename":"User","uid":2059525,"login":"Mindy_Rosenthal","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0yMDU5NTI1LTU3MzQ0NWkyODkwQTc0Q0VFNTNDOTg4"},"id":"user:2059525"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LUV3TkJseA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LUV3TkJseA?revision=2","title":"ms-4010 banner.png","associationType":"TEASER","width":1251,"height":704,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LW41dWpGVQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LW41dWpGVQ?revision=2","title":"MS-4010.png","associationType":"BODY","width":1178,"height":275,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LVNkNWRraA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LVNkNWRraA?revision=2","title":"border.png","associationType":"BODY","width":1172,"height":19,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LUtBcGhYNA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LUtBcGhYNA?revision=2","title":"border.png","associationType":"BODY","width":1172,"height":19,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LW5rclI3SQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LW5rclI3SQ?revision=2","title":"border.png","associationType":"BODY","width":1172,"height":19,"altText":""},"BlogTopicMessage:message:4330329":{"__typename":"BlogTopicMessage","subject":"Introducing the newly revamped MS-4010: Build plugins and connectors for Microsoft 365 Copilot","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4330329},"lastPostingActivityTime":"2024-11-22T14:46:22.691-08:00","solved":false},"id":"message:4330329","revisionNum":2,"uid":4330329,"depth":0,"board":{"__ref":"Blog:board:ILTCommunicationBlog"},"author":{"__ref":"User:user:2059525"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" \n Check out the major overhaul on MS-4010! ","introduction":"","metrics":{"__typename":"MessageMetrics","views":34},"postTime":"2024-11-22T14:40:37.558-08:00","lastPublishTime":"2024-11-22T14:46:22.691-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" Major update for MS-4010: Build plugins and connectors for Microsoft 365 Copilot \n \n In the November 22nd major update, we've restructured MS-4010 from one learning path into two dynamic learning paths to better support learner engagement and new additional content needs. \n The update includes major rewrites for: \n \n Learning Path 1 focuses on the entire Microsoft 365 Copilot extensibility landscape and the other on creating declarative agents with custom knowledge and skills. \n Learning Path 2 contains modules and labs dedicated to declarative agents. The previous labs have been replaced with three new, more focused labs. \n \n Important callouts of major update: \n \n This course will now have a course detail page, due to the additional learning path. Therefore, the URL will be new. Please see below.\n \n Course detail page URL: https://learn.microsoft.com/training/courses/ms-4010 \n \n \n Releasing this major course update earlier on 11/22 provides an overlapping of both versions of the courses being available for an easier transition on partners and trainers. The learning path detail page for this course will be available until December 31st, 2024.\u0026nbsp;\n \n \n \n Learners will still be able to utilize the learning path detail page for course content, until you have fully transitioned over to the update.\u0026nbsp; \n Partners can still utilize the learning path detail page to create achievement code URLs until the end of the year. \n \n \n \n \n KPI’s for the course will remain the same. \n The next title plan November V2 coming out next week, will have the new course URL reflected in both the courseware and course URL tool tabs. \n \n \n All Trainer materials have been updated to reflect the changes shared above. \n Please transition over to the new course detail page and updated content as soon as possible, before the end of the year.\u0026nbsp; \n For further information and questions on this course or reporting, please reach out to your partner channels. \n \n Please note: This is not a support forum. Only necessary comments related to this specific blog post content are permitted and responded to. ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"2128","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:ILT Updates","text":"ILT Updates","time":"2024-06-20T11:06:27.230-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":2,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LUV3TkJseA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LW41dWpGVQ?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LVNkNWRraA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LUtBcGhYNA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMzI5LW5rclI3SQ?revision=2\"}"}}],"totalCount":5,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Blog:board:AzureStorageBlog":{"__typename":"Blog","id":"board:AzureStorageBlog","displayId":"AzureStorageBlog","nodeType":"board","conversationStyle":"BLOG","title":"Azure Storage Blog","shortTitle":"Azure Storage Blog","parent":{"__ref":"Category:category:Azure"}},"User:user:2633582":{"__typename":"User","uid":2633582,"login":"dmalbrough","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0yNjMzNTgyLTYxMjg4OGkzNjkyMzQ0RjAzNTk1RTI2"},"id":"user:2633582"},"BlogTopicMessage:message:4330160":{"__typename":"BlogTopicMessage","subject":"Maximizing Performance and Scalability with Azure Elastic SAN and Commvault","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4330160},"lastPostingActivityTime":"2024-11-22T13:22:31.770-08:00","solved":false},"id":"message:4330160","revisionNum":2,"uid":4330160,"depth":0,"board":{"__ref":"Blog:board:AzureStorageBlog"},"author":{"__ref":"User:user:2633582"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"It's always exciting to see our partners at Commvault pushing the boundaries of innovation and consistently enhancing their services with each new release. In the following post, written by Commvault, you'll discover the advantages of their latest offering of backups for VMs that are backed by Elastic SAN and how to seamlessly integrate it with Commvault Cloud. Enjoy! ","metrics":{"__typename":"MessageMetrics","views":35},"postTime":"2024-11-22T13:22:31.770-08:00","lastPublishTime":"2024-11-22T13:22:31.770-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" Partner post from our friends at Commvault\u0026nbsp; \n Learn more about Elastic SAN here!\u0026nbsp; \n Commvault is pleased to share that Microsoft Azure Elastic SAN support for Azure virtual machines (VMs) will be available in private preview following Microsoft Ignite 2024. This innovative offering allows Elastic SAN volumes to be attached to Azure VMs via iSCSI, providing enhanced flexibility and scalability for your cyber resilience and data protection storage needs.\u0026nbsp; \n Michael Fasulo, Senior Director of Product Management at Commvault, expressed it best: “Throughout our 27+ years of partnership with Microsoft, our goal has always been to provide the broadest workload coverage and native Azure integration, providing unmatched scalability and cost effectiveness while delivering true continuous business. Our support for Elastic SAN amplifies our strong joint value to customers, embracing today's cloud first reality.”\u0026nbsp; \n Benefits of the New Commvault Cloud Feature\u0026nbsp; \n Azure Elastic SAN offers a powerful and flexible storage solution that can help you optimize your workloads and achieve your business goals. With its enhanced performance, scalability, and cost-effectiveness, Elastic SAN is the ideal choice for demanding applications.\u0026nbsp;\u0026nbsp; \n Commvault Cloud’s support for Azure Elastic SAN offers significant advantages for organizations seeking comprehensive cyber resilience solutions. Commvault's integration with Azure Elastic SAN simplifies backup and recovery processes, while our robust cyber resilience and data protection capabilities provide peace of mind and minimize the risk of data loss.\u0026nbsp;\u0026nbsp; \n Why Elastic SAN Adoption is Growing\u0026nbsp; \n Organizations are increasingly adopting Elastic SAN due to its enhanced performance, scalability, and cost effectiveness.\u0026nbsp; With the surge of AI data and the need to effectively protect these large volumes of data, this new Commvault Cloud functionality helps organizations securely and cost effectively solve the need to effectively protect and secure these mission critical workloads.\u0026nbsp; Commvault Cloud’s enhanced coverage of Elastic SAN will ensure these workloads are cyber resilient and recoverable from cyber-attacks:\u0026nbsp; \n \n High-Performance Computing (HPC): Deliver demanding HPC applications with exceptional performance.\u0026nbsp; \n \n \n Large scale databases: Accelerate database operations and improve query response times.\u0026nbsp; \n \n \n Big data analytics: Process and analyze large datasets efficiently.\u0026nbsp; \n \n \n Content Delivery Networks (CDNs): Streamline content delivery and improve the user experience.\u0026nbsp; \n \n Learn more\u0026nbsp; \n For a demo and to learn more about Commvault Cloud’s enhanced support of Azure Elastic SAN, please visit Commvault Cloud for Microsoft Azure | Commvault. To learn more about Azure Elastic SAN, visit Azure Elastic SAN documentation | Microsoft Learn or reach out to AzElasticSAN-Ex@microsoft.com.\u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"2950","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:azure elastic san","text":"azure elastic san","time":"2023-03-07T08:46:49.738-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":2,"images":{"__typename":"AssociatedImageConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"User:user:321336":{"__typename":"User","uid":321336,"login":"Glaucia_Lemos","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0zMjEzMzYtMTA4ODE4aTNFNzRERTQ1QTI0NDI4Rjc"},"id":"user:321336"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLXJ4SGpJYQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLXJ4SGpJYQ?revision=2","title":"thum-curso-nodejs.jpg","associationType":"COVER","width":1280,"height":720,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLXBheFNUVg?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLXBheFNUVg?revision=2","title":"thum-curso-nodejs.jpg","associationType":"TEASER","width":1280,"height":720,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWx3Z3FQWA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWx3Z3FQWA?revision=2","title":"ms-learn.png","associationType":"BODY","width":1881,"height":978,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWtHUGJmTg?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWtHUGJmTg?revision=2","title":"image.png","associationType":"BODY","width":1880,"height":735,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWNPWWk1VA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWNPWWk1VA?revision=2","title":"image-02.png","associationType":"BODY","width":1882,"height":967,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLU5jbG9jZA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLU5jbG9jZA?revision=2","title":"image-03.png","associationType":"BODY","width":1887,"height":974,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLUJNaGFoVA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLUJNaGFoVA?revision=2","title":"image-04.png","associationType":"BODY","width":1882,"height":956,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLUdGSVFIbg?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLUdGSVFIbg?revision=2","title":"image-05.png","associationType":"BODY","width":1885,"height":940,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWowcFpwVg?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWowcFpwVg?revision=2","title":"image-06.png","associationType":"BODY","width":1891,"height":943,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLTI3U0pnbA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLTI3U0pnbA?revision=2","title":"image-07.png","associationType":"BODY","width":1886,"height":859,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLUNwdHR2WQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLUNwdHR2WQ?revision=2","title":"image.png","associationType":"BODY","width":1880,"height":735,"altText":""},"BlogTopicMessage:message:4330231":{"__typename":"BlogTopicMessage","subject":"Curso Grátis de Node.js da Microsoft que TODO Desenvolvedor Precisa Conhecer!","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4330231},"lastPostingActivityTime":"2024-11-22T13:21:22.511-08:00","solved":false},"id":"message:4330231","revisionNum":2,"uid":4330231,"depth":0,"board":{"__ref":"Blog:board:DesenvolvedoresBR"},"author":{"__ref":"User:user:321336"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" \u0026nbsp; \n \n Quer aprender Node.js e dar um upgrade na sua carreira? A Microsoft oferece um curso GRÁTIS que te ensina desde os fundamentos até a criação de APIs poderosas com Express. E tem mais: você pode obter uma certificação gratuita no final! Descubra como começar! ","introduction":"Descubra o curso grátis de Node.js da Microsoft que todo desenvolvedor precisa conhecer! Aprenda desde conceitos básicos até a criação de APIs completas com Express e obtenha uma certificação gratuita. Eleve sua carreira agora mesmo!","metrics":{"__typename":"MessageMetrics","views":1745},"postTime":"2024-11-22T13:11:10.890-08:00","lastPublishTime":"2024-11-22T13:21:22.511-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" No artigo de hoje, queremos apresentar um curso totalmente gratuito da Microsoft, que é uma verdadeira joia para quem deseja aprender Node.js. \n Estaremos destilando o conteúdo do curso e fornecendo uma visão geral do que você pode esperar ao realizar este curso, que ao final, além de aprender Node.js, você também terá a oportunidade de obter uma certificação gratuita e melhor com a chancela da Microsoft e do Satya Nadella. \n O que é Microsoft Learn? \n \n Microsoft Learn\u0026nbsp;é uma plataforma de aprendizado gratuita da Microsoft que oferece uma ampla gama de cursos gratuitos para desenvolvedores, profissionais de TI e estudantes. \n Você encontrará cursos sobre: \n \n Cloud Computing \n Desenvolvimento de Aplicações (Python,\u0026nbsp;JavaScript,\u0026nbsp;C#,\u0026nbsp;Golang, etc.) \n Segurança \n Machine Learning \n DevOps \n Inteligência Artificial \n Infraestrutura \n E muito mais! \n \n E, melhor de tudo, além de ser gratuito, você também pode obter certificações gratuitas da Microsoft ao concluir os cursos para adicionar ao seu currículo. \n Agora, vamos falar sobre o curso de Node.js da Microsoft. \n Como o curso de Node.js da Microsoft pode transformar sua carreira? \n \n Se você é um desenvolvedor iniciante ou um estudante que deseja explorar o mundo do desenvolvimento de aplicações JavaScript com Node.js, este curso gratuito do Microsoft Learn: Introdução ao Node.js, é perfeito para você! \n Agora, vamos explorar cada um dos módulos deste curso para que você entenda como ele pode ajudar você a dominar o desenvolvimento com Node.js. \n \u0026gt; O curso está disponível em português! \n Módulo 1: Introdução ao Node.js \n \n Neste módulo inicial, você aprenderá: \n \n O que é Node.js?\u0026nbsp;descubra como ele funciona, suas principais características e vantagens. \n Quando usar o Node.js?\u0026nbsp;entenda as situações em que ele é a escolha ideal para criar aplicações. \n Mãos na massa! você também terá a chance de experimentar o Node.js na prática, com um exercício introdutório que o ajudará a se sentir à vontade com o ambiente. \n \n Aprenda mais sobre este módulo:\u0026nbsp;Introduction to Node.js. \n Módulo 2: Crie um novo projeto do Node.js e trabalhe com dependências \n \n Aqui, você aprenderá como configurar um projeto Node.js e usar o\u0026nbsp;npm\u0026nbsp;para gerenciar dependências. Os principais tópicos incluem: \n \n Configurar o package.json\u0026nbsp;para gerenciar metadados do projeto e dependências. \n Adicionar pacotes\u0026nbsp;ao seu projeto Node.js para acelerar o desenvolvimento. \n Gerenciar atualizações\u0026nbsp;de dependências, garantindo que seu projeto esteja sempre atualizado e seguro. \n \n Dê o próximo passo para se tornar um desenvolvedor Node.js eficiente:\u0026nbsp;Crie um projeto do Node.js e trabalhe com dependências. \n Módulo 3: Depure aplicativos Node.js interativamente com depuradores internos e do Visual Studio Code \n \n Depurar é uma habilidade muito importante para qualquer desenvolvedor. Neste módulo, você aprenderá: \n \n Entender o que é um depurador\u0026nbsp;e como ele pode ajudar a identificar e corrigir problemas no seu código. \n Depurar com o depurador embutido do Node.js\u0026nbsp;e também com o Visual Studio Code, aprendendo técnicas valiosas para solucionar bugs rapidamente. \n \n Aprenda a depurar suas aplicações Node.js e torne-se um desenvolvedor mais eficiente:\u0026nbsp;Depure aplicativos Node.js interativamente com depuradores internos e do Visual Studio Code. \n Módulo 4: Trabalhe com arquivos e diretórios em um aplicativo Node.js \n \n Manipular arquivos e diretórios é uma habilidade essencial em muitas aplicações. Neste módulo, você aprenderá: \n \n Trabalhar com o sistema de arquivos\u0026nbsp;usando os módulos do Node.js para ler e escrever arquivos. \n Criar e gerenciar diretórios\u0026nbsp;e aprender a trabalhar com caminhos de arquivos de forma eficiente. \n \n Domine a manipulação de arquivos e melhore suas habilidades de desenvolvimento com Node.js:\u0026nbsp;Trabalhe com arquivos e diretórios em um aplicativo Node.js. \n Módulo 5: Crie uma API Web com o Node.js e o Express \n \n Neste módulo, você irá explorar o framework Express para construir APIs RESTful. Você aprenderá: \n \n Criar uma aplicação web com o Express\u0026nbsp;e configurar middlewares para adicionar funcionalidades como autenticação e logging. \n Gerenciar o ciclo de vida das requisições\u0026nbsp;para fornecer respostas consistentes e seguras. \n \n Aprenda a criar APIs poderosas e comece a integrar seus sistemas com Node.js:\u0026nbsp;Crie uma API Web com o Node.js e o Express. \n Módulo 6: Introdução ao gerenciamento de rotas no Node.js com JavaScript \n \n Por fim, o curso aborda como gerenciar rotas para organizar melhor suas APIs, incluindo: \n \n Entender URLs e rotas\u0026nbsp;e como lidar com requisições HTTP. \n Configurar múltiplas rotas\u0026nbsp;para responder a diferentes endpoints, tornando sua API mais flexível. \n \n Melhore suas habilidades de gerenciamento de rotas e organize suas APIs:\u0026nbsp;Introdução ao gerenciamento de rotas no Node.js com JavaScript. \n Conclusão \n Nesse artigo podemos ver que a Microsoft oferece uma ampla gama de cursos gratuitos para desenvolvedores, profissionais de TI e estudantes. \n E, o curso do Microsoft Learn sobre Node.js é uma excelente oportunidade para desenvolvedores e estudantes que desejam se aprofundar no desenvolvimento de aplicações JavaScript. \n Cada módulo foi cuidadosamente projetado para oferecer uma base sólida em conceitos essenciais e práticos, desde a introdução ao Node.js até a criação de APIs completas com Express. \n Com este aprendizado, você poderá desenvolver aplicações robustas e eficientes, melhorando suas habilidades como desenvolvedor e ampliando suas oportunidades no mercado de trabalho. Não importa se você está apenas começando ou se já tem alguma experiência, este curso fornecerá as ferramentas necessárias para te dar um grande passo na sua carreira. \n Então, não perca mais tempo, mergulhe nesse conteúdo e comece a criar suas aplicações com Node.js hoje mesmo! \n Inscreva-se agora no curso completo e transforme suas habilidades em Node.js:\u0026nbsp;Crie aplicativos JavaScript com Node.js. \n \u0026nbsp; \n \n E, se você gostou deste artigo, compartilhe com seus amigos e colegas para que mais pessoas possam se beneficiar deste conteúdo gratuito e de alta qualidade.\u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"6244","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:developers","text":"developers","time":"2017-12-14T04:19:24.300-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":4,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLXJ4SGpJYQ?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLXBheFNUVg?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWx3Z3FQWA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWtHUGJmTg?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWNPWWk1VA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w2","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLU5jbG9jZA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w3","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLUJNaGFoVA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w4","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLUdGSVFIbg?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w5","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLWowcFpwVg?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxMA","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLTI3U0pnbA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxMQ","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLUNwdHR2WQ?revision=2\"}"}}],"totalCount":11,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzMwMjMxLXJ4SGpJYQ?revision=2"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"WIDE","titlePosition":"BOTTOM","altText":""}},"Category:category:MicrosoftMVPAwardProgram":{"__typename":"Category","id":"category:MicrosoftMVPAwardProgram","displayId":"MicrosoftMVPAwardProgram"},"Blog:board:MVPAwardProgramBlog":{"__typename":"Blog","id":"board:MVPAwardProgramBlog","displayId":"MVPAwardProgramBlog","nodeType":"board","conversationStyle":"BLOG","title":"Microsoft MVP Communities Blog","shortTitle":"Microsoft MVP Communities Blog","parent":{"__ref":"Category:category:MicrosoftMVPAwardProgram"}},"User:user:3015":{"__typename":"User","uid":3015,"login":"RieMoriguchi","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0zMDE1LTIzNjIwOWkyMERGQjdBREI3RUEwN0U2"},"id":"user:3015"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXplN1VlTQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXplN1VlTQ?revision=2","title":"MVP's Favorite Content_Cover_20241122.jpg","associationType":"COVER","width":1280,"height":720,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXZJWkVkSA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXZJWkVkSA?revision=2","title":"Brian Boenk.jpg","associationType":"BODY","width":1200,"height":1201,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXFZdWlRZA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXFZdWlRZA?revision=2","title":"Valerie Junk.jpg","associationType":"BODY","width":378,"height":378,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LU9sb1EyWA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LU9sb1EyWA?revision=2","title":"MEZBA UDDIN.jpg","associationType":"BODY","width":378,"height":378,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LVRBd0M0Qw?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LVRBd0M0Qw?revision=2","title":"Maison da Silva.jpg","associationType":"BODY","width":589,"height":591,"altText":""},"BlogTopicMessage:message:4310937":{"__typename":"BlogTopicMessage","subject":"MVP’s Favorite Content: Fabric, Azure, Windows Security","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4310937},"lastPostingActivityTime":"2024-11-23T01:51:27.889-08:00","solved":false},"id":"message:4310937","revisionNum":2,"uid":4310937,"depth":0,"board":{"__ref":"Blog:board:MVPAwardProgramBlog"},"author":{"__ref":"User:user:3015"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" Let’s keep learning about Microsoft Fabric, Azure, and Windows security with top picks from Microsoft MVPs! ","introduction":"Let’s keep learning about Microsoft Fabric, Azure, and Windows security with top picks from Microsoft MVPs!","metrics":{"__typename":"MessageMetrics","views":112},"postTime":"2024-11-22T07:00:00.023-08:00","lastPublishTime":"2024-11-22T07:00:00.023-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" In this blog series dedicated to Microsoft's technical articles, we'll highlight our MVPs' favorite article along with their personal insights. \n \u0026nbsp; \n Brian Bønk, Data Platform MVP, Denmark \n \n Create a Real-Time Dashboard (preview) - Microsoft Fabric | Microsoft Learn \n \"The Real-Time Dashboard is really the new kid on the block around insights to steaming data. The value proposition gives the organisation capabilities to get insights in data as they happen, with minimal latency. \n The service compliments Power BI and gives Fabric a complete set of functionalities to get insights when and where they are needed.\" \n *Relevant Blog: Real-Time News From Build \n \u0026nbsp; \n Valerie Junk, Data Platform MVP, Netherlands \n \n Real-Time Intelligence tutorial - Introduction - Microsoft Fabric | Microsoft Learn \n \"This tutorial is excellent for anyone looking to implement real-time intelligence in Fabric but who may be having trouble finding a solid starting point. It uses readily available sample data and outlines seven clear steps, from creating an initial setup to removing all created resources in the final step. The instructions are easy to follow and provide the audience with all the necessary information to get started and give it a try.\" \n *Relevant Activity: I created a video: Implementing Real-Time Intelligence in Microsoft Fabric Eventstream, KQL, Real-Time Dashboard in which I follow the tutorial (all seven steps) so that everyone who prefers watching something first before trying to learn something can follow it. It also helps if someone gets stuck on one of the steps to see my solution. \n \u0026nbsp; \n Mezba Uddin, M365, Cloud and Datacenter Management MVP, United Kingdom \n \n Design a solution for backup and disaster recovery - Training | Microsoft Learn \n “I highly recommend the SC-300: Implement an Authentication and Access Management Solution on Microsoft Learn. This resource covers critical aspects of identity and access management in Microsoft Entra ID, including multi factor authentication, user authentication methods, Conditional Access, and Microsoft Entra Global Secure Access. Engaging with this path will strengthen your ability to secure identities and manage access efficiently, providing essential tools to uphold security and compliance.\" \n *Relevant Blog: What If Tool in Entra ID Conditional Access | LinkedIn \n \u0026nbsp; \n Maison da Silva, Windows and Devices MVP, Brazil \n \n Windows security documentation | Microsoft Learn \n “If you are encountering the error \"Your IT admin has limited access to some areas of this app\" when trying to access the Windows Security app, follow this guide to resolve the issue effectively” \n (In Portuguese: Se você está enfrentando o erro “Seu Administrador de TI Limitou o Acesso a Algumas Áreas deste Aplicativo” ao tentar acessar o aplicativo Segurança do Windows, siga este guia para resolver o problema de forma eficaz) \n *Relevant Blog: Como Corrigir o Erro “Seu Administrador de TI Limitou o Acesso” no app Segurança do Windows – Maison da Silva ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"3049","kudosSumWeight":3,"repliesCount":1,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:Microsoft Azure","text":"Microsoft Azure","time":"2019-01-08T17:09:43.873-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:Microsoft Fabric","text":"Microsoft Fabric","time":"2023-05-24T01:44:30.492-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:MVP's Favorite Content","text":"MVP's Favorite Content","time":"2023-10-27T08:00:00.065-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDQ","node":{"__typename":"Tag","id":"tag:Windows Security","text":"Windows Security","time":"2018-06-26T17:46:32.279-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":2,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXplN1VlTQ?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXZJWkVkSA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXFZdWlRZA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LU9sb1EyWA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LVRBd0M0Qw?revision=2\"}"}}],"totalCount":5,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzEwOTM3LXplN1VlTQ?revision=2"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Blog:board:AzureGovernanceandManagementBlog":{"__typename":"Blog","id":"board:AzureGovernanceandManagementBlog","displayId":"AzureGovernanceandManagementBlog","nodeType":"board","conversationStyle":"BLOG","title":"Azure Governance and Management Blog","shortTitle":"Azure Governance and Management Blog","parent":{"__ref":"Category:category:Azure"}},"User:user:2049807":{"__typename":"User","uid":2049807,"login":"mutemwamasheke","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0yMDQ5ODA3LWpUQzdMMQ?image-coordinates=0%2C0%2C800%2C800"},"id":"user:2049807"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLWVwMlhyTw?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLWVwMlhyTw?revision=4","title":"Slide10.jpg","associationType":"COVER","width":1280,"height":720,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLTdtMzF2eg?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLTdtMzF2eg?revision=4","title":"clipboard_image-1-1732112395429.png","associationType":"BODY","width":1600,"height":682,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLXlFZ2dqTQ?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLXlFZ2dqTQ?revision=4","title":"clipboard_image-2-1732112597195.png","associationType":"BODY","width":1600,"height":882,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLWhTTmtnYw?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLWhTTmtnYw?revision=4","title":"clipboard_image-3-1732112597196.png","associationType":"BODY","width":1600,"height":834,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLTQ5VG11Sw?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLTQ5VG11Sw?revision=4","title":"clipboard_image-4-1732112597193.png","associationType":"BODY","width":886,"height":331,"altText":""},"BlogTopicMessage:message:4305960":{"__typename":"BlogTopicMessage","subject":"Everything New in Azure Governance @ Ignite 2024","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4305960},"lastPostingActivityTime":"2024-11-22T05:03:26.020-08:00","solved":false},"id":"message:4305960","revisionNum":4,"uid":4305960,"depth":0,"board":{"__ref":"Blog:board:AzureGovernanceandManagementBlog"},"author":{"__ref":"User:user:2049807"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"Azure Governance is proud to share new releases across our product portfolio for Ignite 2024!","metrics":{"__typename":"MessageMetrics","views":311},"postTime":"2024-11-22T04:42:34.077-08:00","lastPublishTime":"2024-11-22T05:03:26.020-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" You've come to the right place if you're looking for everything happening with Azure Governance at Microsoft Ignite, November 19-22, 2024.\u0026nbsp; \n Azure Governance is an ecosystem of neatly integrated services that provide the ability to ensure speed and control across your cloud environment. From enforcing rules in your cloud environment to querying the state of your resources at-scale, Azure Governance services keep your resources secure and compliant with corporate standards. \n The Azure Governance team is excited to share all the following new features across our product portfolio. For each of the features, you will find an accompanying announcement with scenario details, documentation and blog posts to follow along! \n \u0026nbsp; \n\n Azure Change Analysis\u0026nbsp;\u0026nbsp; \n Change Actor – Generally Available\u0026nbsp; \n We are excited to announce the General Availability of Change Actor in Azure, a feature that enhances Change Analysis by identifying who made changes to your resources and how. With this update, you can audit changes across all tenants and subscriptions, seeing who initiated changes and with which identity. Changes are available in under five minutes and are queryable for fourteen days, allowing for timely auditing and troubleshooting. Additionally, you can craft charts and pin results to Azure dashboards based on specific change queries through Azure Resource Graph, providing a comprehensive view of changes across your environment.\u0026nbsp; \n \u0026nbsp; \n \n Change Actor experience in Azure Portal \n \n Overview of change analysis: https://learn.microsoft.com/azure/governance/resource-graph/changes/get-resource-changes?tabs=azure-cli\u0026nbsp; \n \n \n Change analysis portal experience: https://learn.microsoft.com/azure/governance/resource-graph/changes/view-resource-changes\u0026nbsp; \n \n \n Change actor blog announcement: https://techcommunity.microsoft.com/blog/azuregovernanceandmanagementblog/announcing-the-general-availability-of-change-actor/4171801\u0026nbsp; \n \n Azure Policy\u0026nbsp; \n Query Component-level AKS/HSM policy compliance in Azure Resource Graph\u0026nbsp; \n Effortlessly query policy compliance down to the component-level across your AKS, Key Vault, and Managed HSM resources in Azure Resource Graph! With component-level granularity of AKS Policy compliance, you verify if your pods are using approved base images, audit the labelling of your namespaces or ensure your Managed HSM instances to configure the required security settings—all through ARG. Through a unified experience with Azure Policy and Azure Resource Graph, you can gain deeper insights into the compliance state of each AKS component with precision, ensuring your resources are always in line with your organization’s standards.\u0026nbsp;\u0026nbsp; \n \u0026nbsp; \n \n AKS Policy component-level compliance in ARG\u0026nbsp; \n CEL-based support for AKS Policy (preview)\u0026nbsp; \n Introducing CEL and VAP support in AKS Policy! Common Expression Language (CEL) is a Kubernetes-native expression language that can be used to declare validation rules of a policy. Validating Admission Policy (VAP) feature provides in-tree policy evaluation, reduces admission request latency, and improves reliability and availability. The supported validation actions include Deny, Warn, and Audit. Custom policy authoring for CEL/VAP is allowed, and existing users won't need to convert their Rego to CEL as they will both be supported and be used to enforce policies. You'll be able to view violation messages at request time and audit results in the portal just like with Rego.\u0026nbsp; \n \n MS Learn documentation: https://learn.microsoft.com/azure/governance/policy/concepts/policy-for-kubernetes#171\u0026nbsp;\u0026nbsp; \n \n Support for Expansion in AKS Policy\u0026nbsp; \n Introducing expansion, a shift left feature that lets you know up front whether your workload resources (Deployments, ReplicaSets, Jobs, etc.) will produce admissible pods. Expansion shouldn't change the behavior of your policies; rather, it just shifts Gatekeeper's evaluation of pod-scoped policies to occur at workload admission time rather than pod admission time. To enable expansion for a given policy definition, set.policyRule.then.details.source to All, and if needed, use a mutation with source Generated to mutate the what-if pods for evaluation purposes.\u0026nbsp; \n \n MS Learn documentation: https://learn.microsoft.com/en-us/azure/governance/policy/concepts/policy-for-kubernetes#170\u0026nbsp;\u0026nbsp; \n \n Expanded list of Policy for AKS Built-In Definitions – Generally Available\u0026nbsp; \n Azure Policy has expanded the list of mutation built-in definitions for Azure Kubernetes Service (AKS). These new definitions allow you to automatically remediate the configuration of your AKS pods and containers at scale across your cluster. With this update, you can manage and enforce configuration changes more efficiently, ensuring consistency and compliance within your AKS environment. With Mutation policies, you can:\u0026nbsp; \n \n Enforcing Resource Limits: Automatically set resource limits on pods and containers to prevent any single workload from consuming too many resources.\u0026nbsp; \n \n \n Injecting Sidecars: Mutate pod specifications to include sidecar containers for logging, monitoring, or security purposes, without requiring changes to the original pod definitions.\u0026nbsp; \n \n \n Setting Environment Variables: Specify the environment variables set in containers, which can be used for configuration or to pass secrets securely.\u0026nbsp; \n \n MS Learn documentation: https://learn.microsoft.com/azure/aks/policy-reference\u0026nbsp;\u0026nbsp; \n Policy Versioning support Built-in Definitions – Public Preview\u0026nbsp; \n With Versioning, you can now gradually ingest built-in definition changes with zero-gap in enforcement! All Azure Policy built-in definitions will now follow a standardized version pattern: at assignment time, simply specify the version number of the built-in definition to enforce on your environment. Have a previous definition version already assigned? Leverage assignment-level selectors and overrides property to gradually update the assignment to the latest version of the built-in definition. Additionally, versioning awareness is displayed in compliance logs on a per-resource basis, enhancing your ability to govern and evolve your cloud governance policies with greater agility.\u0026nbsp;\u0026nbsp; \n \n Tech Community Blog:\u0026nbsp; https://techcommunity.microsoft.com/blog/azuregovernanceandmanagementblog/public-preview-announcement-azure-policy-built-in-versioning/4186105\u0026nbsp;\u0026nbsp; \n \n \n MS Learn Documentation: https://learn.microsoft.com/azure/governance/policy/concepts/definition-structure-basics#version-preview\u0026nbsp;\u0026nbsp; \n \n Azure Machine Configuration\u0026nbsp; \n Support for User Assigned Identity Based Access for Configuration Packages – Generally Available\u0026nbsp;\u0026nbsp; \n User Assigned Identity support for configuration package access in Azure Machine Configuration is now Generally Available, reinforcing our commitment to security and simplicity in at-scale server management for all Azure customers. This feature enhances your server configuration management lifecycle by providing a secure and straightforward alternative to the use of Shared Access Signature (SAS) Tokens for anonymous access. With User Assigned Identities, you can now privately access configuration packages stored in Azure Storage Blobs, ensuring that your server management operations are both secure and efficient.\u0026nbsp; \n \n Tech Community Blog:\u0026nbsp; Securely store your Machine Configuration packages in Azure Storage using User Assigned Identities\u0026nbsp; \n \n \n MS Learn Documentation: https://learn.microsoft.com/azure/governance/machine-configuration/how-to/create-policy-definition\u0026nbsp; \n \n SSH Posture control through Machine Configuration – Generally Available\u0026nbsp; \n Additional built-in capabilities to enhance your Linux management scenarios are now generally available through Azure policy and Machine Configuration! Through new built-in policies, you can manage your SSH configuration settings declaratively at-scale. SSH Posture Control also provides detailed Reasons describing how compliance or non-compliance was determined. These Reasons help you to document compliance for auditors with confidence and evidence. They also enable you to take action when non-compliance is observed.\u0026nbsp; \n \n MS Learn documentation: https://learn.microsoft.com/azure/osconfig/overview-ssh-posture-control-mc\u0026nbsp;\u0026nbsp; \n \n Azure Resource Graph\u0026nbsp; \n ARG PowerBI – Generally Available\u0026nbsp; \n We are pleased to announce General Availability of the Azure Resource Graph Power BI connector! Now, you can run queries against your Azure resources and visualize the results directly in Power BI. With seamless integration, you can connect Azure Resource Graph with Power BI Desktop or Power BI service to analyze your Azure resources, and the connector has an optional setting to return all records if your query results exceed 1,000 records. This feature provides deeper insights and more control over your Azure resources, enhancing your ability to manage and govern your cloud infrastructure.\u0026nbsp; \n \n Learn documentation: https://learn.microsoft.com/azure/governance/resource-graph/power-bi-connector-quickstart?tabs=power-bi-desktop\u0026nbsp;\u0026nbsp; \n \n Azure Resource Graph Copilot – Public Preview\u0026nbsp; \n With the release of the Azure Resource Graph (ARG) skill within Copilot, customers can access the ARG query skill through Azure Portal or Github Copilot. Questions about resource governance like “how many Linux VMs do I own” will be sent to the ARG Skill. With this release, customers can easily turn natural language questions into ARG queries. ARG Copilot helps users create queries to quickly surface insights about resources and simplify operational investigations.\u0026nbsp; \n \u0026nbsp; \n \n ARG Copilot in Azure Portal\u0026nbsp; \n \n ARG Copilot in Github Copilot\u0026nbsp; \n \n MS Learn documentation: https://learn.microsoft.com/azure/copilot/get-information-resource-graph\u0026nbsp;\u0026nbsp; \n \n ARG GET/LIST API - Private preview\u0026nbsp; \n Now available for private preview is the Azure Resource Graph GET/LIST API, a highly scalable, fast, and performant alternative to existing control plane GET and List API calls within the Azure ecosystem. This API allows you to mitigate issues related to throttling, such as performance degradation and failed requests offering a 10X higher Read throttling quota to callers, ensuring faster and more efficient read operations for your critical cloud native workload. Contact argpms@microsoft.com to join the private preview program! \n Azure Resource Manager\u0026nbsp; \n All New Azure Resource Manager Throttling Experience\u0026nbsp;\u0026nbsp; \n We are thrilled to announce the modernization of Azure Resource Manager throttling. This upgrade introduces a revamped throttling experience for Azure subscriptions, bringing increased limits and a token bucket algorithm for managing API requests! Throttling limits have increased by roughly 30 times for writes, 2.4 times for deletes, and 7.5 times for reads.\u0026nbsp; \n \n Tech Community Blog:\u0026nbsp;https://azure.microsoft.com/updates?id=azure-resource-manager-throttling\u0026nbsp; \n \n \n Learn documentation: https://learn.microsoft.com/azure/azure-resource-manager/management/request-limits-and-throttling\u0026nbsp; \n \n Azure Resource Notification\u0026nbsp; \n ContainerserviceEventresources System Topic for AKS - Public Preview\u0026nbsp;\u0026nbsp;\u0026nbsp; \n We are excited to announce public preview of the Azure Resource Notification ContainerServiceEventResources system topic that empowers customers with proactive notifications for critical AKS cluster maintenance events, covering statuses such as scheduled, started, and completed. By enhancing planning capabilities, this feature reduces operational disruptions and minimizes costs, allowing you to manage maintenance with greater confidence and efficiency.\u0026nbsp; \n \n MS Learn documentation: https://learn.microsoft.com/azure/event-grid/event-schema-containerservice-resources\u0026nbsp; \n \n Stay Updated\u0026nbsp; \n Keep in touch with Azure Governance products, announcements, and key scenarios.\u0026nbsp; \n \n Bookmark the Azure Governance Tech Community Blog, then follow us @AzureGovernance on X (previously known as Twitter)\u0026nbsp; \n \n \n Share Product feedback/ideas with us here- Azure Governance · Community\u0026nbsp; \n \n \n For questions, you can reach us at: \n \n \n \n \n Azure Policy: policypm@microsoft.com\u0026nbsp;\u0026nbsp; \n \n \n \n \n \n \n Azure Resource Graph: argpms@microsoft.com\u0026nbsp;\u0026nbsp; \n \n \n ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"12511","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:governance","text":"governance","time":"2017-06-28T03:59:18.752-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:guest configuration","text":"guest configuration","time":"2020-09-11T07:02:22.761-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:Management","text":"Management","time":"2016-09-06T09:43:07.186-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDQ","node":{"__typename":"Tag","id":"tag:microsoft ignite 2024","text":"microsoft ignite 2024","time":"2024-11-05T20:20:39.017-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDU","node":{"__typename":"Tag","id":"tag:policy","text":"policy","time":"2017-12-08T02:10:32.899-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":7,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLWVwMlhyTw?revision=4\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLTdtMzF2eg?revision=4\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLXlFZ2dqTQ?revision=4\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLWhTTmtnYw?revision=4\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLTQ5VG11Sw?revision=4\"}"}}],"totalCount":5,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA1OTYwLWVwMlhyTw?revision=4"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Blog:board:IntegrationsonAzureBlog":{"__typename":"Blog","id":"board:IntegrationsonAzureBlog","displayId":"IntegrationsonAzureBlog","nodeType":"board","conversationStyle":"BLOG","title":"Azure Integration Services Blog","shortTitle":"Azure Integration Services Blog","parent":{"__ref":"Category:category:Azure"}},"User:user:1524165":{"__typename":"User","uid":1524165,"login":"hcamposu","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0xNTI0MTY1LTUwOTc2N2lCREVDRDAxQjMxQ0Q3OTM0"},"id":"user:1524165"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxNTg4LW5qN2RqRw?revision=8\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxNTg4LW5qN2RqRw?revision=8","title":"MainbIZtALK.png","associationType":"COVER","width":1242,"height":666,"altText":""},"BlogTopicMessage:message:4321588":{"__typename":"BlogTopicMessage","subject":"Announcing the BizTalk Server 2020 Cumulative Update 6","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4321588},"lastPostingActivityTime":"2024-11-21T18:20:47.602-08:00","solved":false},"id":"message:4321588","revisionNum":8,"uid":4321588,"depth":0,"board":{"__ref":"Blog:board:IntegrationsonAzureBlog"},"author":{"__ref":"User:user:1524165"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"","metrics":{"__typename":"MessageMetrics","views":128},"postTime":"2024-11-21T17:57:23.673-08:00","lastPublishTime":"2024-11-21T18:20:47.602-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" The BizTalk Server product team has released the Cumulative Update 6 for BizTalk Server 2020. \n \u0026nbsp; \n The Cumulative Update 6 contains all released functional and security fixes for customer-reported issues for BizTalk Server 2020. Also, CU6 includes support for the following new Microsoft platforms: \n \u0026nbsp; \n \n Microsoft Windows Server 2022 \n Microsoft SQL Server 2022 \n Microsoft Windows 11 \n \n \u0026nbsp; \n BizTalk Server 2016 is currently out of support with its end of life in 2027. If you are running BizTalk 2016, or earlier versions of the product, you must upgrade to BizTalk Server 2020 CU6 or strongly consider migrating to Azure Logic Apps. Please fill this survey: https://aka.ms/biztalklogicapps. \n \u0026nbsp; \n More Information about the CU6: \n This cumulative update includes all the product components. However, only those components that are currently installed on the system are updated. This CU6 includes fixes for the following areas: \n BizTalk Server Adapters Updates \n \n WCF-SAP adapter \n SFTP adapter \n \n BizTalk Server Administration Tools and Management APIs \n \n Lost changes to SQL Server Agent jobs \n \n You can obtain the software from the Microsoft Download Center, at https://aka.ms/BTS2020CU6. For more information about the BizTalk Server 2020 CU6, read the Microsoft Knowledgebase article posted to https://aka.ms/BTS2020CU6KB. \n \u0026nbsp; \n \n \u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"1385","kudosSumWeight":2,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:biztalk","text":"biztalk","time":"2018-09-12T13:41:08.828-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:biztalk migration","text":"biztalk migration","time":"2024-09-06T17:30:17.597-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:biztalk modernization","text":"biztalk modernization","time":"2024-09-06T17:30:17.597-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":1,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxNTg4LW5qN2RqRw?revision=8\"}"}}],"totalCount":1,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[{"__typename":"VideoEdge","cursor":"MHxodHRwczovL3lvdXR1LmJlL040ZzZERXdINmRFLzE3MzIyNDA2MDc2NzB8MHwyNTsyNXx8","node":{"__typename":"AssociatedVideo","videoTag":{"__typename":"VideoTag","vid":"https://youtu.be/N4g6DEwH6dE/1732240607670","thumbnail":"","uploading":false,"height":240,"width":320,"title":null},"videoAssociationType":"INLINE_BODY"}}],"totalCount":1,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIxNTg4LW5qN2RqRw?revision=8"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Category:category:Microsoft365Copilot":{"__typename":"Category","id":"category:Microsoft365Copilot","displayId":"Microsoft365Copilot"},"Blog:board:Microsoft365CopilotBlog":{"__typename":"Blog","id":"board:Microsoft365CopilotBlog","displayId":"Microsoft365CopilotBlog","nodeType":"board","conversationStyle":"BLOG","title":"Microsoft 365 Copilot","shortTitle":"Microsoft 365 Copilot","parent":{"__ref":"Category:category:Microsoft365Copilot"}},"User:user:2052111":{"__typename":"User","uid":2052111,"login":"JillArmourMicrosoft","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0yMDUyMTExLTUyMzQ4M2k0NzRFNjIxNUE3NkI4NzIw"},"id":"user:2052111"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM0LUpyRXJrWQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM0LUpyRXJrWQ?revision=1","title":"m365copilot.jpg","associationType":"COVER","width":364,"height":229,"altText":""},"BlogTopicMessage:message:4320834":{"__typename":"BlogTopicMessage","subject":"ICYMI | Microsoft Partner Blog: How agents in Microsoft 365 Copilot help customers and partners drive business results","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4320834},"lastPostingActivityTime":"2024-11-21T12:27:32.900-08:00","solved":false},"id":"message:4320834","revisionNum":1,"uid":4320834,"depth":0,"board":{"__ref":"Blog:board:Microsoft365CopilotBlog"},"author":{"__ref":"User:user:2052111"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"By Srini Raghavan, Vice President, Microsoft 365 Ecosystem\n","metrics":{"__typename":"MessageMetrics","views":109},"postTime":"2024-11-21T12:27:32.900-08:00","lastPublishTime":"2024-11-21T12:27:32.900-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" \u0026nbsp; \n Through my frequent conversations with customers, it’s clear that enterprises are embracing Microsoft 365 Copilot as an AI-powered game-changer for productivity. Now, we are helping organizations achieve even greater business value with the recent introduction of agents in Copilot. This week at Microsoft Ignite, the promise of agents has come to life through compelling examples from our customer and partner ecosystem, which I’m excited to share.\u0026nbsp; \n Enterprise customers are developing line-of-business agents to extend skills and knowledge in Copilot for specialized use cases and to scale their teams in unprecedented ways. They’re also adopting powerful third-party agents built by partners who develop software—also known as independent software vendors (ISVs)—and system integrators (SIs), which supercharge employee productivity and accelerate business processes.\u0026nbsp;\u0026nbsp; \n I will cover the two ways in which developers can build and integrate agents with Copilot: declarative agents, which are generally available, and custom engine agents, now in private preview. I will also provide\u0026nbsp;resources for developing agents, explain when to develop each type, and showcase how customers and partners are gaining value from this evolution toward agentic AI.\u0026nbsp; \n \u0026nbsp; \n How agents in Microsoft 365 Copilot can meet your organization’s needs\u0026nbsp; \n \u0026nbsp; \n Agents in Copilot are AI assistants with expertise in a specific set of tasks, like running business processes or adding new skills. Agents allow you to enhance Copilot in three ways:\u0026nbsp; \n \n Focusing Copilot on specific knowledge, such as Microsoft SharePoint files or external content sources\u0026nbsp; \n \n \n Adding new skills, such as updating records or creating support tickets\u0026nbsp; \n \n \n Executing business processes autonomously\u0026nbsp; \n \n Continue reading here ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"1856","kudosSumWeight":1,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"timeToRead":1,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM0LUpyRXJrWQ?revision=1\"}"}}],"totalCount":1,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM0LUpyRXJrWQ?revision=1"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Blog:board:Azure-AI-Services-blog":{"__typename":"Blog","id":"board:Azure-AI-Services-blog","displayId":"Azure-AI-Services-blog","nodeType":"board","conversationStyle":"BLOG","title":"AI - Azure AI services Blog","shortTitle":"AI - Azure AI services Blog","parent":{"__ref":"Category:category:AI"}},"User:user:336048":{"__typename":"User","uid":336048,"login":"YanlingX","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/m_assets/avatars/default/avatar-11.svg"},"id":"user:336048"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM4LXpZS2dFTA?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM4LXpZS2dFTA?revision=1","title":"ConversantionalAI Arch.png","associationType":"COVER","width":2508,"height":1426,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM4LTB3RDMzTQ?revision=1\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM4LTB3RDMzTQ?revision=1","title":"clipboard_image-1-1732220057156.png","associationType":"BODY","width":900,"height":506,"altText":""},"BlogTopicMessage:message:4320838":{"__typename":"BlogTopicMessage","subject":"Announcing an accelerator for GenAI-powered assistants using Azure AI Language and Azure OpenAI","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4320838},"lastPostingActivityTime":"2024-11-21T12:15:59.027-08:00","solved":false},"id":"message:4320838","revisionNum":1,"uid":4320838,"depth":0,"board":{"__ref":"Blog:board:Azure-AI-Services-blog"},"author":{"__ref":"User:user:336048"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"","metrics":{"__typename":"MessageMetrics","views":330},"postTime":"2024-11-21T12:15:59.027-08:00","lastPublishTime":"2024-11-21T12:15:59.027-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" We’re thrilled to introduce a new accelerator solution in GitHub Azure-Samples library designed specifically for creating and enhancing your GenAI-based conversational assistants with robust, human-controllable workflows. This accelerator uses key services from Azure AI Language\u0026nbsp; in addition to Azure OpenAI, including PII detection to protect sensitive information, Conversational Language Understanding (CLU) to predict top users’ intents, Custom Question Answering (CQA) to respond to top questions with deterministic answers. Together with Azure OpenAI and Large Language Models (LLMs), the solution is designed to orchestrate and deliver a smooth, human-guided, controllable and deterministic conversational experience. The integration with LLMs will come soon. It’s perfect for developers and organizations looking to build assistants that can handle complex queries, route tasks, and provide reliable answers, all with a controlled, scalable architecture. \n Why This Accelerator \n While LLMs have been appreciated by many customers to build conversational assistants for natural, engaging, and context-aware interactions, there are challenges such as the significant efforts required in prompt engineering, document chunking, and reducing hallucinations to improve the quality of their Retrieval-Augmented Generation (RAG) solutions. If an AI quality issue is discovered in production, customers need to find an effective way to address it promptly. This solution aims to help customers utilize offerings in the Azure AI portfolio and address key challenges when building Generative AI (GenAI) assistants. \n Designed for flexibility and reliability, this accelerator enables human-controllable workflows that meet real-world customer needs. It minimizes the need for extensive prompt engineering by using a structured workflow to prioritize top questions with exact answers and custom intents that are critical to your business and use LLM to handle topics in a conversation that have lower priorities. This architecture not only enhances answer quality and control but also ensures that complex queries are handled efficiently. \n If you want to fix quickly an incorrect answer for your chatbot built with RAG, you can also attach this accelerator solution to your existing RAG solution and quickly add a QA pair with the correct response in CQA to fix the issue for your users. \n What This Accelerator Delivers \n This accelerator provides and demonstrates an end-to-end orchestration using a few capabilities in Azure AI Language and Azure OpenAI for conversational assistants. It can be applied in various scenarios where control over assistant behavior and response quality is essential, like call centers, help desks, and other customer support applications. \n Below is a reference architecture of the solutions: \n \u0026nbsp; \n \n \u0026nbsp; \n Key components of this solution include (components in dash boxes coming soon): \n \n Client-Side User Interface for Demonstration (coming soon) \n \n A web-based client-side interface is included in the accelerator solution, to showcase the accelerator solution in an interactive, user-friendly format. This web UI allows you to quickly explore and test this solution, such as its orchestration routing behavior and functionalities. \n \n Workflow Orchestration for Human-Controllable Conversations By combining services like CLU, CQA, and LLMs, the accelerator allows for a dynamic, adaptable workflow. CLU can recognize and route customer-defined intents, while CQA provides exact answers from predefined QA pairs. If a question falls outside the pre-defined scope, the workflow can seamlessly fall back to LLMs, which is enhanced with RAG for contextually relevant, accurate responses. This workflow ensures human-like adaptability while maintaining control over assistant responses. \n Conversational Language Understanding (CLU) for Intent Routing The CLU service allows you to define the top intents you want the assistants to handle. The top intents can be those critical to your business and/or those most users ask your assistants. This component plays a central role in directing conversations by interpreting user intents and routing them to the right action or AI agents. Whether completing a task or addressing specific customer needs, CLU provides the mechanism to ensure the assistant accurately understands and executes the process of handling custom-defined intents. \n Custom Question Answering (CQA) for Exact Answers and with No Hallucinations CQA allows you to create and manage predefined QA pairs to deliver precise responses, reducing ambiguity and ensuring that the assistant aligns closely with defined answers. This controlled response approach maintains consistency in interactions, improving reliability, particularly for high-stake or regulatory-sensitive conversations. You can also attach CQA to your existing RAG solution to quickly fix incorrect answers. \n PII Detection and Redaction for Privacy Protection (coming soon) \n \n Protecting user privacy is a top priority, especially in conversational AI. This accelerator showcases an optional integration of Azure AI Language’s Personally Identifiable Information (PII) to automatically identify and redact sensitive information, if compliance with privacy standards and regulations is required \n \n LLM with RAG\u0026nbsp;to Handle Everything Else (coming soon) In this accelerator, we are using a RAG solution to handle missed intents or user queries on lower-priority topics. This RAG solution can be replaced with your existing one. The predefined intents and question-answer pairs can be appended and updated over time based on evolving business needs and DSATs (dissatisfaction) discovered in the RAG responses. This approach ensures controlled and deterministic experiences for high-value or high-priority topics while maintaining flexibility and extensibility for lower-priority interactions. \n Components Configuration for \"Plug-and-Play\" \n \n One of the standout features of this accelerator is its flexibility through a \"plug-and-play\" component configuration. The architecture is designed to allow you to easily swap, add, or remove components to tailor the solution to your specific needs. Whether you want to add custom intents, adjust fallback mechanisms, or incorporate additional data sources, the modular nature of the accelerator makes it simple to configure. \n Get Started Building Your GenAI-Powered Assistant Today \n Our new accelerator is available on GitHub, ready for developers to deploy, customize, and use as a foundation for your own needs. \n Join us as we move towards a future where GenAI can empower organizations to meet business needs with intelligent, adaptable, and human-controllable assistants. \n What’s more: Other New Azure AI Language Releases This Ignite \n Beyond these, Azure AI Language provides additional capabilities to support GenAI customers in more scenarios to ensure quality, privacy and flexible deployment in any types of environments, either clouds or on premises. We are also excited to announce the following new features launching at Ignite. \n \n Azure AI Language in Azure AI Studio: \n \n Azure AI Language is moving to AI Studio. Extract PII from text, Extract PII from conversation, Summarize text, Summarize conversation, Summarize for call center, and Text Analytics for health are now available in AI Studio playground. More skills follow. \n \n Conversational Language Understanding (CLU):\u0026nbsp; \n \n Today, customers use CLU to build custom natural language understanding models hosted by Azure to predict the overall intention of an incoming utterance and extract important information from it. However, some customers have specific needs that require an on-premise connection. We are excited to announce runtime containers for CLU for these specific use cases. \n \n PII Detection and Redaction: \n \n Azure AI Language offers Text PII and Conversational PII services to extract personally identifiable information from input text and conversation to enhance privacy and security, oftentimes before sending data to the cloud or an LLM. We are excited to announce new improvements to these services - the preview API (version 2024-11-15-preview) now supports the option to mask detected sensitive entities with a label (i.e. “John Doe received a call from 424-878-9192” can now be masked with an entity label, i.e. . “[PERSON_1] received a call from [PHONENUMBER_1]”. More on how to specify the redaction policy style for your outputs can be found in our documentation. \n \n Native document support: \n \n The gating control is removed with the latest API version, 2024-11-15-preview, allowing customers to access native document support for PII redaction and summarization. Key updates in this version include: \n -\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Increased Maximum File Size Limits (from 1 MB to 10 MB). \n -\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Enhanced PII Redaction Customization: Customers can now specify whether they want only the redacted document or both the redacted document and a JSON file containing the detected entities. \n \n Language detection: \n \n Language detection is a preconfigured feature that can detect the language a document is written in and returns a language code for a wide range of languages, variants, dialects, and some regional/cultural languages. We are happy to announce today the general availability of scription detection capability, and 16 more languages support, which adds up to 139 total supported languages. \n \n Named entity recognition (NER): \n \n The Named Entity Recognition (NER) service supports customer scenarios for identifying and analyzing entities such as addresses, names, and phone numbers from inputs text. NER’s Generally Available API (version 2024-11-01) now supports several optional input parameters (inclusionList, exclusionList, inferenceOptions, and overlapPolicy) as well as an updated output structure (with new fields tags, type, and metadata) to ensure enhanced user customization and deeper analysis. More on how to use these parameters can be found in our documentation. \n \n Text analytics for health: \n \n Text analytics for health (TA4H) is a preconfigured feature that extracts and labels relevant medical information from unstructured texts such as doctor's notes, discharge summaries, clinical documents, and electronic health records. Today, we released support for Fast Healthcare Interoperability Resources (FHIR) structuring and temporal assertion detection in the Generally Available API. ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"10618","kudosSumWeight":3,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:azure ai language","text":"azure ai language","time":"2024-02-06T17:20:07.718-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:azure openai service","text":"azure openai service","time":"2022-12-14T08:49:09.396-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:microsoft ignite 2024","text":"microsoft ignite 2024","time":"2024-11-05T20:20:39.017-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":6,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM4LXpZS2dFTA?revision=1\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM4LTB3RDMzTQ?revision=1\"}"}}],"totalCount":2,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwODM4LXpZS2dFTA?revision=1"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Blog:board:PartnerNews":{"__typename":"Blog","id":"board:PartnerNews","displayId":"PartnerNews","nodeType":"board","conversationStyle":"BLOG","title":"Partner news","shortTitle":"Partner news","parent":{"__ref":"Category:category:PartnerCommunity"}},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwNzU3LXVpUXcxTg?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwNzU3LXVpUXcxTg?revision=4","title":"m365copilot.jpg","associationType":"COVER","width":364,"height":229,"altText":""},"BlogTopicMessage:message:4320757":{"__typename":"BlogTopicMessage","subject":"Partner Blog | How agents in Microsoft 365 Copilot help customers and partners drive business results","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4320757},"lastPostingActivityTime":"2024-11-21T12:10:32.345-08:00","solved":false},"id":"message:4320757","revisionNum":4,"uid":4320757,"depth":0,"board":{"__ref":"Blog:board:PartnerNews"},"author":{"__ref":"User:user:2052111"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"\nBy, Srini Raghavan, Vice President, Microsoft 365 Ecosystem","metrics":{"__typename":"MessageMetrics","views":103},"postTime":"2024-11-21T11:50:58.495-08:00","lastPublishTime":"2024-11-21T12:10:32.345-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" Through my frequent conversations with customers, it’s clear that enterprises are embracing Microsoft 365 Copilot as an AI-powered game-changer for productivity. Now, we are helping organizations achieve even greater business value with the recent introduction of agents in Copilot. This week at Microsoft Ignite, the promise of agents has come to life through compelling examples from our customer and partner ecosystem, which I’m excited to share.\u0026nbsp; \n Enterprise customers are developing line-of-business agents to extend skills and knowledge in Copilot for specialized use cases and to scale their teams in unprecedented ways. They’re also adopting powerful third-party agents built by partners who develop software—also known as independent software vendors (ISVs)—and system integrators (SIs), which supercharge employee productivity and accelerate business processes.\u0026nbsp;\u0026nbsp; \n I will cover the two ways in which developers can build and integrate agents with Copilot: declarative agents, which are generally available, and custom engine agents, now in private preview. I will also provide\u0026nbsp;resources for developing agents, explain when to develop each type, and showcase how customers and partners are gaining value from this evolution toward agentic AI.\u0026nbsp; \n \u0026nbsp; \n How agents in Microsoft 365 Copilot can meet your organization’s needs\u0026nbsp; \n Agents in Copilot are AI assistants with expertise in a specific set of tasks, like running business processes or adding new skills. Agents allow you to enhance Copilot in three ways:\u0026nbsp; \n \n Focusing Copilot on specific knowledge, such as Microsoft SharePoint files or external content sources\u0026nbsp; \n \n \n Adding new skills, such as updating records or creating support tickets\u0026nbsp; \n \n \n Executing business processes autonomously\u0026nbsp; \n \n The type of agent you build depends on your organization’s needs.\u0026nbsp; \n Declarative agents run on the Copilot engine, with prompts handled by its orchestrator and foundation models. Where custom engine agents run on your own models, declarative agents don’t require your own AI platform or complex technical decisions. These agents also have native access to indexed Microsoft Graph data, like SharePoint and Microsoft OneDrive files. If you’ve previously built an API plugin or a Microsoft Teams message extension, you can easily upgrade that to a declarative agent by adding instructions to your manifest.\u0026nbsp; \n \u0026nbsp; \n continue reading here ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"2465","kudosSumWeight":1,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:copilot","text":"copilot","time":"2022-11-17T00:00:00.032-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:microsoft 365","text":"microsoft 365","time":"2017-08-02T13:59:08.353-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:microsoft partner blog","text":"microsoft partner blog","time":"2023-04-18T11:27:51.397-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":2,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwNzU3LXVpUXcxTg?revision=4\"}"}}],"totalCount":1,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzIwNzU3LXVpUXcxTg?revision=4"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Blog:board:AzureCompute":{"__typename":"Blog","id":"board:AzureCompute","displayId":"AzureCompute","nodeType":"board","conversationStyle":"BLOG","title":"Azure Compute Blog","shortTitle":"Azure Compute Blog","parent":{"__ref":"Category:category:Azure"}},"User:user:794584":{"__typename":"User","uid":794584,"login":"Sasha_Melamed","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS03OTQ1ODQtZmtQNVBh?image-coordinates=0%2C0%2C919%2C919"},"id":"user:794584"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLTRsT2s1aQ?revision=5\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLTRsT2s1aQ?revision=5","title":"clipboard_image-1-1732136381846.png","associationType":"BODY","width":752,"height":452,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLURySmZhQg?revision=5\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLURySmZhQg?revision=5","title":"clipboard_image-2-1732136381847.png","associationType":"BODY","width":270,"height":75,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLXVidVNRdA?revision=5\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLXVidVNRdA?revision=5","title":"clipboard_image-3-1732136381848.jpeg","associationType":"BODY","width":299,"height":137,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLWhoTE9Hcg?revision=5\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLWhoTE9Hcg?revision=5","title":"clipboard_image-4-1732136381851.png","associationType":"BODY","width":195,"height":140,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLVE2M2swNw?revision=5\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLVE2M2swNw?revision=5","title":"clipboard_image-5-1732136381853.png","associationType":"BODY","width":607,"height":185,"altText":""},"BlogTopicMessage:message:4309381":{"__typename":"BlogTopicMessage","subject":"New Da/Ea/Fav6 VMs with increased performance and Azure Boost are now generally available","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4309381},"lastPostingActivityTime":"2024-11-21T11:21:03.106-08:00","solved":false},"id":"message:4309381","revisionNum":5,"uid":4309381,"depth":0,"board":{"__ref":"Blog:board:AzureCompute"},"author":{"__ref":"User:user:794584"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"","metrics":{"__typename":"MessageMetrics","views":688},"postTime":"2024-11-21T11:21:03.106-08:00","lastPublishTime":"2024-11-21T11:21:03.106-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" By Sasha Melamed, Senior Product Manager, Azure Compute \n \u0026nbsp; \n We are excited to announce General Availability of new Dalsv6, Dasv6, Easv6, Falsv6, Fasv6, and Famsv6-series Azure Virtual Machines (VMs) based on the 4th Gen AMD EPYC™ processor (Genoa). These VMs deliver significantly improved performance and price/performance versus the prior Dasv5 and Easv5 VMs, NVMe connectivity for faster local and remote storage access, and Azure Boost for improved performance and enhanced security. With the broad selection of compute, memory, and storage configurations available with these new VM series, there is a best fit option for a wide range of workloads. \n What’s New \n The new Dalsv6, Davs6, and Easv6 VMs are offered with vCPU counts ranging from 2 to 96 vCPUs. The new general purpose and memory optimized VMs will come in a variety of memory (GiB)-to-vCPU ratios, including the Dalsv6 at 2:1, Dasv6 at 4:1, and Easv6 at 8:1 ratios. The VMs are also available with and without a local disk so that you can choose the option that best fits your workload.\u0026nbsp; Workloads can expect up to 20% CPU performance improvement over\u0026nbsp;the Dasv5 and Easv5 VMs and up to 15% better price/performance. \n Further expanding our offerings, we are proud to introduce the first Compute-optimized VM series based on AMD processors also in three memory-to-vCPU ratios.\u0026nbsp; The new Falsv6, Fasv6, and Famsv6 VMs offer the fastest x86 CPU performance in Azure and have up to 2x CPU performance improvement over our previous v5 VMs, as shown in the graph below. \n \n \u0026nbsp; \n We are excited to announce that the new Dalsv6, Dasv6, Easv6, and suite of Fasv6 virtual machines are powered by Azure Boost. Azure Boost has been providing benefits to millions of existing Azure VMs in production today, such as enabling exceptional remote storage performance and significant improvements in networking throughput and latency. Our latest Azure Boost infrastructure innovation, in combination with new AMD-based VMs, delivers improvements in performance, security, and reliability. The platform provides sub-second servicing capabilities for the most common infrastructure updates, delivering a 10x reduction in impact.\" To learn more about Azure Boost, read\u0026nbsp;our blog. \n To drive the best storage performance for your workloads, the new AMD-based VMs come with the NVMe interface for local and remote disks. Many workloads will benefit from improvements over the previous generation of AMD-based with up to: \n \n 80% better remote storage performance \n 400% faster local storage speeds \n 25% networking bandwidth improvement \n 45% higher NVMe SSD capacity per vCPU for Daldsv6, Dadsv6, Eadsv6-series VMs with local disks \n \n The 4th Gen AMD EPYC™ processors provide new capabilities for these VMs, including: \n \n Always-On Transparent Secure Memory Encryption ensuring that your sensitive information remains secure without compromising performance. \n \n \n AVX-512 to handle compute-intensive tasks such as scientific simulations, financial analytics, AI, and machine learning. \n \n \n Vector Neural Network Instructions enhancing the performance of neural network inference operations, making it easier to deploy and scale AI solutions. \n \n \n Bfloat16 for efficient training and inference of deep learning models, providing a balance between performance and precision. \n \n Dasv6, Dadsv6, Easv6, Eadsv6, Fasv6, and Fadsv6-series VMs are SAP Certified. Whether you’re running a simple test infrastructure, mission critical enterprise applications, high-performance computing tasks, or AI workloads, our new VMs are ready to meet your needs. Explore the new capabilities and start leveraging the power of Azure today! \n General-purpose workloads \n The new Dasv6-series VMs offer a balanced ratio of memory to vCPU performance and increased scalability, up to 96 vCPUs and 384 GiB of RAM. Whereas the new Dalsv6-series VM series are ideal for workloads that require less RAM per vCPU, with a max of 192 GiB of RAM. The Dalsv6 series are the first 2GiB/vCPU memory offerings in our family of AMD-based VMs. The Dalsv6 series can reduce your costs when running non-memory intensive applications, including web servers, gaming, video encoding, AI/ML, and batch processing. The Dasv6-series VMs work well for many general computing workloads, such as e-commerce systems, web front ends, desktop virtualization solutions, customer relationship management applications, entry-level and mid-range databases, application servers, and more. \n \n \n \n \n \n Series \n \n \n vCPU \n \n \n Memory (GiB) \n \n \n Max Local NVMe Disk (GiB) \n \n \n Max IOPS for Local Disk \n \n \n Max Uncached Disk IOPS for Managed Disks \n \n \n Max Managed Disks Throughput (MBps) \n \n \n \n \n Dalsv6 \n \n \n 2-96 \n \n \n 4-192 \n \n \n N/A \n \n \n N/A \n \n \n 4 - 172K \n \n \n 90 – 4,320 \n \n \n \n \n Daldsv6 \n \n \n 2-96 \n \n \n 4-192 \n \n \n 1x110 - 6x880 \n \n \n 1.8M \n \n \n 4 - 172K \n \n \n 90 – 4,320 \n \n \n \n \n Dasv6 \n \n \n 2-96 \n \n \n 8-384 \n \n \n N/A \n \n \n N/A \n \n \n 4 - 172K \n \n \n 90 – 4,320 \n \n \n \n \n Dadsv6 \n \n \n 2-96 \n \n \n 8-384 \n \n \n 1x110 - 6x880 \n \n \n 1.8M \n \n \n 4 - 172K \n \n \n 90 – 4,320 \n \n \n \n \n \n Memory-intensive workloads \n For more memory demanding workloads, the new Easv6-series VMs offer high memory-to-vCPU ratios with increased scalability up to 96 vCPUs and 672 GiB of RAM. The Easv6-series VMs are ideal for memory-intensive enterprise applications, data warehousing, business intelligence, in-memory analytics, and financial transactions. \n \n \n \n \n \n Series \n \n \n vCPU \n \n \n Memory (GiB) \n \n \n Max Local NVMe Disk (GiB) \n \n \n Max IOPS for Local Disk \n \n \n Max Uncached Disk IOPS for Managed Disks \n \n \n Max Managed Disks Throughput (MBps) \n \n \n \n \n Easv6 \n \n \n 2-96 \n \n \n 16-672 \n \n \n N/A \n \n \n N/A \n \n \n 4 - 172K \n \n \n 90 – 4,320 \n \n \n \n \n Eadsv6 \n \n \n 2-96 \n \n \n 16-672 \n \n \n 1x110 - 6x880 \n \n \n 1.8M \n \n \n 4 - 172K \n \n \n 90 – 4,320 \n \n \n \n \n \n Compute-intensive workloads \n For compute-intensive workloads, the new Falsv6, Fasv6 and Famsv6 VM series come without Simultaneous Multithreading (SMT), meaning a vCPU equals one physical core. These VMs will be the best fit for workloads demanding the highest CPU performance, such as scientific simulations, financial modeling and risk analysis, gaming, and video rendering. \n \n \n \n \n \n Series \n \n \n vCPU \n \n \n Memory (GiB) \n \n \n Max Uncached Disk IOPS for Managed Disks \n \n \n Max Managed Disks Throughput (MBps) \n \n \n Max Network Bandwidth (Gbps) \n \n \n \n \n Falsv6 \n \n \n 2-64 \n \n \n 4-128 \n \n \n 4 - 115K \n \n \n 90 - 2,880 \n \n \n 12.5 - 36 \n \n \n \n \n Fasv6 \n \n \n 2-64 \n \n \n 8-256 \n \n \n 4 - 115K \n \n \n 90 - 2,880 \n \n \n 12.5 - 36 \n \n \n \n \n Famsv6 \n \n \n 2-64 \n \n \n 16-512 \n \n \n 4 - 115K \n \n \n 90 - 2,880 \n \n \n 12.5 - 36 \n \n \n \n \n \n Customers are excited about new AMD v6 VMs \n \n FlashGrid\u0026nbsp;offers software solutions that help Oracle Database users on Azure achieve maximum database uptime and minimize the risk of outages. \n \u0026nbsp;The Easv6 series VMs make it easier to support Oracle RAC workloads with heavy transaction processing on Azure using\u0026nbsp;FlashGrid Cluster. The NVMe protocol enhances disk error handling, which is important for failure isolation in high-availability database architectures. The CPU boost frequency of 3.7 GHz and higher network bandwidth per vCPU enable database clusters to handle spikes in client transactions better while keeping a lower count of vCPU to limit licensing costs. The Easv6 VMs have passed our extensive reliability and compatibility testing and are now available for new deployments and upgrades.\u0026nbsp;– Art Danielov, CEO, FlashGrid Inc. \n \u0026nbsp; \n \n Helio is a platform for large-scale computing workloads, optimizing for costs, scale, and emissions. Its main focus is 3D rendering \n Our architectural and media \u0026amp; entertainment (VFX) 3D rendering workloads have been accelerated by an average of ~42% with the new v6 generation, while maintaining low cost and high scale. In addition, we are seeing significant improvements in disk performance with the new NVMe interface, resulting in much faster render asset load times. -- Kevin Häfeli, CEO / Cofounder Helio AG \n \u0026nbsp; \n \n Silk's Software-Defined Cloud Storage delivers unparalleled price/performance for the most demanding, real-time applications. \n Silk has tested the new Da/Eav6 VM offering from Azure and we are looking forward to enable our customers to benefit from its new capabilities, allowing higher throughput at lower cost, while providing increased reliability” -- Adik Sokolovski, Chief R\u0026amp;D Officer, Silk\u0026nbsp; \n \u0026nbsp; \n \n ZeniMax Online Studios creates online RPG worlds where you can play and create your own stories. \n The new VMs we tested provided a significant performance boost in our build tasks.\u0026nbsp; The super-fast storage not only made the workflows smoother and faster, but it also helped highlight other bottlenecks in our design and allowed us to improve our pipeline overall.\u0026nbsp; We are excited for their availability and plan on utilizing these machines to expand our workload in Azure. -- Merrick Moss, Product Owner, ZeniMax Online Studios \n Getting started \n The new VMs are now available in the East US region. The East US 2, Central US, South Central US, West US 3, West Europe, and North Europe regions will become available in the next two weeks, with more to follow. Check out pricing on the following pages for Windows\u0026nbsp;and\u0026nbsp;Linux. \n You can learn more about the new VMs in the documentation for Dal-series, Da-series, Ea-series, and\u0026nbsp;Fa-series. We also recommend reading the\u0026nbsp;NVMe overview and FAQ. You can find the\u0026nbsp;Ultra disk\u0026nbsp;and\u0026nbsp;Premium SSD V2 regional availability to pair with the new NVMe based v6 series at their respective links. ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"9718","kudosSumWeight":3,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:microsoft ignite 2024","text":"microsoft ignite 2024","time":"2024-11-05T20:20:39.017-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:virtual machines","text":"virtual machines","time":"2018-06-26T22:46:00.446-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":6,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLTRsT2s1aQ?revision=5\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLURySmZhQg?revision=5\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLXVidVNRdA?revision=5\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLWhoTE9Hcg?revision=5\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA5MzgxLVE2M2swNw?revision=5\"}"}}],"totalCount":5,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Blog:board:MicrosoftEndpointManagerBlog":{"__typename":"Blog","id":"board:MicrosoftEndpointManagerBlog","displayId":"MicrosoftEndpointManagerBlog","nodeType":"board","conversationStyle":"BLOG","title":"Microsoft Intune Blog","shortTitle":"Microsoft Intune Blog","parent":{"__ref":"Category:category:microsoft-endpoint-manager"}},"User:user:327434":{"__typename":"User","uid":327434,"login":"ScottSawyer","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0zMjc0MzQtNTY5ODYwaUY2QTY1NUJDQkZFMUJEOTE"},"id":"user:327434"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LUtQM2I2MA?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LUtQM2I2MA?revision=4","title":"Intune WN 2411 teaser.png","associationType":"TEASER","width":640,"height":360,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LTZyM1ZJaQ?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LTZyM1ZJaQ?revision=4","title":"SCEP certificate.png","associationType":"BODY","width":620,"height":218,"altText":"Screenshot of SCEP certificate (user): The previous flow allowed certificate type to be specified, but the certificate would be stored in the system keychain, even if user type was selected."},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LTFwMDNacg?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LTFwMDNacg?revision=4","title":"SCEP certificate - Device.png","associationType":"BODY","width":544,"height":194,"altText":"Screenshot of SCEP certificate (device): In the new flow, admins specify the deployment channel to which a certificate should be assigned."},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LWhoc2o2cw?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LWhoc2o2cw?revision=4","title":"Wi-Fi network.png","associationType":"BODY","width":268,"height":164,"altText":"Screenshot of Wi-Fi certificate: The simpler user experience for a Wi-Fi certificate stored on the user keychain."},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LVN5T0djWg?revision=4\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LVN5T0djWg?revision=4","title":"Hardware device.png","associationType":"BODY","width":567,"height":821,"altText":"Screenshot: The Subscriber carrier and ICCID are now part of the hardware information."},"BlogTopicMessage:message:4308686":{"__typename":"BlogTopicMessage","subject":"What’s new in Microsoft Intune November 2024","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4308686},"lastPostingActivityTime":"2024-11-21T11:00:15.014-08:00","solved":false},"id":"message:4308686","revisionNum":4,"uid":4308686,"depth":0,"board":{"__ref":"Blog:board:MicrosoftEndpointManagerBlog"},"author":{"__ref":"User:user:327434"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" Improving productivity and security takes efforts great and small. \n ","introduction":"","metrics":{"__typename":"MessageMetrics","views":1478},"postTime":"2024-11-21T11:00:15.014-08:00","lastPublishTime":"2024-11-21T11:00:15.014-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" It has become part of the management culture here at Microsoft (and in many other businesses) to talk about priorities as “big rocks.” In this metaphor, the amount of work that can be produced is represented by a jar. The output of an organization ranges from big rocks to smaller stones, gravel, and sand. If the big rocks aren’t put in the jar first, they won’t fit if there’s too much of the smaller material—and that’s where the story ends. To have a full jar to offer to end users, there is lots of other work that needs to be done. \n This month I’m highlighting some of the work that goes into Microsoft Intune to improve the security of macOS devices and the productivity of IT professionals managing Android devices. \n Certificate management for macOS devices \n Digital certificates enable and authenticate secure access to resources, and their types can broadly be described as either user or device. Because of the access they enable, certificates are potential targets for bad actors. \n \n MacOS user and device certificates have been historically stored on the device channel, sometimes called the system keychain. This poses a potential security risk, as users need admin rights on a device to access the device channel, and any user of a device could potentially access certificates they should not otherwise be able to see. It also leads to end users being prompted to select from all of the available certificates each time they connect to resources like Wi-Fi or VPN, which eliminates the convenience certificates are meant to provide. \n Now, we’re addressing challenges to security and the user experience with an updated policy creation flow that allows the deployment channel to be specified. \n \n In the case of a Wi-Fi certificate for example, the end user will be prompted to select a certificate once and given the option to remember it going forward, without needing to have admin access. \n \n More details are provided in this\u0026nbsp;documentation. Note that to change the deployment channel for an existing certificate, you must create a new profile. \n Enhanced Android inventory catalog for fully managed devices \n Hardware inventory capabilities for Windows devices have been broadly enhanced in this month’s release—read more about this “big rock”—and I want to call out an addition to the Android inventory that will help IT professionals to be more productive. \n Android devices often require administration of carrier contracts and billing operations. Before this update, Intune did not collect information about the specific subscriber carrier or the Integrated Circuit Card Identifier (ICCID) number associated with the SIM card for these devices. Now with the November release of Intune, the Hardware tab in the Device monitor blade for a given unit will display this information for fully managed or enterprise-dedicated devices, allowing IT professionals to stay within Intune to gather this information. There’s a security benefit too: ICCID numbers can be used to configure multifactor authentication (MFA). You can find more details in this documentation. \n \n The “big rock” news \n We’re sharing more at Microsoft Ignite 2024. Read about our announcements in our Intune news at Ignite blog\u0026nbsp;\u0026nbsp; and in our companion blogs to go in depth on the latest. Please join our sessions\u0026nbsp;(virtually or in person), and continue to engage with us online at LinkedIn:\u0026nbsp;aka.ms/IntuneLinked\u0026nbsp;and X:\u0026nbsp;x.com/MSIntune. ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"3489","kudosSumWeight":1,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:microsoft intune","text":"microsoft intune","time":"2016-09-06T13:17:46.101-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":3,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LUtQM2I2MA?revision=4\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LTZyM1ZJaQ?revision=4\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LTFwMDNacg?revision=4\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LWhoc2o2cw?revision=4\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA4Njg2LVN5T0djWg?revision=4\"}"}}],"totalCount":5,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Category:category:MicrosoftIndustry":{"__typename":"Category","id":"category:MicrosoftIndustry","displayId":"MicrosoftIndustry"},"Blog:board:MicrosoftIndustryBlog":{"__typename":"Blog","id":"board:MicrosoftIndustryBlog","displayId":"MicrosoftIndustryBlog","nodeType":"board","conversationStyle":"BLOG","title":"Microsoft Industry","shortTitle":"Microsoft Industry","parent":{"__ref":"Category:category:MicrosoftIndustry"}},"User:user:2762370":{"__typename":"User","uid":2762370,"login":"ShailjaNair","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0yNzYyMzcwLTg5Wk9weA?image-coordinates=0%2C0%2C1061%2C1061"},"id":"user:2762370"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LWJubWhhdQ?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LWJubWhhdQ?revision=9","title":"GettyImages-1187179171_heroSAP.jpg","associationType":"COVER","width":1020,"height":574,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LUZqN3JLZQ?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LUZqN3JLZQ?revision=9","title":"SAP_01.png","associationType":"BODY","width":1714,"height":800,"altText":"OData Connector Base URI screen capture"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LVM0YWo3UQ?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LVM0YWo3UQ?revision=9","title":"SAP_02.png","associationType":"BODY","width":1712,"height":800,"altText":"SSO with SuccessFactors authentication screen capture"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LXhvRHdpeQ?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LXhvRHdpeQ?revision=9","title":"SAP_03a.png","associationType":"BODY","width":748,"height":1020,"altText":"Screen capture of the learning platform for Power Platform and SAP"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LUU0WnF0SQ?revision=9\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LUU0WnF0SQ?revision=9","title":"SAP_03.png","associationType":"BODY","width":3840,"height":2160,"altText":"SAP Purchase Orders screen capture"},"BlogTopicMessage:message:4294336":{"__typename":"BlogTopicMessage","subject":"Accelerate your SAP® integration with the Microsoft Power Platform OData Connector and learn hub","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4294336},"lastPostingActivityTime":"2024-11-21T08:00:00.023-08:00","solved":false},"id":"message:4294336","revisionNum":9,"uid":4294336,"depth":0,"board":{"__ref":"Blog:board:MicrosoftIndustryBlog"},"author":{"__ref":"User:user:2762370"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" Streamline your SAP® integration with the Microsoft Power Platform OData Connector, learn hub, and the modernization of the Procurement Template for SAP.\u0026nbsp; ","introduction":"","metrics":{"__typename":"MessageMetrics","views":229},"postTime":"2024-11-21T08:00:00.023-08:00","lastPublishTime":"2024-11-21T08:00:00.023-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" In today's fast-paced business environment, efficiency and seamless integration are paramount. We are thrilled to announce the general availability of the Microsoft Power Platform OData Connector for SAP®, the launch of the learn hub, and the modernization of the Procurement Template for SAP, designed to empower organizations to streamline their processes and enhance productivity. \n The Power Platform OData Connector for SAP simplifies the integration of SAP data into Power Platform solutions, allowing app makers to establish connectivity to any SAP product that supports OData services including SAP S/4HANA®, SAP SuccessFactors®, SAP Concur®, SAP Ariba® and more. The learn hub in Microsoft Learn provides essential documentation and guidance to help users navigate the complexities of integrating Microsoft Power Platform with SAP, while the latest version of the Procurement Template for SAP brings enhancements designed to improve usability, compliance, and functionality. \n Together, these new offerings are designed to empower organizations to work more efficiently and effectively, driving innovation and modernization in their business processes. Discover how they can transform your approach to SAP integration. \n Streamline SAP data integration with Power Platform OData connector\u0026nbsp;\u0026nbsp; \n The Power Platform OData Connector for SAP now supports connectivity to base uniform resource identifiers (URI), enabling a single connection to access multiple OData service endpoints. This enhancement simplifies the connection setup process, as users no longer need to configure multiple connections for each endpoint. Instead, makers can specify different endpoints by providing a relative path in the connector’s action. This streamlined approach saves time and reduces potential errors by centralizing endpoint management within a single connection, empowering app makers to work more efficiently and effectively when integrating SAP data into their Power Platform solutions.\u0026nbsp; \n \n Single sign-on authentication for accessing SAP SuccessFactors \n The Power Platform OData connector for SAP supports basic, anonymous, and application programming interface (API) key authentication. It also supports single sign-on available through\u0026nbsp;Microsoft Azure API Management, which is available in public preview.\u0026nbsp; With the expanded single sign-on authentication support for the OData connector, organizations can benefit from low-code development while maintaining the protection and compliance of their SAP environments. \n We are thrilled to announce the public preview of a new authentication method for the Power Platform OData Connector for SAP: Microsoft Entra ID using SuccessFactors. This innovative authentication type enables users to interact with SAP SuccessFactors data within Power Platform applications more efficiently, simplifying the experience with streamlined access. With principal propagation, this method facilitates single sign-on (SSO) between Microsoft Entra ID and SAP SuccessFactors, so users can access SAP SuccessFactors data without having to provide their SAP username and password. This is particularly valuable in environments where multiple SAP applications are in use, as it eliminates redundant login requirements and enhances the user experience. \n \n Integrating SuccessFactors with Power Platform using the OData Connector for SAP simplifies connectivity. This approach eliminates complex configurations and custom coding, enabling seamless and protected access to SuccessFactors data. The connector's real-time data access helping to ensure updates in SuccessFactors are consistently reflected across Power Platform applications. This integration supports efficient and responsive application development within Power Platform for organizations using SAP SuccessFactors. \n Introducing the new Power Platform and SAP learn hub \n We understand, for many customers, integrating Microsoft Power Platform with SAP systems can be a complex and challenging journey. It requires detailed planning, technical expertise, and a solid understanding of both systems. In response to customer feedback, we are pleased to offer an education and resource hub for Power Platform and SAP on Microsoft Learn to streamline your integration journey. This new learn hub provides essential documentation, and a wealth of reference materials tailored specifically to address the complexities of SAP integration. \n \n It serves as a one-stop resource center, bringing together the knowledge and needed guidance to connect Power Platform with SAP. It covers fundamental architectural concepts, security and privacy considerations, role-based guidance, and an extensive catalog of learning materials — carefully organized to help with the various integration stages. This centralized hub was designed to make it easier for organizations to build robust applications and automate business processes within Power Platform, integrated into their SAP systems. \n For Power Platform solution authors, the learn hub offers essential resources to facilitate rapid familiarization with SAP access methods and introduces a comprehensive directory of frequently used SAP data. For SAP specialists interested in understanding how Power Platform can enhance workflows, the hub also covers targeted guidance on Power Platform fundamentals within the SAP context. It addresses key areas such as system implementation, code and deployment management, data storage, and application development, to help users navigate Power Platform with confidence. \n Start exploring the learn hub to discover how you can maximize your SAP investments and accelerate time-to-value with Power Platform. Visit the learn hub at and get started on your integration journey. \n Modernization of the Procurement Template for SAP \n The latest version of the Procurement Template for SAP brings a series of enhancements designed to help improve usability, compliance, and functionality. One of the standout features of this update is the introduction of modern controls for Power Apps within the template, offering more intuitive and responsive user experience. These controls enhance the visual appeal of the apps and streamline navigation, making it easier for users to interact with procurement workflows and complete tasks more quickly and accurately. \n \n In addition to modern controls, this update places a strong emphasis on accessibility compliance. The accessibility improvements align with industry standards, helping organizations maintain compliance. Functionally, the template now incorporates the company's fiscal year into the primary key for financial documents. This enhancement enables the template to be utilized by customers whose SAP systems are configured to use year-dependent document numbers, which reset at the commencement of each fiscal year. These updates make the Procurement Template a more robust, and user-friendly tool, enabling organizations to improve procurement efficiency while maintaining alignment with regulatory and accessibility standards. \n Resources \n \n Agent Templates \n Enterprise App Templates \n SAP on Power Platform \n Transform HR with AI-powered agents \n Download: Architecting SAP Extensions with Microsoft Power Platform white paper \n ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"7289","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MjQuMTB8Mi4xfG98NXxfTlZffDU","hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:copilot","text":"copilot","time":"2022-11-17T00:00:00.032-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:education","text":"education","time":"2016-07-15T11:33:23.220-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:Energy","text":"Energy","time":"2020-11-29T02:38:18.464-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDQ","node":{"__typename":"Tag","id":"tag:Financial Services","text":"Financial Services","time":"2020-10-22T15:24:57.541-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDU","node":{"__typename":"Tag","id":"tag:GenerativeAI","text":"GenerativeAI","time":"2024-06-02T00:00:00.038-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":4,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LWJubWhhdQ?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LUZqN3JLZQ?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LVM0YWo3UQ?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LXhvRHdpeQ?revision=9\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LUU0WnF0SQ?revision=9\"}"}}],"totalCount":5,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk0MzM2LWJubWhhdQ?revision=9"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"User:user:834387":{"__typename":"User","uid":834387,"login":"ChristinaLiang","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS04MzQzODctNjExNjk5aTVEQjhENzA2Qzk5MjVBNkE"},"id":"user:834387"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA0MjM0LVNLbld2dQ?revision=7\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA0MjM0LVNLbld2dQ?revision=7","title":"Weixin Image_20241120170127.png","associationType":"COVER","width":800,"height":500,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA0MjM0LUFNV2h6UA?revision=7\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA0MjM0LUFNV2h6UA?revision=7","title":"clipboard_image-1-1732011350486.png","associationType":"BODY","width":2721,"height":345,"altText":""},"BlogTopicMessage:message:4304234":{"__typename":"BlogTopicMessage","subject":"MVP Milestone Series: Celebrating MVPs Achieving their 20+ Year Milestone","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4304234},"lastPostingActivityTime":"2024-11-21T08:00:00.018-08:00","solved":false},"id":"message:4304234","revisionNum":7,"uid":4304234,"depth":0,"board":{"__ref":"Blog:board:MVPAwardProgramBlog"},"author":{"__ref":"User:user:834387"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" Join us in celebrating Microsoft MVPs as they share their inspiring experiences over the past 20+ years. \u0026nbsp; ","introduction":"Join us in celebrating Microsoft MVPs as they share their inspiring experiences over the past 20+ years. ","metrics":{"__typename":"MessageMetrics","views":221},"postTime":"2024-11-21T08:00:00.018-08:00","lastPublishTime":"2024-11-21T08:00:00.018-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" As we commemorate over 30 years of the Microsoft Most Valuable Professionals (MVP) Program, we want to sincerely acknowledge the efforts of those who have achieved award milestones of 10, 15, 20+ years, and more. This journey wouldn't be possible without your support and dedication to community leadership – thank you! \n This blog features MVPs who are achieving their 20-year and more milestone. Read on to find out what these MVPs have to say about their experience and time in the program. \n \n What has motivated you to remain committed to the MVP program for the past 20+ years? \n AI Hirano M365 MVP (Japan):” I tend to get bored easily, but I believe my curiosity for new things is exceptionally strong. My motivation comes from that very curiosity. Having focused on SharePoint for many years, I get excited every time a new feature or system is introduced. For me, understanding the newly introduced concepts while considering the product's history and the business trends at the time is like solving a fun puzzle. I enjoy this process and strive to clearly convey the excitement and appeal of it in my own words, hoping to resonate with many people.” \n Diane Poremsky M365 MVP (US):” Helping regular users who don’t have an IT department to help them keeps me motivated. They need help and are limited to what they find online (some of which is questionable advice). I like troubleshooting problems and coming up with possible solutions for what they are trying to do. Being an MVP gives me access to product groups so I can report bugs when the users don't have a way to report it. Or when they do report it, to know if anyone is actually looking into the issue.” \n Hao Hu AI Platform MVP (China):” Microsoft is the technological banner of our generation. From aspiring to be an MVP, to contributing to the community, and being proud to be an MVP, this program has allowed me to see another value in myself, recognition in the technology field and community, and most importantly, two things: connecting to talented people in different areas of the community and connecting to the product group of Microsoft's advanced solutions. It's an irreplaceable, high-value technical networking and a rare learning opportunity. That's why I've been working hard and hopefully staying at it. \n Tomislav Bronzin M365/Business Application MVP (Croatia):” I am deeply passionate about sharing knowledge and experiences with the technology community, driven by the belief that my contributions make a meaningful difference. Over the past 20 years, I’ve witnessed the incredible impact of this community, from adapting to new technologies to supporting society during global challenges like pandemics and natural disasters. The MVP community’s ability to inspire change and drive digital transformation has been a source of pride and fulfillment. Along the way, I’ve not only grown professionally but also built lasting friendships, continuing to connect with amazing people every day. \n What impact has the MVP community had on your personal and professional growth? \n Toi Wright Developer Technology MVP (US):” The MVP program has inspired me as much as it has recognized my contributions to the technical community. Over 20 years, I’ve organized events, led user groups, spoken at conferences, founded organizations, authored courseware, and published books - all driven by a passion for sharing best practices and exploring groundbreaking developments. What motivates me is the opportunity to engage, learn, and give back, and the MVP program has amplified this impact, transforming my efforts into something far greater than I ever imagined.” \n Heejin Lee M365 MVP (Korea):” For 20 years, my activities as a Microsoft MVP as a working mom have provided valuable experiences at home. It has been an excellent title to prove to my children that I am a Microsoft technology expert, not just a mom. They often express how proud and impressed they are with me being a Microsoft technology expert. Participating in Microsoft community activities and the Microsoft Global Summit together has been a wonderful opportunity that they perceive as a significant experience. Maintaining my MVP status for 20 years has allowed me to share meaningful experiences with my children, making it a significant part of my life.” \n Kamil Sacek Business Application MVP (Czech):” The impact of being awarded as an MVP for the first time was life changing. As someone who had never traveled alone, never spoken English beyond school, and never been abroad, attending the MVP Summit in Seattle was a transformative experience. It showed me that \"I can\"- even if at times it was \"I cannot yet\" (like needing a friend's help to order breakfast at Starbucks!). Thanks to the MVP program, I've built lifelong friendships worldwide, gained confidence as a speaker, and discovered the courage to step out of my introverted comfort zone to connect and grow.” \n Soumitra Sengupta Windows and Devices MVP (India):” The Microsoft MVP award has a profound impact on both personal growth and professional development. It offers access to a community of experts, continuous learning of the latest technologies, and invaluable connections with like-minded individuals and industry leaders. Being an MVP enhances credibility, opens doors to collaborative opportunities, and builds confidence through recognition and contributions. It’s a fulfilling journey of knowledge-sharing, community impact, and professional success.” \n What advice would you give to new MVPs just starting their journey? \n Diane Poremsky M365 MVP (US):“Never stop learning. Take advantage of the PGI events (and MVP benefits) to learn about other products. If you are asked about something you aren’t familiar with, don't be afraid to say you don't know… then take some time to learn about it.” \n AI Hirano M365 MVP (Japan):” Congratulations on your achievement! My advice is to find a way to continue while enjoying the process. Enjoyment can come from pursuing technology or deepening your relationships within the community, but most importantly, it's about taking consistent steps forward. \n Nicolas Blank Microsoft Azure/M365 MVP (Africa):” You hopefully became an MVP due to the passion for your subject as well as empowering people in some way. Hold on to your passion as much as you can, by regularly examining your WHY. WHY do you love what you do WHY do you want to share? The HOW may change over time, but your WHY should stay the same.” \n Qinglin Zhou M365 MVP (China):” Engaging with the MVP community is a transformative journey. Don’t be shy—participate in events, connect with others, and embrace the wealth of learning resources Microsoft provides to accelerate your growth. Sharing what you learn, whether through blogs, videos, or social media, not only empowers others but also fuels your own growth. Building a strong network and fostering connections can lead to new inspiration and unexpected opportunities. Above all, remember to balance your passion with personal well-being and family time. The MVP community is more than a platform; it’s a source of motivation that drives both professional and personal growth.” \n How do you balance your MVP activities with your professional \u0026amp; personal commitments? \n Heejin Lee M365 MVP (Korea):” As a Microsoft MVP, I focus on professionalism, responsibility, and social contribution, leveraging my expertise to make a meaningful impact. I deeply value the support and respect my organization shows for MVPs, which motivates me to lead with humility and a collaborative spirit. By contributing to society through technology and teamwork, I strive to balance my professional responsibilities with personal growth. This role is not just about expertise but about creating value and making a difference.” \n Toi Wright Developer Technology MVP (US):“ Balancing my responsibilities as an MVP with my professional commitments requires careful planning and consideration. Most of my MVP responsibilities are handled during evenings and weekends. For instance, I take PTO and cover my own expenses to attend the MVP Summit, but it is worth it.” \n Jimy Cao Microsoft Azure/AI Platform MVP (Taiwan):” This is mutual, and the experience gained from both can be the nourishment for the growth of the other. \n Hao Hu AI Platform MVP (China):” Personally, balancing MVP activities and careers is a difficult task: my work is not directly related to the MVP award field, but I really enjoy the challenge and am willing to spend more time and energy learning and sharing. Of course, the love of technology will still give me good feedback on my career and planning, and I believe it will bring me better career and development opportunities. Dedication to the community also gives me peace of mind and a better self-affirmation of my self-worth, both from the product group and from the community for the spirit of contribution. \n Thank you, MVPs! \n Thanks to everyone who shared their experiences, and congratulations once more on reaching this 20-year more milestone. If you are interested in becoming a Microsoft MVP, please visit\u0026nbsp;our website to learn more. \n \u0026nbsp; \n \u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"9175","kudosSumWeight":5,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MjQuMTB8Mi4xfG98NXxfTlZffDU","hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:ai","text":"ai","time":"2018-01-27T01:25:04.985-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:Bits \u0026 Bytes","text":"Bits \u0026 Bytes","time":"2024-07-08T03:42:31.815-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:business application","text":"business application","time":"2023-04-28T15:26:51.050-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDQ","node":{"__typename":"Tag","id":"tag:Developer Technology","text":"Developer Technology","time":"2024-11-19T02:20:21.058-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDU","node":{"__typename":"Tag","id":"tag:M365","text":"M365","time":"2019-05-15T12:42:06.972-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":6,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA0MjM0LVNLbld2dQ?revision=7\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA0MjM0LUFNV2h6UA?revision=7\"}"}}],"totalCount":2,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzA0MjM0LVNLbld2dQ?revision=7"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Blog:board:AnalyticsonAzure":{"__typename":"Blog","id":"board:AnalyticsonAzure","displayId":"AnalyticsonAzure","nodeType":"board","conversationStyle":"BLOG","title":"Analytics on Azure Blog","shortTitle":"Analytics on Azure Blog","parent":{"__ref":"Category:category:Azure"}},"User:user:1613758":{"__typename":"User","uid":1613758,"login":"katiecummiskey","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0xNjEzNzU4LTQyOTc2M2lGRDUzNjZERDQzRjEwMTU4"},"id":"user:1613758"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTl3clJhSA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTl3clJhSA?revision=2","title":"download.png","associationType":"COVER","width":1358,"height":684,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LUxyRkduNw?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LUxyRkduNw?revision=2","title":"clipboard_image-1-1731896387058.png","associationType":"BODY","width":1358,"height":684,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVdhOGZDeg?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVdhOGZDeg?revision=2","title":"clipboard_image-2-1731896387033.png","associationType":"BODY","width":601,"height":450,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVFRRWFrcw?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVFRRWFrcw?revision=2","title":"clipboard_image-3-1731896386997.png","associationType":"BODY","width":526,"height":295,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXZhNEljZQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXZhNEljZQ?revision=2","title":"clipboard_image-4-1731896387022.png","associationType":"BODY","width":767,"height":580,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LWVEWGtDMQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LWVEWGtDMQ?revision=2","title":"clipboard_image-5-1731896387033.png","associationType":"BODY","width":770,"height":535,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVhyRjVEWg?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVhyRjVEWg?revision=2","title":"clipboard_image-6-1731896387018.png","associationType":"BODY","width":589,"height":349,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LW5NS1Vsaw?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LW5NS1Vsaw?revision=2","title":"clipboard_image-7-1731896387002.png","associationType":"BODY","width":802,"height":483,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTZhWnRHMQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTZhWnRHMQ?revision=2","title":"clipboard_image-8-1731896387020.png","associationType":"BODY","width":910,"height":532,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVdjTElIVQ?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVdjTElIVQ?revision=2","title":"clipboard_image-9-1731896387026.png","associationType":"BODY","width":905,"height":409,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LUN3eXRWMA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LUN3eXRWMA?revision=2","title":"clipboard_image-10-1731896387051.png","associationType":"BODY","width":897,"height":661,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LWVndGNROA?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LWVndGNROA?revision=2","title":"clipboard_image-11-1731896387059.png","associationType":"BODY","width":1375,"height":715,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXdOemhIRw?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXdOemhIRw?revision=2","title":"clipboard_image-12-1731896387022.png","associationType":"BODY","width":1355,"height":554,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXVkTlhBQw?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXVkTlhBQw?revision=2","title":"clipboard_image-13-1731896387038.png","associationType":"BODY","width":873,"height":326,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVVQeGFLMw?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVVQeGFLMw?revision=2","title":"clipboard_image-14-1731896387022.png","associationType":"BODY","width":888,"height":874,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTAxdUFzSg?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTAxdUFzSg?revision=2","title":"clipboard_image-15-1731896387009.png","associationType":"BODY","width":882,"height":217,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXJCRVlxRg?revision=2\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXJCRVlxRg?revision=2","title":"clipboard_image-16-1731896387032.png","associationType":"BODY","width":1394,"height":329,"altText":""},"BlogTopicMessage:message:4302079":{"__typename":"BlogTopicMessage","subject":"Replicating Azure Cosmos DB into Azure Databricks using CDC","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4302079},"lastPostingActivityTime":"2024-11-21T07:11:37.260-08:00","solved":false},"id":"message:4302079","revisionNum":2,"uid":4302079,"depth":0,"board":{"__ref":"Blog:board:AnalyticsonAzure"},"author":{"__ref":"User:user:1613758"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":"","introduction":"","metrics":{"__typename":"MessageMetrics","views":100},"postTime":"2024-11-21T07:11:37.260-08:00","lastPublishTime":"2024-11-21T07:11:37.260-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" This blog was written in conjunction with David Poulet, Senior Solutions Architect at Databricks.\u0026nbsp; \n \u0026nbsp; \n Microsoft’s NoSQL database-as-a-service, Azure Cosmos DB, is a key platform in Azure for storing non-relational, transactional data and vectors for applications with high throughput and availability requirements. This data often holds valuable business insights, and the ability to analyze this data at scale with Azure Databricks is a key requirement for many customers. Azure Cosmos DB is optimized for fast reads and writes of individual items. However, in common with other data stores of this type, it is not optimized for analytical workloads and this can create a challenge to analyzing stored data in a performant and cost-effective way. \n \u0026nbsp; \n Microsoft’s solution to this problem is the Analytical Store, which stores a copy of the Azure Cosmos DB data in a columnar format and keeps it up-to-date. However, until recently this feature stored the data in a proprietary format and a hidden location that could not be accessed except via Azure Synapse and was subject to a number of restrictions around the types of data structures and query types that it could handle.\u0026nbsp; \n \u0026nbsp; \n But there is now a flexible and open solution to this problem! Microsoft has a feature in Azure Data Factory that enables users to replicate the Azure Cosmos DB Analytical Store into their lakehouse in Delta format, automatically inserting/updating/deleting records as the source transactional database changes. The incremental nature of this offers significant cost savings vs pulling data directly from the transactional store and dealing with complex incremental ingestion logic in code. In this article, I’ll show how we can leverage this feature to create a simple process to continuously ingest operational data in Azure Cosmos DB into Azure Databricks’ powerful analytics and AI platform.\u0026nbsp; \n Architecture Overview \n The architecture we’ll discuss in this article will use the CDC capability for Azure Cosmos DB within Azure Data Factory to process changes in a Azure Cosmos DB container and then merge them into a Delta Lake table in the lakehouse. See the diagram below: \n \u0026nbsp; \n \n Azure Data Factory (ADF) will read a container from Azure Cosmos DB (via the analytical store) and periodically replicate any changes from that container into a Delta Lake table in Azure Databricks. This incremental replication process will operate on a schedule that is defined within ADF.\u0026nbsp; \n \u0026nbsp; \n There are a couple of possibilities for how we ingest these changes into Azure Databricks: we could move the data to a staging area, and ingest into Bronze from there using a workflow or Delta Live Tables, but for simplicity we’ll write directly to a table in the Bronze layer of our medallion architecture from ADF.\u0026nbsp; \n \u0026nbsp; \n Once the data is in our Bronze layer standard Azure Databricks patterns can be used to cleanse and transform the data into Silver/Gold layers. \n \u0026nbsp; \n The bulk of the activities happen in Azure Data Factory, but there are some prerequisites. Before we can create the CDC pipeline it’s assumed the following already exist:\u0026nbsp; \n \u0026nbsp; \n \n A Azure Cosmos DB for NoSQL container, with Analytical Store enabled.\u0026nbsp; \n Azure Data Factory instance in which to create a CDC pipeline.\u0026nbsp; \n An ADLS storage container to act as our staging area.\u0026nbsp; \n \n \u0026nbsp; \n With these in place, we can create the CDC pipeline from ADF.\u0026nbsp;\u0026nbsp; \n Setting Up The Pipeline \n The feature in ADF that consumes the Azure Cosmos DB changes is in the Data Flows area, so we start by launching the ADF studio and creating a new data flow: \n \u0026nbsp; \n \n \u0026nbsp; \n The new data flow needs a Source and a Sink. The source will be our Azure Cosmos DB container and the Sink will be our Delta Table in Bronze.\u0026nbsp; \n \u0026nbsp; \n \n \u0026nbsp; \n First we’ll create and configure the Source to consume from our Azure Cosmos DB container. Click to Add Source in the new Dataflow. In the source settings we have to set the Source Type to Inline and the Inline Dataset Type to Azure Cosmos DB for NoSQL. The Store Type should be set to Analytical.\u0026nbsp; \n \u0026nbsp; \n \n The Linked Service should be set to a linked service for Azure Cosmos DB that has been set up to connect to our source container. For details on how to create an ADF Linked Service see the getting started documentation for Azure Cosmos DB.\u0026nbsp; \n \u0026nbsp; \n In the Source Options for the Data Flow, there are some settings that are important to control the behavior of the reads from the source feed. \n \u0026nbsp; \n \n The Container name field is where we select the Azure Cosmos DB container we are interested in. In this example we have a container with some simple customer related data in.\u0026nbsp; \n \u0026nbsp; \n The Start from field allows us to synchronize ALL the data in the container from the start of its life, or you can select to only sync changes from now on (or from a given timestamp).\u0026nbsp; \n \u0026nbsp; \n You have the option to capture intermediate updates, if you want to maintain a history of all the changes, but we are just going to capture the latest state so this is unselected. Capture Deletes ensures that deleted items from the source are also deleted in our Bronze table. Capture Transactional store TTLs means that if items are expired from the Azure Cosmos DB transactional store by the Time-To-Live function, they will also be deleted from our copy of the data. This is enabled by default but many people may not want this functionality as TTL is often used to reduce the data size of the transactional store at the cost of losing historical data, but in the analytics world this historical data is often important. We’ll leave it at the default though for now. \n \u0026nbsp; \n Next we’ll add a Sink to publish the change data to. Click the + button next to the source icon and search for the Sink option. \n \u0026nbsp; \n \n \u0026nbsp; \n We then need to configure the Sink to point to our Bronze table in the lakehouse.\u0026nbsp; \n \u0026nbsp; \n \n In the Sink settings we select our incoming source stream (there is only one in this case, the one we just created). We again select Inline for Sink type. And the Inline dataset type is Delta. Once again the Linked service is an ADF linked service which points to a blob container/folder that will store our Bronze table. You can read the documentation for creating an ADF blob linked service (or ADLS, either will work) on this page. \n \u0026nbsp; \n Next, the Settings page for our Sink has some important options to control the behavior of the table we are creating. \n \u0026nbsp; \n \n \u0026nbsp; \n First we need to select the correct Folder path for the folder in the blob container that will store our Bronze table data. Here we have a simple folder called customer where ADF will put the Delta Lake files. \n \u0026nbsp; \n We also need to think about the Update method field. In this case we will allow Insert (to put new rows in the table as they are added in the source), Delete (to remove rows in the table as they are deleted in the source) and Update (updating existing rows to match changes in the source). To do this ADF needs a unique field in the source that it can match in the target table - so we select List of columns and put {_rid} in the column field. _rid is a system field in Azure Cosmos DB that uniquely identifies a data item. \n \u0026nbsp; \n At this point we are actually ready to run this Data Flow to start syncing Azure Cosmos DB changes to our Bronze table. To do this we need to create a Pipeline in ADF to run the Data Flow defined above.\u0026nbsp; \n \u0026nbsp; \n In the ADF studio resources section, under Pipelines create a new pipeline, and in that pipeline drag a single action onto the pipeline edit canvas - a Data Flow action. \n \u0026nbsp; \n \n \u0026nbsp; \n Once we’ve created a pipeline with a Data Flow action, we will edit the Data Flow action settings to trigger the CDC Data Flow we created above. Here all we need to do is select our data flow in the Data Flow drop-down. \n \u0026nbsp; \n \n \u0026nbsp; \n Then, like all ADF pipelines we need a trigger to start the pipeline and we’re ready to start ingesting data. From the pipeline editor menu select\u0026nbsp; Add Trigger and then New/Edit - this will bring up the trigger menu below. \n \u0026nbsp; \n \n \u0026nbsp; \n We’ll set our trigger to run on creation and then run every 5 minutes after that. This means that every 5 minutes the pipeline will get the latest changes from Azure Cosmos DB and push them into our Bronze table. \n Using The Target Table \n With the pipeline running, we should start to see data flowing into our target Delta Lake table. I have created a simple customer data set for this example, with three items in the container. After the pipeline has run these items are pushed into a Delta Lake table in our target ADLS container. \n \u0026nbsp; \n In a notebook in Azure Databricks, we can load that Delta Lake table and see its contents: \n \u0026nbsp; \n \n \u0026nbsp; \n We can already access the data in the target Delta table from Azure Databricks. Each time the pipeline in ADF runs, it will update this table with whatever inserts/updates/deletes have happened in the source container.\u0026nbsp; \n \u0026nbsp; \n To really make the best use of this as a Bronze table in Azure Databricks, we’re going to create an external table in Unity Catalog to integrate this data with the rest of our UC resources and in this way make it securely accessible to all our Azure Databricks users. \n \u0026nbsp; \n First in the Catalog view in Azure Databricks we create a new external location: \n \u0026nbsp; \n \n \u0026nbsp; \n Then we configure the external location to point to our target ADLS folder. \n \u0026nbsp; \n \n In the new external location dialog, we give the location a name, we select the storage credential that we’ll use to access the external container (in this case the managed identity that is assigned to my Azure Databricks workspace), and the URL to the actual storage container itself. Note that if you have not already done so you will have to ensure that the managed identity for your Azure Databricks workspace has been assigned the relevant permissions to access the storage container. For more information on configuring external locations in Azure Databricks see this documentation. \n \u0026nbsp; \n Finally we can create an external table over our target storage container location so that we can access the table in UC. Inside an Azure Databricks notebook we can do this very simply: \n \u0026nbsp; \n \n \u0026nbsp; \n In the above example this creates the bronze table in the cdc_demo schema of my cdc_catalog \u0026nbsp;catalog. Once this is done we can query this table like any other table in Unity Catalog, and view the data that’s being replicated from Azure Cosmos DB by our ADF pipeline. We can then continue to enrich, clean and merge this data downstream using standard Azure Databricks processes for example as shown in the documentation here. \n \u0026nbsp; \n \n So we can see that with a simple pipeline in ADF, we have created a robust way of opening up our Azure Cosmos DB transactional data to whatever complex analytical processes we want to use in Azure Databricks without reading the transactional data store itself, thus reducing cost and “noisy neighbor” risks.\u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"11255","kudosSumWeight":1,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:azure databricks","text":"azure databricks","time":"2018-06-27T09:48:28.220-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":8,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTl3clJhSA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LUxyRkduNw?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVdhOGZDeg?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVFRRWFrcw?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXZhNEljZQ?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w2","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LWVEWGtDMQ?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w3","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVhyRjVEWg?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w4","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LW5NS1Vsaw?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w5","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTZhWnRHMQ?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxMA","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVdjTElIVQ?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxMQ","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LUN3eXRWMA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxMg","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LWVndGNROA?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxMw","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXdOemhIRw?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxNA","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXVkTlhBQw?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxNQ","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LVVQeGFLMw?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxNg","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTAxdUFzSg?revision=2\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wxNw","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LXJCRVlxRg?revision=2\"}"}}],"totalCount":17,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MzAyMDc5LTl3clJhSA?revision=2"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Category:category:AzureDatabases":{"__typename":"Category","id":"category:AzureDatabases","displayId":"AzureDatabases"},"Blog:board:ADforMySQL":{"__typename":"Blog","id":"board:ADforMySQL","displayId":"ADforMySQL","nodeType":"board","conversationStyle":"BLOG","title":"Azure Database for MySQL Blog","shortTitle":"Azure Database for MySQL Blog","parent":{"__ref":"Category:category:AzureDatabases"}},"User:user:286629":{"__typename":"User","uid":286629,"login":"NeilDsouza","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0yODY2MjktNjMzMDk0aTlDRTZGOTMyREI1NDQxRjE"},"id":"user:286629"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVZvSnBZWQ?revision=11\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVZvSnBZWQ?revision=11","title":"Magento 2 Teaser Hero Image.png","associationType":"COVER","width":1280,"height":720,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LTBaT3ZCOQ?revision=11\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LTBaT3ZCOQ?revision=11","title":"magento-architecture-2 (4).png","associationType":"BODY","width":1323,"height":819,"altText":"Magento Open Source packaged application solution architecture on Azure"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LUp4Sml1MA?revision=11\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LUp4Sml1MA?revision=11","title":"clipboard_image-2-1731608576765.png","associationType":"BODY","width":161,"height":34,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LXd2RWJvcQ?revision=11\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LXd2RWJvcQ?revision=11","title":"AKS_Deployment1.png","associationType":"BODY","width":1920,"height":1080,"altText":"Azure portal image showing AKS workloads of 'magento-server' and 'magento-cron' being configured."},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVhrN3hsYw?revision=11\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVhrN3hsYw?revision=11","title":"AKS_Deployment2.png","associationType":"BODY","width":1920,"height":1080,"altText":"Azure portal image showing AKS workloads showing all deployment and configuration are completed successfully."},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LU1RcDgzMA?revision=11\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LU1RcDgzMA?revision=11","title":"External_IP.png","associationType":"BODY","width":2841,"height":1301,"altText":"Azure portal image showing AKS Load Balancer External IP address in the 'Services and ingresses' section."},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVVQTmJxeg?revision=11\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVVQTmJxeg?revision=11","title":"Magento_Home.png","associationType":"BODY","width":1701,"height":1129,"altText":"Image of the Home page of the Magento Open Source web application as seen when navigated to from any modern browser."},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LWRFWlVBeg?revision=11\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LWRFWlVBeg?revision=11","title":"Magento_Admin_Login.png","associationType":"BODY","width":1553,"height":1060,"altText":"Image of the Magento Admin login page navigated to from a modern browser by appending '/admin' to the Magento application home page address."},"BlogTopicMessage:message:4297056":{"__typename":"BlogTopicMessage","subject":"Deploy a Magento Open Source LAMP-stack e-commerce app on Azure with one click!","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4297056},"lastPostingActivityTime":"2024-11-21T07:03:29.213-08:00","solved":false},"id":"message:4297056","revisionNum":11,"uid":4297056,"depth":0,"board":{"__ref":"Blog:board:ADforMySQL"},"author":{"__ref":"User:user:286629"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" We're thrilled to announce the release of our one-click ARM template for deploying Magento on Azure! Magento, a popular open-source e-commerce platform, can now be effortlessly hosted on Azure, leveraging services like AKS, Virtual Network, Private Link, Azure CDN, Azure Premium File Storage, and Azure Database for MySQL - Flexible Server. Check out the blog and demo video by Mahmut Olcay, Azure Data MVP and Azure Database for MySQL Insider, showcasing the deployment process. ","introduction":"A comprehensive guide on a fully automated JSON template that enables one-click deployment through Azure Resource Manager (ARM) with minimal user inputs, allowing you to quickly set up your Magento Open Source e-commerce web application on Azure.","metrics":{"__typename":"MessageMetrics","views":95},"postTime":"2024-11-21T07:00:37.064-08:00","lastPublishTime":"2024-11-21T07:03:29.213-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" What is Magento Open Source? \n Magento Open Source is a free and flexible e-commerce platform that allows you to create and manage online stores. It offers powerful features such as product catalog management, shopping cart, checkout, payment, shipping, marketing, analytics, and more. Magento Open Source is also highly customizable and extensible, enabling you to tailor your store to your specific needs and preferences. \n Thousands of merchants around the world, ranging from small businesses to large enterprises, use Magento Open Source. The platform is also supported by a vibrant community of developers, partners, and enthusiasts who contribute to its development and improvement. \n Why host Magento Open Source on Azure? \n Azure is a cloud computing platform that provides a range of services and solutions for hosting, developing, and managing applications. Hosting Magento Open Source on Azure offers many benefits, such as: \n \n Scalability: You can easily scale your Magento Open Source store up or down according to your traffic and demand without compromising performance or availability. \n Reliability: You can rely on Azure's global network of datacenters and regions to ensure your store is always online and accessible to your customers. \n Security: You can protect your store and data from cyberattacks and breaches with Azure's built-in security features and compliance standards. \n Cost-efficiency: You can optimize your cloud spending by paying only for what you use with Azure's flexible pricing models and tools. \n Integration: You can integrate your Magento Open Source store with other Azure services and third-party applications to enhance your e-commerce capabilities and customer experience. \n Efficiency: You can optimize the use of your resources and reduce the overhead associated with managing and maintaining your infrastructure. \n Resilience: You can ensure the high availability and fault tolerance of your Magento Open Source store by using Kubernetes features such as load balancing, service discovery, health checks, and self-healing. \n Flexibility: You can scale your Magento Open Source store horizontally or vertically by adding or removing nodes or pods according to your needs and business demands. \n Modularity: You can modularize your Magento Open Source store and dependent components into microservices and deploy them as independent and interchangeable containers. \n \n Deploying Magento Open Source on Azure\u0026nbsp; \n The single-click\u0026nbsp;Azure Resource Manager (ARM) template we've provided creates and deploys the following resources in your Azure account with minimal effort required from your end: \n \n An\u0026nbsp;Azure virtual network with a subnet and a network security group. \n A secret that stores the Magento Open Source credentials and encryption keys. \n A public IP address and a load balancer. \n An\u0026nbsp;Azure Database for MySQL - Flexible Server PaaS database for Magento Open Source, the best place for MySQL on Azure. \n A storage account for Magento Open-Source media files. A persistent volume claim and a storage class that provide persistent storage for Magento Open-Source data. \n Azure Content Delivery Network (CDN) to store static files, CSS, scripts, images. (Requires SSL/TLS enabled) \n A deployment of Azure Kubernetes Services (AKS) which is the best managed service platform on Azure to deploy and run Magento Open Source as it achieves optimized compute resource utilization via Kubernetes which is an open-source system that automates the deployment, scaling, and management of containerized applications. It includes:\n \n A specified number of pods that run Magento Open-Source containers. \n An Elasticsearch subchart that deploys an Elasticsearch cluster for Magento Open-Source search functionality. \n A Redis subchart that deploys a Redis server for Magento Open-Source session and page caching. \n A service that exposes the Magento Open-Source pods to the internet. \n \n \n A temporary Azure VM to run automation scripts to configure AKS cluster with pods and containers. \n \n The image below illustrates the architecture of the Magento deployment on Azure. \n \n Steps to deploy Magento on Azure \n For step-by-step instructions on deploying Magento on Azure, you can either watch the demo video below or continue reading this section. \n \u0026nbsp; \n \n Prerequisites \n Before running the template to deploy Magento on Azure, you need to create a Resource Group, obtain authentication keys from Adobe and configure RBAC Roles to grant permissions to the Azure VM to run the script. \n \n Create a Resource group in your Azure Subscription to deploy the Magento solution. Please note that a second resource group will be automatically created for the AKS-specific infrastructure deployment, using the name of the resource group you created as a prefix. \n Get your authentication keys from Commerce Marketplace. You may need to register and generate the public and private keys. For more information, see the Adobe document Get your authentication keys. \n Create an RBAC Role and assign necessary permissions by running the following commands from the Azure CLI: \n \n az login # \u0026lt;Does not apply to Azure CLI in Azure Portal\u0026gt; \naz account set --subscription \u0026lt;Subscription_Id/Name\u0026gt; # \u0026lt;Applicable if multiple subscription associated with Azure account\u0026gt; \naz ad sp create-for-rbac --name magento2 --role \"Azure Kubernetes Service Contributor Role\" --scopes /subscriptions/\u0026lt;Subscription_Id\u0026gt;/resourceGroups/\u0026lt;Resource_Group\u0026gt; az role assignment create --assignee \u0026lt;AppId\u0026gt; --role \"CDN Profile Contributor\" --scope /subscriptions/\u0026lt;Subscription_Id\u0026gt;/resourceGroups/\u0026lt;Resource_Group\u0026gt; az role assignment create --assignee \u0026lt;AppId\u0026gt; --role \"Virtual Machine Contributor\" --scope /subscriptions/\u0026lt;Subscription_Id\u0026gt;/resourceGroups/\u0026lt;Resource_Group\u0026gt; \n Be sure to save the output from the above command, as you'll need to input this information into the template during the deployment steps. \n HTTPS using SSL \n It is highly recommended to use SSL encryption with TLS 1.2 or higher to safeguard users of the Magento e-commerce application when connecting over the HTTPS protocol, adhering to open-source industry standards. Follow the steps below to configure SSL: \n \n Create key vault in the same resource group that you created in the prerequisite steps. \n Import your TLS certificates to the same key vault. \n \n Note: SSL/TLS is mandatory to enable Azure CDN. \n One-click deployment link \n \n \n \n \n \n \n Description \n \n \n Deployment link \n \n \n \n \n \n \n Magento and its pre-requisite components – Varnish (Load Balance/Traffic Manager), Elasticsearch (full text search), Redis (cache) hosted on Azure Kubernetes Services (AKS) Container PODs as infra, Azure Container Registry to maintain the container image and its updates and deployment, Azure Database for MySQL - Flexible Server for RDBMS, Azure CDN and Azure Premium File Storage for content. \n \n \n \u0026nbsp; \n \n \u0026nbsp; \n \u0026nbsp; \n \n \n \n \n \n \n Essential inputs for deployment \n The following configuration values are a must for the deployment, some of which you'll obtain in the prerequisite steps: \n \n \n \n \n \n \n Configuration \n \n \n \u0026nbsp;Description \n \n \n \n \n Service Principal App ID \n \n \n The Service Principal App ID from the output of the Azure CLI commands to create the RBAC roles in the earlier steps. \n \n \n \n \n Service Principal Password \n \n \n The Service Principal App Password from the output of the Azure CLI commands to create the RBAC roles in the earlier steps. \n \n \n \n \n Composer Username \n \n \n The public key from the authentication access keys generated at Commerce Marketplace. \n \n \n \n \n Composer Password \n \n \n The private key from the authentication access keys generated at Commerce Marketplace. \n \n \n \n \n Magento Admin Password \n \n \n The password for the Magento administrator. \n \n \n \n \n MySQL Administrator Password \n \n \n Admin password for Azure Database for MySQL server. \n \n \n \n \n VM Admin Password \n \n \n Admin password for the temporary virtual machine used for AKS setup. \n \n \n \n \n Magento Admin Email \n \n \n The email address for the Magento admin. \n \n \n \n \n Storage Account Name \n \n \n The unique name for Azure Storage Account to host Magento content. \n \n \n \n \n \n \n Advanced Customization (Optional) \n For advanced configuration and customization of the solution during deployment, please refer to the ReadMe file in the GitHub repository hosting the one-click template: \n \n azure-mysql/Magento2/README.md at master · Azure/azure-mysql \n \n While compute SKUs can be scaled up or down post-deployment based on your workload testing, the following settings must be configured at deployment time: \n \n Magento Admin Username \n MYSQL Administrator Login \n Kubernetes System Node Pool VM Size \n Azure CDN \n SSL Encryption TLS \n Resource Name Prefix \n Key Vault Name \n Certificate Name \n External FQDN \n MySQL Database Name \n MySQL Version \n MySQL Availability Zone \n MySQL High Availability \n MySQL Standby Availability Zone \n MySQL Geo Redundant Backup \n \n Note: For information about troubleshooting deployment errors, see the article\u0026nbsp;Troubleshoot common Azure deployment errors. \n \u0026nbsp; \n IMPORTANT: After the ARM template deployment is complete, be sure to navigate to the AKS cluster and ensure all the AKS deployment and configuration jobs are completed. You may notice couple of deployment/configuration jobs named ‘magento-server’ and ‘magento-cron’ are still running for short time after ARM deployment is completed. Navigate to the application URL only after all the jobs have completed. \n \n Post-deployment steps \n After the deployment, you can reach the Magento application by navigating to the 'Services and Ingresses' blade and locate the external IP address of the load balancer service that exposes the Kubernetes pods to the internet.\u0026nbsp; \n \n Navigate to the IP Address (in this example '20.227.97.109') from any modern browser to get to the Magento application Home Page. The website is blank as the Magento database has no data. You can load your data to the Azure Database for MySQL server for the Magento application to use. \n \n To configure Magento application settings, administrator(s) can reach the administrator login page by navigating to the address '\u0026lt;external IP address\u0026gt;/admin' (in this example '20.227.97.109/admin') \n \n Conclusion \n In conclusion, this solution simplifies the deployment and optimal operation of the Magento Open Source e-commerce web application platform on Azure. It ensures seamless integration with various Azure infrastructure components, including Virtual Network, AKS, Private Endpoint, Azure CDN, Azure Premium File Storage, Azure VM, and Azure Database for MySQL, the highly preferred open-source RDBMS option on the cloud which supports not only Magento but also other widely used LAMP stack applications such as Moodle and WordPress. \n Leverage this one-click deployment template to host your e-commerce web application on Magento on Azure today! \n If you have any queries or suggestions, please let us know by leaving a comment below or by contacting directly us at\u0026nbsp;AskAzureDBforMySQL@service.microsoft.com.\u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"11197","kudosSumWeight":0,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MjQuMTB8Mi4xfG98NXxfTlZffDU","hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:aks","text":"aks","time":"2018-01-04T07:28:52.290-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:azure","text":"azure","time":"2016-09-06T09:34:09.130-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:Azure Database for MySQL","text":"Azure Database for MySQL","time":"2017-08-22T12:51:48.507-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDQ","node":{"__typename":"Tag","id":"tag:Azure Resource Manager Deployments","text":"Azure Resource Manager Deployments","time":"2020-03-18T16:07:39.722-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDU","node":{"__typename":"Tag","id":"tag:database","text":"database","time":"2018-08-03T09:52:35.388-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":7,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVZvSnBZWQ?revision=11\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LTBaT3ZCOQ?revision=11\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LUp4Sml1MA?revision=11\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LXd2RWJvcQ?revision=11\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVhrN3hsYw?revision=11\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w2","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LU1RcDgzMA?revision=11\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w3","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVVQTmJxeg?revision=11\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w4","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LWRFWlVBeg?revision=11\"}"}}],"totalCount":8,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[{"__typename":"VideoEdge","cursor":"MHxodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUMzcXhQeEFmQzF3LzE3MzE2ODM5NDgxNTN8MHwyNTsyNXx8","node":{"__typename":"AssociatedVideo","videoTag":{"__typename":"VideoTag","vid":"https://www.youtube.com/watch?v=C3qxPxAfC1w/1731683948153","thumbnail":"","uploading":false,"height":240,"width":320,"title":null},"videoAssociationType":"INLINE_BODY"}}],"totalCount":1,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00Mjk3MDU2LVZvSnBZWQ?revision=11"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"WIDE","titlePosition":"BOTTOM","altText":""}},"Blog:board:Marketplace-Blog":{"__typename":"Blog","id":"board:Marketplace-Blog","displayId":"Marketplace-Blog","nodeType":"board","conversationStyle":"BLOG","title":"Marketplace blog","shortTitle":"Marketplace blog","parent":{"__ref":"Category:category:MCPP"}},"User:user:1991689":{"__typename":"User","uid":1991689,"login":"Luxmi_Nagaraj","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS0xOTkxNjg5LTUwMzY5OGlCQUY0NDA1ODNBODQzNkQx"},"id":"user:1991689"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjU0MTk3LXdwVFBtQg?revision=23\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjU0MTk3LXdwVFBtQg?revision=23","title":"Two people at a dining room table using Surface laptops.jpg","associationType":"TEASER","width":920,"height":518,"altText":""},"BlogTopicMessage:message:4254197":{"__typename":"BlogTopicMessage","subject":"New on Azure Marketplace: October 22-31, 2024","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4254197},"lastPostingActivityTime":"2024-11-21T06:00:00.019-08:00","solved":false},"id":"message:4254197","revisionNum":23,"uid":4254197,"depth":0,"board":{"__ref":"Blog:board:Marketplace-Blog"},"author":{"__ref":"User:user:1991689"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" \n We continue to expand the Azure Marketplace ecosystem. For this volume, 348 new offers successfully met the onboarding criteria and went live. See details of the new offers below: ","introduction":"","metrics":{"__typename":"MessageMetrics","views":142},"postTime":"2024-11-21T06:00:00.019-08:00","lastPublishTime":"2024-11-21T06:00:00.019-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" We continue to expand the Azure Marketplace ecosystem. For this volume, 348 new offers successfully met the onboarding criteria and went live. See details of the new offers below: \n \n \n \n \n \n \n Get it now in our marketplace \n \n \n \n \n .NET 8 with Visual Studio Code on Windows Server 2016: This offer comes with .NET 8 and Visual Studio Code on Microsoft Windows Server 2016, and features a robust environment for modern application development. Nuvemnest provides specialized Azure Virtual Machine services with a customer-centric approach, leveraging extensive cloud computing expertise to deliver scalable, future-ready solutions tailored to business needs. \n \n \n \n .NET 8 with Visual Studio Code on Windows Server 2019: This offer comes with .NET 8 and Visual Studio Code on Microsoft Windows Server 2019 and features a robust environment for modern application development. Nuvemnest provides specialized Azure Virtual Machine services with a customer-centric approach, leveraging extensive cloud computing expertise to deliver scalable, future-ready solutions tailored to business needs. \n \n \n \n .NET 8 with Visual Studio Code on Windows Server 2022: This offer comes with .NET 8 and Visual Studio Code on Microsoft Windows Server 2022 and features a robust environment for modern application development. Nuvemnest provides specialized Azure Virtual Machine services with a customer-centric approach, leveraging extensive cloud computing expertise to deliver scalable, future-ready solutions tailored to business needs. \n \n \n \n .NET SDK 8 with Visual Studio Code on Windows Server 2016: This offer includes .NET SDK 8 and Visual Studio Code on Microsoft Windows Server 2016, providing a powerful development environment for modern applications. Nuvemnest offers specialized Azure Virtual Machine solutions with a customer-centric approach, leveraging extensive cloud computing expertise to ensure robust, scalable, and future-ready IT infrastructure. \n \n \n \n .NET SDK 8 with Visual Studio Code on Windows Server 2019: This offer includes .NET SDK 8 and Visual Studio Code on Microsoft Windows Server 2019, providing a powerful development environment for modern applications. Nuvemnest offers specialized Azure Virtual Machine services with a customer-centric approach, leveraging extensive cloud computing expertise to deliver scalable, future-ready solutions tailored to business needs. \n \n \n \n .NET SDK 8 with Visual Studio Code on Windows Server 2022: This offer includes .NET SDK 8 and Visual Studio Code on Microsoft Windows Server 2022, providing a powerful development environment for modern applications. Nuvemnest offers specialized Azure Virtual Machine services with a customer-centric approach, leveraging extensive cloud computing expertise to deliver scalable, future-ready solutions tailored to business needs. \n \n \n \n ADBC: ADBC from Dataphion is an API standard for Go database access libraries that uses Arrow for result sets and query parameters. It allows applications to build against ADBC APIs and link against drivers implementing the standard, eliminating the need to write code for converting Arrow data for each database. \n \n \n \n Advanced hardened image for Microsoft Windows 11 Enterprise: Madarson IT offers an Azure-based virtual machine with Microsoft Windows 11 Enterprise, version 24H2, is optimized for security with advanced hardening measures, stringent access controls, and regular updates. It aligns with standards like NIST CSF, ISO 27000, PCI DSS, and HIPAA, providing a secure baseline to protect against cyber threats. \n \n \n \n Advanced hardened image for Microsoft Windows 11 Pro: Madarson IT offers an Azure-based virtual machine comes with Microsoft Windows 11 Pro, version 24H2, optimized for security with advanced hardening measures. It includes stringent access controls, regular updates, and robust settings. The image aligns with standards like NIST CSF, ISO 27000, PCI DSS, and HIPAA, providing a secure baseline for organizations. \n \n \n \n AI Adoption Platform: The AI Adoption Platform from AI Business School is an all-in-one solution for large-scale AI adoption and business value creation. It offers personalized, interactive training for 200+ job roles, practical AI tool training, easy application integration, no-code creator tools, innovation tools, and business value measurement. \n \n \n \n AI Twin: Dataknobs AI Twin is a platform for optimizing IoT assets using machine learning. It transforms raw data into actionable insights, enhancing asset performance, predicting maintenance needs, and improving operational efficiency. Features include failure prediction models, health index calculation, and remaining useful life estimation, enabling proactive decision-making and reduced downtime. \n \n \n \n AIMMO Core - Smart Model De-identification: AIMMO Core Smart Model provides advanced de-identification solutions for autonomous driving data, ensuring compliance with global privacy regulations like GDPR and CCPA. It uses AI-driven algorithms to anonymize sensitive information without compromising data utility for AI training. \n \n \n \n Alpha Data's Blue-Green Deployment Platform by Terraform: This platform, powered by Terraform IaC and Microsoft Azure, ensures seamless deployment with minimal downtime. Key features include automated rollbacks, environment consistency, and resource optimization. It supports continuous delivery, dynamic scaling, and integrates with legacy systems, promoting modern development practices and enhanced security. \n \n \n \n ALVAO Service Desk - Agent Based Pricing: ALVAO Service Desk is an ITSM solution with Microsoft 365 integration, automating tasks and streamlining workflows. It supports incident, problem, change, and release management with no-code customization and AI-powered tools. Seamlessly integrating with Microsoft Teams and Outlook, it enhances service delivery and productivity within an intuitive interface. \n \n \n \n Amundsen on Ubuntu v20: Amundsen, developed by Lyft, is an open-source data discovery and metadata management platform. This package from Anarion helps organizations manage data ecosystems by enabling data discovery, understanding, and governance. Integrating with data lakes, warehouses, and BI tools, it enhances productivity, collaboration, and data-driven decision-making through a user-friendly interface and automated metadata collection. \n \n \n \n Anomalo Data Quality: Anomalo's Data Quality Monitoring uses AI to detect and resolve data quality issues quickly. It offers powerful checks with unsupervised machine learning, identifies missing and anomalous data, and provides deep monitoring. The solution runs entirely within your Microsoft Azure environment, ensuring top security and convenience. \n \n \n \n Apache: ATH Infosystems offers Apache HTTP Server, an open-source web server that's highly configurable, supporting various programming languages, advanced URL redirection, robust authentication, and SSL/TLS support. It is compatible with Unix-like systems and Microsoft Windows. \n \n \n \n AppsCode Cloud with Usage Billing: This Kubernetes native data platform deploys a central management console for all your AKS-based clusters, enabling the provisioning and management of production-grade databases. \n \n \n \n Arkahna: The Arkahna Platform offers a comprehensive solution for platform engineering, integrating advanced cloud-native technologies, governance, and AI. It includes modular components for cloud adoption, data management, API integration, web development, application management, GitHub enterprise use, and AI-driven insights. \n \n \n \n Attic Security for Microsoft 365: Attic connects to your Microsoft 365 tenant, guiding you through setup and continuously checking for security improvements. It raises security incidents on detection and offers fixes with one click. The optional Sentinel add-on provides enhanced security monitoring. Ideal for organizations lacking dedicated security teams, Attic ensures robust protection. \n \n \n \n Audiencerate Marketing Data Platform: Audiencerate Marketing Data Platform simplifies data management for small and medium businesses. It offers no-code integration, GDPR compliance, and ISO 27001:2022 certification. The platform provides a cost-effective solution with a 360-degree customer view, quick implementation, and enhanced customer engagement, transforming marketing campaigns efficiently and securely. \n \n \n \n AVATAR Authenticator: This enterprise app generates anonymous face keys for secure authentication without exposing private data. It operates on-premises, supports offline use, and logs events asynchronously. It integrates with client applications for various features like login, attendance, and document signing, ensuring user privacy. \n \n \n \n AvePoint Cloud Backup for Microsoft 365: AvePoint Cloud Backup from Carahsoft offers comprehensive cloud-to-cloud backup for Microsoft 365 with unlimited, automated backups and secure storage options. It provides on-demand, granular item-level restore for emails, files, conversations, and more. AVA, AvePoint's Virtual Assistant, helps automate restores, ensuring easy access to lost content. \n \n \n \n Beautiful Soup on Ubuntu 20.04: ATH Infosystems offers Beautiful Soup, a Python library for web scraping, offering tools to navigate and modify parse trees for efficient data extraction from HTML and XML documents. It supports multiple parsers, handles malformed markup, and integrates easily with other Python libraries. \n \n \n \n Beautiful Soup on Debian 11: ATH Infosystems offers Beautiful Soup, a Python library for web scraping, offering tools to navigate and modify parse trees for efficient data extraction from HTML and XML documents. It supports multiple parsers, handles malformed markup, and integrates easily with other Python libraries. \n \n \n \n Beautiful Soup on CentOS 8.5: ATH Infosystems offers Beautiful Soup, a Python library for web scraping, offering tools to navigate and modify parse trees for efficient data extraction from HTML and XML documents. It supports multiple parsers, handles malformed markup, and integrates easily with other Python libraries. \n \n \n \n Celery on Ubuntu 20: Anarion offers Celery, an open-source distributed task queue system for Python, enabling asynchronous task execution. It supports message brokers like RabbitMQ and Redis for high scalability and reliability. Celery allows task queuing, scheduling, and automatic retries, with monitoring tools like Flower for performance insights, enhancing web applications and data processing efficiency. \n \n \n \n CentOS 9 Stream Minimal: Zainab Market offers CentOS 9 Stream Minimal, a lightweight, efficient, and secure operating system designed for developers and IT professionals. It offers the latest updates, reduced resource consumption, and flexible deployment for applications, containers, and virtual machines. \n \n \n \n Cisco Multicloud Defense: Cisco Multicloud Defense offers comprehensive cloud security through a single SaaS control plane, simplifying multicloud security management. It automates cloud network constructs, integrates with IaC, and provides multidirectional protection against threats. The solution enhances operational efficiency, reduces risk, and ensures compliance with real-time asset discovery. \n \n \n \n Cisco Identity Services Engine: ISE on Microsoft Azure offers cloud-based network access control (NAC) services, unifying policy management for endpoint access and network device administration. It features rich APIs for automation, enhances visibility and control, supports zero trust with network segmentation, and integrates with other solutions to boost security and ROI. \n \n \n \n CogVoice Open Services Media Gateway (OSMG): Norwood Systems' AI-powered CogVoice solutions enhance mobile operators' customer experience and security with features like real-time transcription, translation, call summarization, and fraud detection. The flexible platform integrates seamlessly with existing networks, supports third-party services, and offers scalable, dynamic voice services for future AI advancements. \n \n \n \n Collectl on Ubuntu 20.04: ATH Infosystems offers Collectl, a lightweight, open-source performance monitoring tool for Linux systems, capturing real-time statistics across multiple subsystems like CPU, memory, and network with minimal performance impact. It supports both real-time monitoring and historical data collection, and data can be exported for detailed analysis. \n \n \n \n collectl on Debian 11: ATH Infosystems offers Collectl, a lightweight, open-source performance monitoring tool for Linux systems, capturing real-time statistics across multiple subsystems like CPU, memory, and network with minimal performance impact. It supports both real-time monitoring and historical data collection, and data can be exported for detailed analysis. \n \n \n \n Contentful on Debian 11: ATH Infosystems offers Contentful, a headless CMS that lets organizations create, manage, and deliver content across digital platforms. It features an intuitive interface, robust API support, real-time collaboration tools, and scalable infrastructure. \n \n \n \n Contentful on CentOS 8.5: ATH Infosystems offers Contentful, a headless CMS that lets organizations create, manage, and deliver content across digital platforms. It features an intuitive interface, robust API support, real-time collaboration tools, and scalable infrastructure. \n \n \n \n Contentful on Ubuntu 20.04: ATH Infosystems offers Contentful, a headless CMS that lets organizations create, manage, and deliver content across digital platforms. It features an intuitive interface, robust API support, real-time collaboration tools, and scalable infrastructure. \n \n \n \n Contentstack on Debian 11: ATH Infosystems offers Contentstack, a headless CMS that lets organizations create, manage, and deliver content across digital platforms. It features an intuitive interface, robust API support, real-time collaboration tools, and scalable infrastructure. \n \n \n \n Cordova 12.0.0 on Ubuntu 20: Anarion offers Apache Cordova, an open-source framework for building mobile apps using HTML, CSS, and JavaScript. It allows developers to create hybrid apps that run on multiple platforms like Android, iOS, and Microsoft Windows with a single codebase. Cordova's plugin architecture bridges web code with native device functionalities, enhancing app capabilities. \n \n \n \n Crowdbotics for GitHub Copilot: The Crowdbotics Copilot Extension enhances GitHub Copilot by generating custom product requirements from specs or prompts, improving Copilot's accuracy. It offers AI-assisted creation of requirements, technical recommendations, custom code, and data models. Built on Microsoft Azure, it optimizes building and deploying applications in Azure environments. \n \n \n \n CypherFlow Analytics Hub: Spektra Systems offers CypherFlow Analytics Hub, a cutting-edge platform for real-time data management, analysis, and visualization. It provides tools to transform raw data into actionable insights using intuitive dashboards and customizable analytics workflows. \n \n \n \n Data Backup using FTP: FileZilla FTP Server from Cloud Infrastructure Services offers a secure, versatile data backup solution with FTPS/SFTP encryption, user access control, and cross-platform compatibility. It supports automated, scheduled backups, large file transfers, and remote server management. Ideal for businesses needing reliable, scalable, and cost-effective data backup, it ensures data protection during transit and storage. \n \n \n \n Data Backup using SFTP: This Data Backup Solution using SFTP from Cloud Infrastructure Services ensures secure, encrypted backups from remote servers and clients. Key features include SSH encryption, automated scheduling, incremental backups, cross-platform compatibility, and detailed logging. Ideal for businesses prioritizing data security and compliance, it supports large file transfers, remote management, and disaster recovery planning. \n \n \n \n Data Synchronization using SFTP: The Data Synchronization Solution using SFTP from Cloud Infrastructure Services ensures secure, efficient, and reliable data transfers with SSH encryption. It supports automated, scheduled, and real-time synchronization across various platforms, providing detailed logging, flexible access control, and data integrity checks. Ideal for remote teams, database syncing, backups, IoT data collection, and compliance management. \n \n \n \n Datacenter for Windows Server 2016: The Datacenter for Windows Server 2016 from Cloud Infrastructure Services offers a robust cloud platform with enhanced security, Hyper-V containers, SDN, and S2D for scalable storage. It supports enterprise applications, development environments, web hosting, disaster recovery, VDI, and hybrid cloud scenarios. Benefits include scalability, cost efficiency, global reach, integrated security, and seamless Azure service integration. \n \n \n \n Datacenter for Windows Server 2019: The Datacenter for Windows Server 2019 from Cloud Infrastructure Services bridges on-premises environments with Azure, enabling hybrid scenarios and modernizing apps using containers and micro-services. It enhances security, efficiency, and scalability with Hyper-converged Infrastructure. Features include advanced security, System Insights, Remote Desktop Services integration, and Windows Defender ATP. Maintained by Cloud Infrastructure Services. \n \n \n \n DevUP Helium: Helium is a SaaS solution for optimizing and securing Azure environments. It continuously scans resources, evaluating them on security, best practices, maintainability, logging, and performance. Helium provides actionable recommendations, environment-wide insights, and rapid analysis, saving time and reducing errors for developers and managers. \n \n \n \n Distillery Routines: Distillery Routines by Distyl AI leverages AI to transform organizational knowledge and automate processes, reducing time-to-value from years to weeks. These evolving routines are fully auditable and transparent, ensuring precise adjustments. AI agents orchestrate and execute tasks, integrating with existing tools for efficient operations. \n \n \n \n Docker on Debian 12: Cloud Infrastructure Services offers Docker, which allows developers and sysadmins to build, run, and share applications using containers. It features a Docker daemon to manage objects, a REST API, and a CLI for control. Docker's lightweight nature enables dynamic workload management, scaling applications as needed. It includes access to Docker Hub public images. \n \n \n \n Docker on Ubuntu 24.04: Cloud Infrastructure Services offers Docker, which allows developers and sysadmins to build, run, and share applications using containers. It features a Docker daemon to manage objects, a REST API, and a CLI for control. Docker's lightweight nature enables dynamic workload management, scaling applications as needed. It includes access to Docker Hub public images. \n \n \n \n Dokku v0.35.7 on Ubuntu 20: Anarion offers Dokku, an open-source PaaS solution that simplifies deploying, managing, and scaling web applications on self-hosted servers. It uses Docker containers for isolation and Git for deployment, supporting various programming languages and databases. Its plugin ecosystem extends functionality, making it a flexible, Heroku-like experience for developers. \n \n \n \n eb edition on Debian 11: ATH Infosystems offers eb edition, an open-source tool that enhances security by monitoring logs, updating firewall rules, and blocking malicious IPs. It protects various services and scales with your environment. \n \n \n \n eb edition on Ubuntu 24.04: ATH Infosystems offers eb edition, an open-source tool that enhances security by monitoring logs, updating firewall rules, and blocking malicious IPs. It protects various services and scales with your environment. \n \n \n \n eb edition on CentOS 8.5: ATH Infosystems offers eb edition, an open-source tool that enhances security by monitoring logs, updating firewall rules, and blocking malicious IPs. It protects various services and scales with your environment. \n \n \n \n Einops on Ubuntu 20.04: ATH Infosystems offers Einops, a library for tensor manipulation in deep learning, providing simple syntax for reshaping, rearranging, and combining tensors, compatible with PyTorch and TensorFlow. \n \n \n \n Einops on CentOS 8.5: ATH Infosystems offers Einops, a library for tensor manipulation in deep learning, providing simple syntax for reshaping, rearranging, and combining tensors, compatible with PyTorch and TensorFlow. \n \n \n \n Einops on Debian 11: ATH Infosystems offers Einops, a library for tensor manipulation in deep learning, providing simple syntax for reshaping, rearranging, and combining tensors, compatible with PyTorch and TensorFlow. \n \n \n \n Enterprise Copilot powered by Generative AI: Leena AI is an Enterprise copilot powered by GenAI and WorkLM, enhancing productivity and employee experience. It streamlines operations across HR, IT, Sales, and Finance, compatible with 1000+ platforms. Serving 500+ customers like Nestle and Coca-Cola, it supports 100+ languages globally. \n \n \n \n epm2backup: emp2backup offers an automated solution for backing up and securely storing data on Oracle EPM Cloud servers. It ensures data security, prevents loss or corruption, and operates seamlessly in the background. Enhanced with encryption and customizable settings, it provides flexibility and reliability, safeguarding critical data without disrupting workflow. \n \n \n \n EPWP Digital Platform: This robust electronic platform modernizes attendance, performance tracking, and payroll processes using Microsoft Power Apps for user-friendly management, Azure Maps for geolocation, and Microsoft Dataverse for secure data storage. Power Automate automates workflows, while Power BI generates real-time reports and dashboards for insights into attendance and performance metrics. \n \n \n \n ERP.net Express: ERP.net is a cloud-hosted business management platform suitable for any company. ERP.net Express integrates productivity, collaboration, CRM, and project management in one system. It features personal productivity tools, a 360-degree CRM, project management, AI assistance, and subscription handling. \n \n \n \n File Sharing Solution using Filezilla FTP Server: The File Sharing Solution using a modified FileZilla FTP Server offers secure file transfers with FTPS and SFTP, detailed user management, remote server management, and support for large files. It is ideal for internal collaboration, remote access, client sharing, backups, website management, and media distribution, providing a reliable and affordable alternative to proprietary software. \n \n \n \n Foundational hardened Image for Windows 11 Enterprise: Madarson offers an Azure-based virtual machine with Microsoft Windows 11 Enterprise, optimized for security with advanced hardening measures, stringent access controls, and regular updates. It aligns with standards like NIST CSF, ISO 27000, PCI DSS, and HIPAA. \n \n \n \n Foundational hardened image for Windows 11 Pro: Madarson offers an Azure-based virtual machine with Microsoft Windows 11 Pro, optimized for security with advanced hardening measures. It includes stringent access controls, regular updates, and robust settings. The image aligns with standards like NIST CSF, ISO 27000, PCI DSS, and HIPAA, providing a secure baseline for organizations. \n \n \n \n Foxit AI Assistant: Foxit AI Assistant enhances document management by summarizing complex documents, improving writing precision, providing definitions and rewording suggestions, translating PDFs into 16+ languages, and offering AI chat for in-depth answers. It also automates PDF tasks like adding watermarks and merging pages, boosting team productivity with less effort. \n \n \n \n Foxit PDF Editor: Foxit PDF Editor is an AI-enabled PDF solution that enhances remote productivity and collaboration. It offers tools for creating, editing, and converting PDFs, with OCR for quick document conversion. Integrating with Microsoft 365 and Google, it features a user-friendly interface and includes 20GB storage. \n \n \n \n Foxit PDF Editor+: Foxit PDF Editor+ is an AI-powered, all-in-one PDF solution for businesses, available on multiple platforms. It offers features like viewing, creating, editing, collaborating, sharing, securing, organizing, exporting, OCR, and electronic signatures. Key highlights include Foxit AI Assistant, real-time collaboration, robust security, and scalable enterprise features. \n \n \n \n Geoteric Software: Geoteric offers advanced seismic interpretation tools, including patented data-driven interpretation, noise reduction, and spectral shaping for clearer images. Modules like Reveal and Classify use machine learning for detailed geological analysis. AI Faults and AI Horizons provide cutting-edge fault detection and horizon interpretation, enhancing subsurface understanding and optimizing asset plans. \n \n \n \n GPA Automation 365: Government software offers comprehensive solutions including financial management, HR management, procurement, CRM, compliance, project management, data security, document management, asset management, and performance analytics. It ensures efficient handling of budgeting, payroll, procurement, citizen engagement, regulatory compliance, project oversight, data protection, record management, asset tracking, and service evaluation. \n \n \n \n Hasura on Debian 11: ATH Infosystems offers Hasura, an open-source framework that simplifies managing configurations and enhances terminal functionality with plugins, themes, auto-completion, syntax highlighting, and custom prompts. \n \n \n \n HCL Digital Experience Cloud (Private Offer Only): HCL Digital Experience Cloud Native is a customizable, scalable digital experience platform optimized for Kubernetes environments. It blends content, data, systems, and processes to create comprehensive experiences for customers, employees, and partners. Available via private offer, it ensures secure, efficient deployment and operation. \n \n \n \n Host CMS v7.1.0 on Ubuntu 20: Anarion offers Host CMS, a versatile, feature-rich content management system built on PHP, suitable for individuals, small businesses, and large enterprises. It supports various website functionalities, including e-commerce, with an intuitive admin panel, advanced templating, SEO tools, multi-language support, and robust security. Its modular structure allows seamless functionality extensions through add-ons and plugins. \n \n \n \n Issues and Grievance Management (IGM) App: Adya's IGM App ensures protocol adherence and enhances transparency for ONDC network participants. It streamlines issue capturing, tracking, and resolution with standardized procedures. Key features include quick onboarding, user roles management, performance reporting, advanced ticketing, automated routing, seamless communication, and flexible cloud options, ensuring compliance with evolving ONDC protocols. \n \n \n \n Java 21 on Ubuntu 20.04 LTS: Java 21, the latest LTS release, enhances developer productivity, performance, and security. Ideal for software developers, system architects, and organizations using Java for enterprise applications. Nuvemnest offers specialized Microsoft Azure Virtual Machine solutions with expert support, a customer-centric approach, and future-ready technology to ensure robust and scalable IT infrastructure. \n \n \n \n Java 21 on Ubuntu 22.04 LTS: Java 21, the latest LTS release, enhances developer productivity, performance, and security. Ideal for software developers, system architects, and organizations using Java for enterprise applications. Nuvemnest offers specialized Microsoft Azure Virtual Machine solutions with expert support, a customer-centric approach, and future-ready technology to ensure robust and scalable IT infrastructure. \n \n \n \n Java 21 on Ubuntu 24.04 LTS: Java 21, the latest LTS release, enhances developer productivity, performance, and security. Ideal for software developers, system architects, and organizations using Java for enterprise applications. Nuvemnest offers specialized Microsoft Azure Virtual Machine solutions with expert support, a customer-centric approach, and future-ready technology to ensure robust and scalable IT infrastructure. \n \n \n \n Jina CLIP v1: Jina CLIP is a multimodal embedding model that excels in text-only and text-image retrieval. It outperforms OpenAI CLIP by 165% in text-only and 12% in image-to-image retrieval. It supports longer text inputs and offers significant savings in space, compute, and complexity, making it efficient in various scenarios. \n \n \n \n Jina Embeddings v3: Jina Embeddings is a multilingual, multi-task text embedding model based on Jina-XLM-RoBERTa. It supports long input sequences up to 8192 tokens with Rotary Position Embeddings and features 5 LoRA adapters for task-specific embeddings. It offers flexible embedding sizes, making it suitable for various NLP applications like retrieval, classification, and text-matching. \n \n \n \n Jina Reranker v2 Base - Multilingual: Jina Reranker v2 is a neural text reranking model that enhances search result relevance by prioritizing documents relevant to a query. It supports multilingual performance, handles extended context lengths, and offers ultra-fast document throughput, making it ideal for vector search and retrieval augmented generation applications. \n \n \n \n Kalibr8 for MSPs: Kalibr8 offers cloud optimization solutions to help businesses reduce cloud waste and costs. Its platform provides transparency, advanced analytics, and automation for efficient cloud management. Key tools, Navig8 and Illumin8, let MSPs identify cost-saving opportunities and deliver actionable insights, optimizing cloud spending and improving IT service delivery. \n \n \n \n Koa.js on Ubuntu 20.04: ATH Infosystems offers Koa.js, a modern, lightweight Node.js framework ideal for asynchronous code. It features built-in async support, modularity, and precise error handling. \n \n \n \n Koa.js on Debian 11: ATH Infosystems offers Koa.js, a modern, lightweight Node.js framework ideal for asynchronous code. It features built-in async support, modularity, and precise error handling. \n \n \n \n Langcode CXP: Langcode CXP is an enterprise-grade B2B SaaS solution that helps businesses adopt generative AI. It supports multiple LLMs, offers model routing, advanced RAG, ReAct technology, and a user-friendly web UI. Clients can create customized AI assistants in 3 minutes, with a cost-effective subscription model. Trusted by over 30 leading enterprises globally. \n \n \n \n Liquibase on Ubuntu 20.04: ATH Infosystems offers Liquibase, an open-source database schema change management tool that simplifies database migrations. It supports various databases and uses XML, JSON, YAML, or SQL for defining changes. Key features include version control, rollback functionality, and schema comparison. It is ideal for teams adopting DevOps practices for database management. \n \n \n \n Liquibase on Debian 11: ATH Infosystems offers Liquibase, an open-source database schema change management tool that simplifies database migrations. It supports various databases and uses XML, JSON, YAML, or SQL for defining changes. Key features include version control, rollback functionality, and schema comparison. It is ideal for teams adopting DevOps practices for database management. \n \n \n \n Logistics Buyer App for ONDC: The Logistics Buyer App for ONDC by Adya revolutionizes enterprise engagement with the Open Network for Digital Commerce. It creates a transparent, competitive logistics marketplace, ensuring equal opportunities for buyers and sellers. With quick onboarding, rapid adaptation to ONDC protocols, and a first-mover advantage, it offers a robust platform for logistics services. \n \n \n \n MariaDB on Ubuntu 20.04: ATH Infosystems offers MariaDB, which features advanced security, multiple storage engines, and extensive scalability for large datasets and high-traffic applications.\u0026nbsp; \n \n \n \n MEAN Stack on Ubuntu 20: The MEAN stack from Anarion combines MongoDB, Express.js, Angular, and Node.js to create a powerful full-stack JavaScript framework. MongoDB offers flexible data storage, Express.js simplifies server-side development, Angular enhances front-end interfaces, and Node.js provides an efficient runtime environment. This unified approach streamlines development and enables code reusability across applications. \n \n \n \n Meridian MBotPro: The Meridian MBotPro is an advanced AI chatbot designed to enhance customer engagement and operational efficiency. It offers quick, accurate responses, human-like conversations, handles complex queries, personalizes interactions, supports multiple languages, and continuously improves its performance. \n \n \n \n Meridian VisionDetect: Meridian VisionDetect, powered by Microsoft Azure, offers real-time face registration and verification for applications like video KYC, facial access control, and automated attendance. It features instant face registration, customizable metadata, secure data storage, and fast, accurate verification within 2 seconds, ensuring high performance and scalability. \n \n \n \n MERN Stack on Ubuntu 20: The MERN stack from Anarion is a popular web development framework using JavaScript for both client and server-side. It includes MongoDB for flexible data storage, Express.js for backend development, React for building user interfaces, and Node.js for server-side execution. This stack enables efficient, scalable, and high-performance full-stack applications. \n \n \n \n mlflow on CentOS 8.5: ATH Infosystems offers mlflow, an open-source framework for managing configurations, featuring plugins, themes, auto-completion, syntax highlighting, and custom prompts to enhance terminal usability. \n \n \n \n mlflow on Debian 11: ATH Infosystems offers mlflow, an open-source framework for managing configurations, featuring plugins, themes, auto-completion, syntax highlighting, and custom prompts to enhance terminal usability. \n \n \n \n mlflow on Ubuntu 20.04: ATH Infosystems offers mlflow, an open-source framework for managing configurations, featuring plugins, themes, auto-completion, syntax highlighting, and custom prompts to enhance terminal usability. \n \n \n \n MySQL on Ubuntu 20.04: ATH Infosystems offers MySQL, an open-source relational database management system known for high performance, reliability, ACID compliance, scalability, and advanced data replication and backup options. \n \n \n \n Name-Address Extractor: The Name-Address Extractor API from Pirus uses NLP to convert unstructured text into structured JSON objects. It extracts and organizes information such as names, addresses, cities, and countries from text inputs like company addresses or descriptions. \n \n \n \n Nexla: Nexla is an enterprise-grade data integration platform recognized for its technical robustness and self-service capabilities. It offers tools for ETL, reverse ETL, and data transformation with a no/low-code approach, enabling users of all technical backgrounds to integrate and process data seamlessly. \n \n \n \n Nodetrax Salesforce Connector: Nodetrax provides 99.9% reliable metering for SaaS offerings, tracking spending and usage of private offers. It supports multiple regions and integrates with third-party applications like Salesforce. \n \n \n \n NVAI API: NVAI API from NeuroVision AI Tech is a high-accuracy solution for video, image, and real-time processing, supporting tasks like object detection and segmentation. It offers rapid processing, recognizing 865 colors, and features a dual-layer architecture for cloud and edge computing. NVAI API ensures reliable, human-like AI performance across various applications. \n \n \n \n OAuthlib on Ubuntu 20.04: ATH Infosystems offers OAuthlib, a Python library for implementing OAuth1 and OAuth2, enhancing secure authentication in web applications and APIs. It supports various OAuth protocols and secure token management, and integrates with frameworks like Flask and Django. \n \n \n \n OAuthlib on Debian 11: ATH Infosystems offers OAuthlib, a Python library for implementing OAuth1 and OAuth2, enhancing secure authentication in web applications and APIs. It supports various OAuth protocols and secure token management, and integrates with frameworks like Flask and Django. \n \n \n \n OAuthlib on CentOS 8.5: ATH Infosystems offers OAuthlib, a Python library for implementing OAuth1 and OAuth2, enhancing secure authentication in web applications and APIs. It supports various OAuth protocols and secure token management, and integrates with frameworks like Flask and Django. \n \n \n \n Oh My Zsh on CentOS 8.5: ATH Infosystems offers Oh My Zsh, an open-source framework for managing Zsh configurations, enhancing terminal experience with plugins and themes. It offers features like auto-completion, syntax highlighting, and custom prompts. Users can personalize their terminal and improve productivity. \n \n \n \n OpenProject v14.6.3 on Ubuntu 20: Anarion offers OpenProject, an open-source project management system designed for team collaboration and workflow optimization. It supports methodologies like waterfall and agile, featuring Gantt charts, task management, time tracking, document management, and budget tools. Customizable workflows and robust reporting enhance productivity and decision-making, making it ideal for diverse industries. \n \n \n \n OpenTofu on Ubuntu 20: ATH Infosystems offers OpenTofu, an open-source infrastructure-as-code tool for automating cloud resource management. It uses a high-level configuration language, supports multiple cloud providers, and includes built-in state management. \n \n \n \n OpenTofu on Debian 11: ATH Infosystems offers OpenTofu, an open-source infrastructure-as-code tool for automating cloud resource management. It uses a high-level configuration language, supports multiple cloud providers, and includes built-in state management. \n \n \n \n Oracle Linux 7.8 Minimal: Bansir offers Oracle Linux 7.8 Minimal, an enterprise-grade Linux distribution offering high performance, scalability, and security. Fully compatible with Red Hat Enterprise Linux, it supports mission-critical applications, making it a reliable and cost-effective server OS. It provides a stable platform for modern data centers with extensive support options and Oracle's expertise. \n \n \n \n Paddle\u0026nbsp;on Debian 11: ATH Infosystems offers Paddle, an open-source framework that simplifies paddle configuration management, enhancing terminal experience with plugins, themes, auto-completion, syntax highlighting, and custom prompts. \n \n \n \n Paddle\u0026nbsp;on CentOS 8.5: ATH Infosystems offers Paddle, an open-source framework that simplifies paddle configuration management, enhancing terminal experience with plugins, themes, auto-completion, syntax highlighting, and custom prompts. \n \n \n \n Paddle\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers Paddle, an open-source framework that simplifies paddle configuration management, enhancing terminal experience with plugins, themes, auto-completion, syntax highlighting, and custom prompts. \n \n \n \n PHPon Ubuntu 20.04: ATH Infosystems offers PHP, a server-side scripting language for web development, integrating with databases like MySQL, supporting frameworks like Laravel, and providing tools for secure, scalable applications. \n \n \n \n phpIPAM\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers phpIPAM, an open-source IP address management tool that helps users manage IP addresses and subnets efficiently. It supports IPv4 and IPv6, offers user management with customizable roles, and includes reporting and analytics tools. \n \n \n \n phpIPAM\u0026nbsp;on CentOS 8.5: ATH Infosystems offers phpIPAM, an open-source IP address management tool that helps users manage IP addresses and subnets efficiently. It supports IPv4 and IPv6, offers user management with customizable roles, and includes reporting and analytics tools. \n \n \n \n phpIPAM\u0026nbsp;on Debian 11: ATH Infosystems offers phpIPAM, an open-source IP address management tool that helps users manage IP addresses and subnets efficiently. It supports IPv4 and IPv6, offers user management with customizable roles, and includes reporting and analytics tools. \n \n \n \n Plesk\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers Plesk, a user-friendly web hosting control panel that simplifies website, domain, email, and database management. It supports various extensions like WordPress Toolkit and Docker, offers automated/manual backups, and is ideal for both individual users and hosting providers. \n \n \n \n Postfix\u0026nbsp;on CentOS 8.5: ATH Infosystems offers Postfix, a powerful, open-source mail transfer agent (MTA) known for its simplicity, security, and high performance. It supports SMTP, integrates with various mail services, and offers robust performance for handling large email volumes. Postfix can function as a mail server, SMTP relay, spam filter, and email forwarder. \n \n \n \n Postfix\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers Postfix, a powerful, open-source mail transfer agent (MTA) known for its simplicity, security, and high performance. It supports SMTP, integrates with various mail services, and offers robust performance for handling large email volumes. Postfix can function as a mail server, SMTP relay, spam filter, and email forwarder. \n \n \n \n ProcDigi eAuction: Procdigi eAuction is a versatile online auction platform designed to streamline purchasing processes for organizations. It features buyer, supplier, and manager management, multiple auction types, targeted auction publishing, and detailed auction reports. This platform enhances auction efficiency and provides comprehensive insights, empowering businesses to manage their auction lifecycle seamlessly. \n \n \n \n PromptFlow\u0026nbsp;on Debian 11: ATH Infosystems offers PromptFlow, an open-source tool that enhances security by monitoring log files for suspicious activity and updating firewall rules to block malicious IP addresses. It protects services like SSH, HTTP(S), and FTP, scales with your environment, and supports multiple log formats. \n \n \n \n PromptFlow\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers PromptFlow, an open-source tool that enhances security by monitoring log files for suspicious activity and updating firewall rules to block malicious IP addresses. It protects services like SSH, HTTP(S), and FTP, scales with your environment, and supports multiple log formats. \n \n \n \n Pytest\u0026nbsp;on CentOS 8.5: ATH Infosystems offers Pytest, a popular Python testing framework with simple syntax, reusable fixtures, and parameterized testing, suitable for complex applications. \n \n \n \n Pytest\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers Pytest, a popular Python testing framework with simple syntax, reusable fixtures, and parameterized testing, suitable for complex applications. \n \n \n \n Reconciliation Service Providers (RSP) App: Adya's RSP App is a comprehensive Reconciliation and Settlement Application for the ONDC platform, offering quick onboarding, seamless integration, automated fund transfers, and efficient user role management. It supports refund and returns reconciliation, GST, TDS, and TCS management, and provides flexible cloud options, ensuring compliance with evolving ONDC protocols. \n \n \n \n Redpanda Cloud: Redpanda Cloud is a fully managed platform for building real-time applications, compatible with Kafka APIs. It offers extensive pre-built connectors and AI capabilities, and supports open data formats. Managed by Redpanda, it ensures zero downtime and cost-effective data retention. \n \n \n \n Redstor Cloud Backup and Recovery: Redstor offers backup and instant recovery for Microsoft 365, Azure VMs, Google Workspace, and more. Its AI malware detection and InstantData technology ensure malware-free recoveries and immediate access to critical data. Features include immutable storage, extended retention policies, and compliance with data sovereignty regulations. \n \n \n \n Region Monitor: Available in Dutch, Region Monitor from Pandora Intelligence helps government agencies, municipalities, and transport hubs detect criminal activity by improving data analysis and identifying vulnerabilities in corporate structures. It integrates proprietary and open-source data, automates investigation processes and provides a comprehensive overview of companies, enabling rapid response to signals and prioritization of high-risk companies. \n \n \n \n Resilio Active Everywhere Platform: The Active Everywhere Platform offers high-performance peer-to-peer file synchronization, optimizing data transfer across networks. It scales organically, reduces egress costs, and supports hybrid work and cloud environments. Key features include ultra-fast transfers, low-latency, automation-friendly operations, unified access, and robust security. Ideal for server sync, hybrid work, disaster recovery, and cloud storage. \n \n \n \n Resourcely: Resourcely is a unified configuration platform for managing infrastructure as code (IaC). It offers pre-configured templates (Blueprints), automated security policy enforcement (Guardrails), and tools to define, track, and remediate misconfigurations (Campaigns). Foundry allows customization of blueprints and guardrails to fit business needs. \n \n \n \n Retail - MSN Seller App: The MSN Seller App for ONDC by Adya streamlines operations for marketplace models with quick onboarding, customizable solutions, flexible cloud options, seamless integrations, and enhanced visibility. It ensures rapid adaptation to ONDC protocols, offering a competitive edge and first-mover advantage for enterprises engaging with the Open Network for Digital Commerce. \n \n \n \n Retail Buyer App for ONDC by Adya: The Retail Buyer App for ONDC by Adya enables enterprises to quickly launch customized shopping apps, reducing development time from 18 months to one day. It offers flexible cloud options, seamless integrations, and rapid adaptation to ONDC protocols, ensuring compliance and competitive advantage in engaging SMEs. \n \n \n \n Retail F\u0026amp;B Seller App for ONDC by Adya: The F\u0026amp;B Seller App for ONDC by Adya streamlines operations for F\u0026amp;B operators, offering quick onboarding, customizable solutions, flexible cloud options, seamless integrations, and enhanced visibility. It ensures rapid adaptation to ONDC protocols, providing a competitive edge and early market entry for sellers, significantly reducing app development time. \n \n \n \n Retail ISN Seller App for ONDC by Adya - PaaS: The ISN Seller App for ONDC by Adya streamlines enterprise engagement with ONDC, offering quick onboarding, customizable solutions, flexible cloud options, seamless integrations, and enhanced visibility. It ensures rapid adaptation to ONDC protocols, providing a competitive edge and first-mover advantage for brands and OEMs in the digital marketplace. \n \n \n \n Rezolve Ai - Brain Suite of AI Solutions for Retail: Rezolve Ai revolutionizes digital shopping with conversational AI, enhancing customer engagement, satisfaction, and conversions. The Brain suite, powered by the retail-specific LLM brainpowa, offers personalized interactions, seamless transactions, and post-purchase support. This comprehensive solution transforms product discovery, checkout, and customer care, driving growth and loyalty for retailers. \n \n \n \n Rocky Linux 8.10: Rocky Linux, governed by the Rocky Enterprise Software Foundation, is a community-driven, enterprise-grade Linux distribution providing a stable, reliable alternative to CentOS. Nuvemnest specializes in Microsoft Azure VM solutions, emphasizing expertise, customer-centric approaches, and future-ready technology for scalable IT infrastructure. \n \n \n \n Rocky Linux 8.10 LVM: Rocky Linux, governed by the Rocky Enterprise Software Foundation, is a community-driven, enterprise-grade Linux distribution providing a stable, reliable alternative to CentOS. Nuvemnest specializes in Microsoft Azure VM solutions, emphasizing expertise, customer-centric approaches, and future-ready technology for scalable IT infrastructure. \n \n \n \n Rocky Linux 8.5 Generation 2: Pro Computers offers a minimal, ready-to-use Rocky Linux Gold Image. It uses UEFI-based boot architecture, includes Azure Linux Agent, cloud-init, and supports Accelerated Networking. Ideal for building and testing appliances, it features SELinux and SSH public key authentication. \n \n \n \n Rocky Linux 8.5 LVM-partitioned: Pro Computers offers a minimal, ready-to-use Rocky Linux Gold Image. It uses UEFI-based boot architecture, includes Azure Linux Agent, cloud-init, and supports Accelerated Networking. Ideal for building and testing appliances, it features SELinux and SSH public key authentication. \n \n \n \n Rocky Linux 8.6 Generation 2: Pro Computers offers a minimal, ready-to-use Rocky Linux Gold Image. It uses UEFI-based boot architecture, includes Azure Linux Agent, cloud-init, and supports Accelerated Networking. Ideal for building and testing appliances, it features SELinux and SSH public key authentication. \n \n \n \n Rocky Linux 8.6 LVM-partitioned: Pro Computers offers a minimal, ready-to-use Rocky Linux Gold Image. It uses UEFI-based boot architecture, includes Azure Linux Agent, cloud-init, and supports Accelerated Networking. Ideal for building and testing appliances, it features SELinux and SSH public key authentication. \n \n \n \n Rocky Linux 8.7 Generation 2: Pro Computers offers a minimal, ready-to-use Rocky Linux Gold Image. It uses UEFI-based boot architecture, includes Azure Linux Agent, cloud-init, and supports Accelerated Networking. Ideal for building and testing appliances, it features SELinux and SSH public key authentication. \n \n \n \n Rocky Linux 8.7 LVM-partitioned: Pro Computers offers a minimal, ready-to-use Rocky Linux Gold Image. It uses UEFI-based boot architecture, includes Azure Linux Agent, cloud-init, and supports Accelerated Networking. Ideal for building and testing appliances, it features SELinux and SSH public key authentication. \n \n \n \n RustDesk secured and supported by Hossted: Hossted offers a repackaged RustDesk deployment with enhanced security, instant setup, and a control dashboard. Ideal for managing Linux users and client hosts efficiently. \n \n \n \n Scrapy\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers Scrapy, an open-source tool that enhances security by monitoring log files for threats and updating firewall rules to block malicious IPs. It protects services like SSH, HTTP(S), and FTP, scales with your environment, and supports multiple log formats. \n \n \n \n Scrapy\u0026nbsp;on CentOS 8.5: ATH Infosystems offers Scrapy, an open-source tool that enhances security by monitoring log files for threats and updating firewall rules to block malicious IPs. It protects services like SSH, HTTP(S), and FTP, scales with your environment, and supports multiple log formats. \n \n \n \n Scrapy\u0026nbsp;on Debian 11: ATH Infosystems offers Scrapy, an open-source tool that enhances security by monitoring log files for threats and updating firewall rules to block malicious IPs. It protects services like SSH, HTTP(S), and FTP, scales with your environment, and supports multiple log formats. \n \n \n \n Secure File Transfer Using SFTP: Cloud Infrastructure Services offers a Secure File Transfer Solution using SFTP which ensures encrypted, tamper-resistant file transfers with AES, DES, and BLOWFISH encryption. It supports automated transfers, multi-platform compatibility, detailed logging, and user access control. Ideal for data backups, remote team file sharing, client exchanges, and compliance with regulations like HIPAA and GDPR. \n \n \n \n Seismic for Copilot for Sales: Seismic's Aura Copilot integrates with Microsoft 365 and Copilot for Sales to enhance sales team productivity. It provides instant access to accurate information, automates content recommendations, and suggests follow-up actions based on AI insights. This boosts seller confidence and efficiency, allowing more focus on building relationships and closing deals. \n \n \n \n Sentry Secured and Supported by HOSSTED: Hossted offers a repackaged Sentry deployment with enhanced security, instant setup, and comprehensive management via CLI and Dashboard. It provides continuous security scans, around-the-clock support, troubleshooting, and multi-application assistance at competitive pricing, making it a robust solution for managing open-source software efficiently and securely. \n \n \n \n Sigma Computing: Cloud-Native Analytics and BI: Sigma is a cloud-native analytics platform on Microsoft Azure, enabling business users to access and analyze data without SQL or coding. Its spreadsheet-like interface allows direct interaction with large datasets. Key features include no-code data exploration, real-time collaboration, and enterprise-grade security, facilitating data-driven decision-making across organizations. \n \n \n \n SIPP\u0026nbsp;on Debian 11: ATH Infosystems offers SIPP, a signaling protocol for real-time communication in voice and video over IP networks, providing flexible session management, codec support, and customization options. \n \n \n \n SIPP\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers SIPP, a signaling protocol for real-time communication in voice and video over IP networks, providing flexible session management, codec support, and customization options. \n \n \n \n Smart and Interactive Tourism with AR and AI: Verofax's AR/AI solution enhances tourism by extending tourist stays by 20% and increasing spending by 33%. It offers immersive AR experiences, AI-powered tour guides, and personalized itineraries. The platform benefits tourists, tourism boards, and brands, ensuring rapid deployment, scalability, and seamless integration with existing systems, while maintaining data security and GDPR compliance. \n \n \n \n Snap\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers Snap, an open-source framework for managing configurations and enhancing terminal experience with plugins, themes, auto-completion, and syntax highlighting. \n \n \n \n Snap\u0026nbsp;on CentOS 8.5: ATH Infosystems offers Snap, an open-source framework for managing configurations and enhancing terminal experience with plugins, themes, auto-completion, and syntax highlighting. \n \n \n \n KLAUDXYS Support: Klaudxys offers expert solutions, including custom development and consulting to enhance Microsoft SharePoint, Power Platform, and its own DocuKlaud document management system. Services include Power Apps development, Power Automate workflows, Power BI for informed decisions, and custom SharePoint intranets. This offer is available in Spanish. \n \n \n \n SpaceOnAI - Complete AI Space and Workplace Management: Smarten Spaces offers AI-driven solutions for optimizing office space and enhancing employee experience. The SpaceOnAI platform integrates multiple data sources for deep analytics, space optimization, dynamic allocation, and future space planning. It helps CRE professionals make data-driven decisions, reduce costs, and improve productivity. \n \n \n \n SPIP\u0026nbsp;on Debian 11: ATH Infosystems offers SPIP, a PHP-based content management system designed for collaborative editing and managing structured content. It supports various formatting options, maintains revision history, includes user authentication and access control, and allows media embedding. \n \n \n \n SPIP\u0026nbsp;on Ubuntu 20.04: ATH Infosystems offers SPIP, a PHP-based content management system designed for collaborative editing and managing structured content. It supports various formatting options, maintains revision history, includes user authentication and access control, and allows media embedding. \n \n \n \n Splunk on Debian 11: ATH Infosystems offers Splunk, a robust platform for searching, monitoring, and analyzing machine-generated big data. It lets IT and security teams collect, index, and visualize data from various sources, providing insights for troubleshooting and operational intelligence. Features include real-time data ingestion, powerful search, custom alerts, and visualization tools for better decision-making. \n \n \n \n Splunk on Ubuntu 20.04: ATH Infosystems offers Splunk, a robust platform for searching, monitoring, and analyzing machine-generated big data. It lets IT and security teams collect, index, and visualize data from various sources, providing insights for troubleshooting and operational intelligence. Features include real-time data ingestion, powerful search, custom alerts, and visualization tools for better decision-making. \n \n \n \n SSL Managed by 3SR: Store SSL certificates in your Microsoft Azure Key Vault with automatic generation and renewal by 3SR tooling. \n \n \n \n Submission Automation: Birlasoft Submission Automation SaaS streamlines insurance submissions using AI and machine learning for faster underwriting. It automates data intake from ACORD forms and other documents, improving efficiency, reducing costs, and enhancing customer experience. Key features include automated data extraction, validation, and pre-clearance, leading to higher margins and revenue growth. \n \n \n \n SuperAGI AI Agent on Ubuntu 22.04 LTS VM Deployment: This offer from Home \u0026amp; Office Improvements automates complex workflows with AI, streamlining tasks for developers, DevOps teams, and AI enthusiasts. Pre-configured with SuperAGI and Docker, it simplifies infrastructure management and boosts productivity. Ideal for automating deployments, CI/CD pipelines, and business operations, enhancing efficiency and reducing manual effort. \n \n \n \n SymPy on Debian 11: ATH Infosystems offers SymPy, a Python library for symbolic mathematics, aiming to be a comprehensive computer algebra system. It supports algebraic expressions, calculus, linear algebra, and advanced mathematical functions. SymPy integrates easily with other scientific libraries in Python. \n \n \n \n SymPy on Ubuntu 20.04: ATH Infosystems offers SymPy, a Python library for symbolic mathematics, aiming to be a comprehensive computer algebra system. It supports algebraic expressions, calculus, linear algebra, and advanced mathematical functions. SymPy integrates easily with other scientific libraries in Python. \n \n \n \n SymPy on CentOS 8.5: ATH Infosystems offers SymPy, a Python library for symbolic mathematics, aiming to be a comprehensive computer algebra system. It supports algebraic expressions, calculus, linear algebra, and advanced mathematical functions. SymPy integrates easily with other scientific libraries in Python. \n \n \n \n Tanium Cloud: Tanium Cloud offers a fully managed, cloud-based service providing the complete functionality of the Tanium platform without requiring customer infrastructure. It ensures visibility and control across all endpoints in various environments, helping IT operations, security, and risk teams manage and protect networks. Trusted by major organizations, including Fortune 100 companies and U.S. Armed Forces. \n \n \n \n Temenos SaaS (TCCH - Canada): The Temenos Banking Platform offers comprehensive, flexible, and secure banking solutions via Temenos SaaS on Microsoft Azure. It supports over 1,800 prebuilt processes and 60+ banking capabilities, enabling personalized banking experiences. Available in 30+ jurisdictions, it focuses on retail, business, corporate banking, and wealth management. \n \n \n \n Theano on Ubuntu 20.04: ATH Infosystems offers Theano, an open-source Python library for numerical computation, supporting CPU/GPU acceleration, symbolic differentiation, and tensor operations, ideal for deep learning. \n \n \n \n Theano on Debian 11: ATH Infosystems offers Theano, an open-source Python library for numerical computation, supporting CPU/GPU acceleration, symbolic differentiation, and tensor operations, ideal for deep learning. \n \n \n \n Theano on CentOS 8.5: ATH Infosystems offers Theano, an open-source Python library for numerical computation, supporting CPU/GPU acceleration, symbolic differentiation, and tensor operations, ideal for deep learning. \n \n \n \n Tibero 7 Single: Tibero 7 from Tmax is a high-performance, secure, and scalable RDBMS for enterprises, designed to manage and secure large-scale databases. It is highly compatible with Oracle and supports on-premises SDDC investments with a simple licensing model, enabling enterprises to fully leverage their mission-critical data. \n \n \n \n Tibero 7 TAC (Tibero Active Cluster): Tibero TAC (Tibero Active Cluster) from Tmax ensures reliable service during failures with shared disk-based architecture. It automatically fails over to a normal node and supports horizontal scaling. Tibero is a high-performance, secure, and scalable RDBMS for enterprises, enhancing the processing, management, and security of large-scale databases. \n \n \n \n Tide - Orchestrate Your Data into AI Strategies: Tide by Moxoff is an AI and machine learning solution that helps businesses adopt innovative tools by analyzing and preparing data for AI development. It offers data assessment and quality checks, automating processes and ensuring data readiness for strategic decisions. Suitable for businesses of all sizes, Tide optimizes decision-making and future-proofs operations. \n \n \n \n Tomcat on Ubuntu 22.04: Cloud Infrastructure Services offers Apache Tomcat, an open-source application server for Java-based web applications, supporting Java Servlet, JSP, and WebSocket technologies. It offers high performance, scalability, and enhanced security. Ideal for deploying Java web applications, RESTful services, and real-time applications, Tomcat is lightweight, flexible, and backed by a strong community. \n \n \n \n Tomcat on Ubuntu 24.04: Cloud Infrastructure Services offers Apache Tomcat, an open-source application server for Java-based web applications, supporting Java Servlet, JSP, and WebSocket technologies. It offers high performance, scalability, and enhanced security. Ideal for deploying Java web applications, RESTful services, and real-time applications, Tomcat is lightweight, flexible, and backed by a strong community. \n \n \n \n TPP Validation v3: Effortlessly deploy a fully automatic TPP Validation and Confirmation process in any API Gateway environment. Ensure compliance with EU PSD2 regulations by validating eIDAS certificates and performing lookups in National Competent Authority registers. Secure PSD2 sessions with a single API request, supporting QWAC, QSealC, AIS, and PIS roles. \n \n \n \n Ubuntu 20.04 with GUI: Ubuntu 20.04 with GUI offers a modern, intuitive interface, pre-installed applications, and long-term support for five years. This offer from Bansir is suitable for personal and professional use, providing stability, security, and a robust software repository. Its active community support makes it a versatile and reliable choice for desktop computing. \n \n \n \n Ubuntu 20.04.3 LTS: Ubuntu 20.04.3 LTS offers cutting-edge features, focusing on the latest software and technologies for desktop and server users. This offer from Bansir includes the GNOME 42 desktop environment for a polished interface and provides regular updates and a vast software repository, making it ideal for a modern, well-maintained Linux experience. \n \n \n \n Ubuntu 21.10 Desktop: Ubuntu 21.10 Desktop provides a stable, cutting-edge platform with preconfigured productivity, multimedia, and developer tools. This offer from Bansir ensures security and regular updates, offering a reliable, modern, and user-friendly Linux desktop experience. \n \n \n \n Ubuntu 21.10 Minimal: Ubuntu 21.10 Minimal offers stability, reliability, and security for desktop and server use. Featuring the GNOME 42 desktop environment, this offer from Bansir provides a polished, user-friendly interface. Ubuntu 22.04 Minimal continues with long-term support, making it ideal for businesses and individuals seeking a dependable, up-to-date Linux experience. \n \n \n \n Ubuntu 22.04.3: Ubuntu 23.04.3 Minimal offers a stable, secure, and feature-rich environment for desktop and server use. This offer from Bansir includes the GNOME 42 desktop environment for a user-friendly interface and provides long-term support, making it ideal for businesses and individuals seeking a dependable and up-to-date Linux experience. \n \n \n \n Ubuntu 22.10: Ubuntu 22.10 offers cutting-edge features with the GNOME 42 desktop environment, providing a polished and user-friendly interface. This offer from Bansir ensures regular updates and access to a vast software repository, making it an excellent choice for users seeking a modern and well-maintained Linux experience for both desktop and server use. \n \n \n \n Ubuntu 23.04: Ubuntu 23.04 offers cutting-edge features with the GNOME 42 desktop environment, providing a polished and user-friendly interface. This offer from Bansir ensures regular updates and access to a vast software repository, making it an excellent choice for users seeking a modern and well-maintained Linux experience for both desktop and server use. \n \n \n \n Ubuntu 23.04 Minimal: Ubuntu 23.04 Minimal offers a stable, secure, and feature-rich environment for desktop and server use. This offer from Bansir includes the GNOME 42 desktop environment for a user-friendly interface and provides long-term support, making it ideal for businesses and individuals seeking a dependable and up-to-date Linux experience. \n \n \n \n Ubuntu 23.10 Minimal: Ubuntu 23.10 Minimal offers cutting-edge features with the GNOME 42 desktop environment, providing a polished and user-friendly interface. This offer from Bansir ensures regular updates and access to a vast software repository, making it an excellent choice for users seeking a modern and well-maintained Linux experience for both desktop and server use. \n \n \n \n Ubuntu 24.04 LTS DISA STIG Benchmarks: This Azure-based virtual machine features the latest Ubuntu 24.04 LTS image, pre-configured to meet DISA STIG compliance needs. It ensures adherence to stringent security standards, mitigates vulnerabilities, and prevents unauthorized access. Madarson IT certified images are secure, up-to-date, and ready to use. \n \n \n \n Ubuntu Desktop 23.10: Ubuntu Desktop 23.10 is the latest Linux distribution offering a sleek, intuitive desktop environment. It provides a user-friendly platform for everyday computing with access to numerous applications. Regular updates from Bansir and strong community support ensure a reliable and up-to-date experience. \n \n \n \n VMware Tanzu Data Suite: The Tanzu Data Suite offers scalable data management solutions, including Greenplum for data warehousing and AI, Gemfire for in-memory data grids, RabbitMQ for messaging, and enterprise-grade MySQL, Postgres, and Valkey databases. It features centralized management and around-the-clock support. \n \n \n \n Wegrow: Wegrow is an AI-powered SaaS platform that enhances organizational efficiency by enabling best practice sharing across departments. Key features include a searchable repository, recognition system, analytics, and mobile access. Benefits include increased efficiency, time savings, enhanced employee engagement, accelerated innovation, improved execution, CSR goal achievement, and data security. \n \n \n \n Welkin - Fully Managed Kubernetes Platform: Welkin by Elastisys is a fully managed Kubernetes platform for hosting critical software, ideal for organizations under the EU NIS2 directive. It supports multi-cloud and hybrid environments, focusing on security and developer experience. Available on Azure Marketplace, it eliminates the need for in-house Kubernetes expertise, saving time and money. \n \n \n \n Well-Link Cloud Streaming Services Platform: This solution offers real-time cloud rendering, transmitting visuals to clients and syncing inputs back to the cloud. It supports multi-platform SDKs and includes a PaaS platform for scheduling, resource management, and billing. It eliminates terminal computing needs but requires low latency and network optimization. \n \n \n \n WorkForce Manager: This cloud-based solution from Telenavis for fleet and workforce management offers real-time visibility, task allocation, and performance tracking. Key features include optimized routing, mobile access, proof of delivery, real-time tracking, and comprehensive reporting. It enhances productivity, reduces costs, and improves customer satisfaction, ideal for logistics, field services, and delivery industries. \n \n \n \n XGBoost on CentOS 8.5: ATH Infosystems offers XGBoost, a high-performance, scalable machine learning library optimized for efficiency and speed. It supports CPU and GPU acceleration as well as regularization techniques while handling missing data. Suitable for regression, classification, and ranking tasks, it offers parallel computation and tree pruning for large datasets. \n \n \n \n XGBoost on Debian 11: ATH Infosystems offers XGBoost, a high-performance, scalable machine learning library optimized for efficiency and speed. It supports CPU and GPU acceleration as well as regularization techniques while handling missing data. Suitable for regression, classification, and ranking tasks, it offers parallel computation and tree pruning for large datasets. \n \n \n \n XGBoost on Ubuntu 20.04: ATH Infosystems offers XGBoost, a high-performance, scalable machine learning library optimized for efficiency and speed. It supports CPU and GPU acceleration as well as regularization techniques while handling missing data. Suitable for regression, classification, and ranking tasks, it offers parallel computation and tree pruning for large datasets. \n \n \n \n Xillio Link Redirector: Xillio Link Redirector prevents broken links during digital transformations by efficiently redirecting content requests to the correct source. Installed as a 'proxy service' within your network, it catches content requests instantly and uses automated mapping to provide the correct link, reducing user confusion and support queries. \n \n \n \n Zephyr on CentOS 8.5: ATH Infosystems offers Zephyr, a popular open-source framework that simplifies managing terminal configurations with numerous plugins and themes. It enhances productivity with features like auto-completion, syntax highlighting, and custom prompts. \n \n \n \n Zephyr on Ubuntu 20.04: ATH Infosystems offers Zephyr, a popular open-source framework that simplifies managing terminal configurations with numerous plugins and themes. It enhances productivity with features like auto-completion, syntax highlighting, and custom prompts. \n \n \n \n Zephyr on Debian 11: ATH Infosystems offers Zephyr, a popular open-source framework that simplifies managing terminal configurations with numerous plugins and themes. It enhances productivity with features like auto-completion, syntax highlighting, and custom prompts. \n \n \n \n Go further with workshops, proofs of concept, and implementations \n \n \n \n \n AI Consulting Services: 5-Day Engagement: OmniData offers AI consulting services for Microsoft Azure, guiding companies through AI adoption and value creation. Services include AI alignment with business goals, use case identification, readiness assessment, governance, and custom AI model development. Customers can expect enhanced AI capabilities, strategic goal achievement, and innovation using Azure. \n \n \n \n AI Design Workshop: This workshop from Megazone Cloud aims to support the adoption of generative AI services within organizations using Microsoft Azure OpenAI. It focuses on enhancing AI service planning and technical implementation skills. The agenda includes hands-on development of generative AI services using Azure AI Studio. This offer is available in South Korea. \n \n \n \n AI Innovate: 6-Week Implementation: Quisitive's AI Design Lab and Innovation Center offer a consultative framework for AI adoption, including security, education, use case exploration, and prototyping. It provides strategic clarity, deployment guidance, and a customized AI sandbox. Deliverables include an AI roadmap, deployment plan, and a secure testing area, ensuring tailored solutions and informed decision-making for businesses. \n \n \n \n AI Starter Training: Identifying Use Cases: Obungi provides an overview of AI fundamentals, applications in various industries, and Microsoft AI technologies, including Azure AI services. This 4-hour session targets professionals seeking to understand AI's potential for their businesses. \n \n \n \n Azure-Based Disaster Recovery Solution: Nviron's Azure-based DR service offers server replication with failover/failback capabilities, ensuring business-critical services remain protected during outages. It eliminates the need for a costly recovery site, with resources in Azure incurring costs only when used. \n \n \n \n Azure Discovery: Half-Day Workshop: Insight offers comprehensive Azure solutions, including cloud assessment, well-architected reviews, landing zone setups, migration, backup, disaster recovery, and managed support services. Its consultative approach helps businesses modernize IT environments, ensuring flexibility, security, and cost-effectiveness. The workshop guides clients through planning, implementing, and managing Azure environments to support digital transformation. \n \n \n \n Cloud Data Environment Configuration Proof of Concept: Available in South Korea, this program from Mcloud Bridge offers an end-to-end analytics environment using Microsoft Azure Data Hub for business intelligence and predictive analytics. It includes cloud data hub setup, Power BI report development, and training for BI development and Azure operations, ensuring system compatibility and solution validation for future business needs. \n \n \n \n Cloud Enabler for GenAI: Devoteam's Cloud Enabler for GenAI provides a secure, efficient framework for deploying GenAI projects on Microsoft Azure. It streamlines AI infrastructure deployment using Infrastructure-as-Code, embeds security practices, and automates testing. The approach includes evaluating AI architecture, prioritizing use cases, and planning Azure AI integration, accelerating implementation with reproducible, secure processes. \n \n \n \n Cloud Enabler for Migration: Devoteam's Cloud Enabler for Migration accelerates Microsoft Azure adoption by efficiently transitioning infrastructure using the Azure Cloud Adoption Framework. It ensures security, scalability, and minimal disruption through assessment, planning, preparation, and migration phases. Benefits include reduced migration time, embedded security, streamlined operations, and tailored approaches.\u0026nbsp; \n \n \n \n Cloud Enabler for MLOps: Devoteam's Cloud Enabler for MLOps provides an end-to-end framework to automate and optimize Machine Learning Operations on Microsoft Azure. It helps establish an enterprise-grade MLOps platform, streamline ML infrastructure deployment, and automate testing and observability. This accelerates MLOps maturity, saving time and eliminating manual efforts through automation and templates. \n \n \n \n EBLA - AI and Business Solution Implementation: EBLA's AI and Business Solutions provide expert implementation of advanced AI technologies, including Microsoft Azure AI, OpenAI, Microsoft Copilot, chatbots, video indexing, and data mining. They ensure security, compliance, and performance optimization, offering tailored AI model deployments, advanced analytics, and reporting to enhance business efficiency and innovation. \n \n \n \n EBLA - AI and Business Solution Workshop: EBLA's AI and Business Solutions Workshop offers hands-on sessions on Microsoft Copilot integration, Azure AI services, document-based conversations, video indexing, RAG systems, chatbot implementation, data mining, performance monitoring, security, and advanced analytics. Gain practical knowledge to drive innovation and efficiency within your organization. \n \n \n \n EHR Migration Feasibility Workshop: Infinite s EHR migration to Microsoft Azure offers healthcare clients rapid deployment of a scalable, secure EHR environment. Phase 1 includes a workshop for initial assessment, while Phase 2 provides a detailed, customized migration plan. Benefits include reduced risk, lower TCO, and improved flexibility, enhancing overall healthcare service delivery. \n \n \n \n Gener8 - Generative AI Accelerator from Advancing Analytics: Unlock the power of generative AI with this platform on Microsoft Azure. Automate customer interactions, streamline content processing, and extract insights with GPT-powered chatbots, document summarization, and real-time Q\u0026amp;A. Enjoy robust security, scalability, seamless integration, and transparent costs. \n \n \n \n GitHub Enterprise Cloud with EU Data Residency: 4-Day Implementation: Join PRODYNA's 4-day workshop to jumpstart your GitHub enterprise cloud with EU data residency. Covering setup, security, automation, and advanced features like Copilot and advanced security, this workshop ensures your organization maximizes GitHub's capabilities. Ideal for organizational leads, IT administrators, and security officers. \n \n \n \n GitHub Actions Migration: The GitHub Actions Accelerator by InfoMagnus optimizes CI/CD workflows on Microsoft Azure, helping teams integrate GitHub Actions seamlessly. It enhances efficiency, reduces costs, and supports sustainable growth through automation. Services include pipeline setup, migration expertise, and ongoing training, ensuring smooth transitions and future-proof operations. \n \n \n \n GitHub Enterprise Cloud Data Residency: Solidify offers tailored services for adopting GitHub, ensuring data residency compliance, Azure-powered scalability, and enhanced security. It handles instance setup and identity management and provides tiered support and training. Solidify ensures a smooth transition and ongoing success with GitHub, making it a trusted partner for your organization. \n \n \n \n GitHub Enterprise Cloud Data Residency: Large: Solidify offers tailored services for adopting GitHub, ensuring data residency compliance, Azure-powered scalability, and enhanced security. It handles instance setup, identity management, and migration of up to 1000 repositories with minimal disruption. Support and training are provided through a tiered system, ensuring smooth transition and ongoing success with GitHub. \n \n \n \n GitHub Enterprise Cloud Data Residency: Medium: Solidify offers tailored services for adopting GitHub, ensuring data residency compliance, Azure-powered scalability, and enhanced security. It handles instance setup, identity management, and migration of up to 500 repositories with minimal disruption. Additionally, it provides tiered support and customized training for admins and developers, ensuring a smooth transition and ongoing success. \n \n \n \n GitHub Enterprise Cloud Data Residency: Small: Solidify offers tailored services for adopting GitHub, ensuring data residency compliance, Azure-powered scalability, and enhanced security. It handles instance setup, identity management, and migration of up to 250 repositories with minimal disruption. Support and training are provided through a tiered system, ensuring smooth transition and ongoing success with GitHub. \n \n \n \n GitHub Migration Consulting: InfoMagnus offers comprehensive GitHub migration services to Microsoft Azure, managing the entire process from assessment to migration and validation. It ensures a smooth transition, re-establishes integrations, and provides targeted training. The service empowers clients to maximize GitHub's potential on Azure, fostering long-term success and innovation. \n \n \n \n Network Simplification and Recommendations: Harman Connected Services uses Microsoft Azure to simplify network infrastructure. By consolidating resources with Azure Virtual Network, implementing secure connections with Azure ExpressRoute and VPN Gateway, and enhancing security with Azure Firewall and DDoS Protection, it creates an efficient, secure, and streamlined network environment, reducing complexity and reliance on traditional hardware. \n \n \n \n Energy Consumption Prediction with Advanced Models: 54cuatro Mexico optimizes industrial refrigerator energy use, enhancing efficiency and reducing costs. This implementation uses regression models and neural networks for high-precision predictions, aiding in resource planning and decision-making. It integrates Microsoft Azure Machine Learning, Synapse, and Storage for comprehensive data handling. \n \n \n \n Quadra Fabric Analytics: Quadra offers a streamlined solution with Microsoft Fabric for efficient data management, analysis, and visualization. Key benefits include a unified data platform, advanced analytics, scalability, and enhanced security. \n \n \n \n Sapta: Simplify Your Strategy: 60-Day Proof of Concept: Sapta s AI-powered Adaptive Strategy Platform helps CROs, CFOs, and CEOs drive innovation, align capital, and improve decision-making. It offers tools for companywide alignment, feedback gathering, innovation, strategic budgeting, and real-time modeling. Transform your business, optimize capital efficiency, and enhance agility with Sapta. \n \n \n \n Satalyst App Modernisation Accelerator: The Application Modernisation Accelerator helps modernize legacy apps or adopt cloud-native approaches. It involves four phases: assessment and planning, solution design, implementation and integration, and validation and handover. The service includes close collaboration, best practice implementation, and a proven methodology aligned with the Microsoft Cloud Adoption Framework. \n \n \n \n SMART Data: TEKenable's SMART Data methodology aligns data and analytics projects with specific, measurable objectives using Microsoft Fabric. This platform integrates services like Power BI, Azure Synapse Analytics, and Azure Data Factory, simplifying data management. The approach ensures impactful insights and advanced reporting, tailored to evolving business needs. \n \n \n \n SoftwareOne VMware Advisory for Azure: Microsoft Azure VMware Solution (AVS) enables easy migration of VMware workloads to the cloud with familiar tools and processes. AVS offers a fully managed service, allowing scalability and improved disaster recovery. \n \n \n \n Strengthen your Security with AI: Copilot for Security Proof of Concept: This workshop from Patriot Consulting enhances security by assessing and recommending improvements for Microsoft security solutions. It covers identity protection, device management, cloud security, and hands-on deployment of Microsoft Copilot for Security. Participants gain practical insights and tools to optimize security infrastructure and leverage new technologies for ongoing management. \n \n \n \n ThoughtsWin Systems: Advanced Analytics: Unlock the hidden potential of your data with Advanced Analytics from ThoughtsWin Systems. Transform raw information into valuable insights that fuel smart decisions. Dive into the data ocean with Microsoft Azure and emerge with pearls of wisdom. \n \n \n \n VMware to Azure Migration: 4- to 8-Week Accelerated Migration: Noventiq offers an accelerated migration service to transition VMware infrastructure to Microsoft Azure. Benefits include enhanced agility, cost optimization, robust security, and business continuity. The service ensures minimal disruption, risk mitigation, and future-proof solutions with a proven 6-step migration approach. \n \n \n \n Wing Digital Hub: Harman's Wing Digital Hub is a platform for digital transformation using Microsoft Azure. It centralizes digital resources, streamlines workflows, and enhances team collaboration with tools like Microsoft Teams and SharePoint. It offers scalability, flexibility, and robust security to support growth and ensure data protection and compliance. \n \n \n \n Contact our partners \n \n \n \n ADP Decidium to Entra ID \n \n \n ADP Enterprise HR to Entra ID \n \n \n ADP eXpert to Entra ID \n \n \n ADP GlobalView to Entra ID \n \n \n ADP iHCM (France) to Entra ID \n \n \n ADP iHCM (Netherlands) to Entra ID \n \n \n ADP iHCM (UK) to Entra ID \n \n \n ADP Link to Entra ID \n \n \n ADP Lyric HCM (Next Gen HCM) to Entra ID \n \n \n ADP Recruiting Management to Entra ID \n \n \n ADP to Entra ID \n \n \n ADP TotalSource to Entra ID \n \n \n ADP Vantage HCM to Entra ID \n \n \n ADP Workforce Now (Canada) to Entra ID \n \n \n ADP Workforce Now Next Generation to Entra ID \n \n \n AI Adoption Platform Enterprise \n \n \n AI Knowledge Mining \n \n \n AI TalentAssist \n \n \n Amazon Vendor Central to Power BI \n \n \n Analytics API \n \n \n Arc-Enabled SQL Server: 4-Week Assessment and Pilot \n \n \n Ascendion Data Onboard Express \n \n \n Autonomous Discount Management for Azure Compute \n \n \n AVA+ Data Modernization Studio (DMS) SaaS \n \n \n AXIANS Azure Manage and Monitor \n \n \n Axper Cloud Portal v2024 \n \n \n Azure Benchmark \n \n \n Azure Network Architecture Review \n \n \n Bayer Historical Weather Data \n \n \n BCS Business Central and Field Service Connector for Dynamics 365 \n \n \n Belake.ai \n \n \n BeyondID Managed to Epic Workforce SCIM Connector \n \n \n Building and Modernizing AI Apps on Azure \n \n \n Confluence to Power BI \n \n \n Curtain LogTrace \n \n \n Cyver Core - Pentest Management Platform \n \n \n Data Assessment \n \n \n Data Buddy: Data Quality \n \n \n Data Platform Managed Service \n \n \n Data Vault - Murex Archival Solution \n \n \n Decision Pulse by Office Solution \n \n \n Defender Companion \n \n \n DigiGST \n \n \n Digital Product Passport \n \n \n DIGITALL MSSP SOC \n \n \n DiLytics Financial Insight \n \n \n Dremio to Power BI \n \n \n EBLA - AI and Business Solution Assessment \n \n \n Ensono Mainframe Application Latency Risk Assessment \n \n \n Epical Biztalk to Azure Migration \n \n \n Epical Azure Integration \n \n \n FirstMate \n \n \n FloCard for Community \n \n \n FreshDesk to Power BI \n \n \n FreshService to Power BI \n \n \n FX Trade Booking System \n \n \n Green CodeRefiner and Green IT Consulting Services \n \n \n Greenhouse Recruiting to Entra ID \n \n \n HCLTech's Application Assessment Services for Modernization/Migration \n \n \n Healthcare Data Solutions in Microsoft Fabric \n \n \n IA-DS Industrial Dataspace \n \n \n IBM Technology Expert Labs ADVISE Data \u0026amp; AI Cognos Analytics \n \n \n IBM Technology Expert Labs ADVISE Data \u0026amp; AI DB2 \n \n \n IBM Technology Expert Labs ASSESS Cloud Pak for Data (CP4D) \n \n \n IBM Technology Expert Labs PLAN and ASSESS Data \u0026amp; AI DataStage \n \n \n IBM Technology Expert Labs PLAN and ASSESS Data \u0026amp; AI Netezza \n \n \n IBM Technology Expert Labs PLAN and ASSESS DATA \u0026amp; AI Planning Analytics \n \n \n IBM Technology Expert Labs PLAN Data \u0026amp; AI OpenPages \n \n \n IBM Technology Expert Labs PLAN Data \u0026amp; AI Safer Payments \n \n \n IBM Technology Expert Labs PLAN Data \u0026amp; AI Watson Discovery \n \n \n IBM Technology Expert Labs PLAN Data \u0026amp; AI watsonx.data \n \n \n IBM Technology Expert Labs PLAN Data \u0026amp; AI watsonx.governance Offering \n \n \n IMAFS \n \n \n imamura-corp-j-mora \n \n \n Jotform Workflows Online Workflow Builder for OneDrive \n \n \n Jotform Workflows Online Workflow Builder for Teams \n \n \n Madhyom EEMIS \n \n \n Murex Datamart \n \n \n Murex Environment Automation \n \n \n Murex MxML Developer \n \n \n n8n to Power BI \n \n \n Natural Bot \n \n \n Nesh \n \n \n Nucleus BI Office Solution \n \n \n PolyAPI Modern Enterprise Middleware \n \n \n Prisma - Data Analytics in Health (Colombia) \n \n \n PwC DARC Digital (Cloud) Resiliency Service \n \n \n RheinInsights Retrieval Suite \n \n \n Security Review: 1-Month Engagement \n \n \n Sickbay \n \n \n SmartDoc \n \n \n SolumedWeb \n \n \n SPARK Forms Builder \n \n \n SSIS Data Flow Components for BigQuery by Devart \n \n \n SSIS Data Flow Components for EmailOctopus by Devart \n \n \n SSIS Data Flow Components for FreshBooks by Devart \n \n \n SSIS Data Flow Components for Freshdesk by Devart \n \n \n SSIS Data Flow Components for Freshworks CRM by Devart \n \n \n SSIS Data Flow Components for Google Ads by Devart \n \n \n SSIS Data Flow Components for Google Analytics by Devart \n \n \n SSIS Data Flow Components for HubSpot by Devart \n \n \n SSIS Data Flow Components for Insightly CRM by Devart \n \n \n SSIS Data Flow Components for Jira by Devart \n \n \n SSIS Data Flow Components for Marketo by Devart \n \n \n Structured Data Parsing for Bank Statements \n \n \n TCG DocProStar \n \n \n TDC Erhverv CloudKey \n \n \n The All-in-One Language Learning App - German \n \n \n Treasury Trade Surveillance \n \n \n Trustwave Accelerator for Microsoft Copilot for Security \n \n \n Trustwave Accelerator for Microsoft Sentinel \n \n \n Verix \n \n \n Virtual Airport Operations Center \n \n \n Westcon Azure Infrastructure and Database Migration Assessment \n \n \n Well Architected Framework (WAF) Services: 2-Week Assessment \n \n \n Zensar's Gen AI Data Buddy - DataOps \n \n \n Zoho to Power BI \n \n \n \n \n \n \u0026nbsp; \n This content was generated by Microsoft Azure OpenAI and then revised by human editors. ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"89079","kudosSumWeight":5,"repliesCount":0,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:azure","text":"azure","time":"2016-09-06T09:34:09.130-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:new solutions","text":"new solutions","time":"2019-09-12T07:27:42.539-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:partner","text":"partner","time":"2018-09-21T13:30:22.896-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":46,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjU0MTk3LXdwVFBtQg?revision=23\"}"}}],"totalCount":1,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":null,"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"Blog:board:ExcelBlog":{"__typename":"Blog","id":"board:ExcelBlog","displayId":"ExcelBlog","nodeType":"board","conversationStyle":"BLOG","title":"Excel Blog","shortTitle":"Excel Blog","parent":{"__ref":"Category:category:microsoft365"}},"User:user:584627":{"__typename":"User","uid":584627,"login":"Chris_Gross","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/dS01ODQ2MjctYVVHdDI4?image-coordinates=0%2C273%2C3648%2C3921"},"id":"user:584627"},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LTVZc0NGRQ?revision=8\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LTVZc0NGRQ?revision=8","title":"blog_splash.png","associationType":"COVER","width":1998,"height":1124,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LWRpclR5dw?revision=8\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LWRpclR5dw?revision=8","title":"splash.png","associationType":"BODY","width":900,"height":990,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LW5wN2F6Vw?revision=8\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LW5wN2F6Vw?revision=8","title":"Setting.png","associationType":"BODY","width":900,"height":626,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LUtiZGtPYg?revision=8\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LUtiZGtPYg?revision=8","title":"sheetGroups.gif","associationType":"BODY","width":898,"height":765,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LTdmNldKQg?revision=8\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LTdmNldKQg?revision=8","title":"filterOptions.png","associationType":"BODY","width":900,"height":766,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LUo1cERDeQ?revision=8\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LUo1cERDeQ?revision=8","title":"reference.gif","associationType":"BODY","width":900,"height":626,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LU1KcXRqYw?revision=8\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LU1KcXRqYw?revision=8","title":"clipboard_image-1-1731967313595.png","associationType":"BODY","width":314,"height":225,"altText":""},"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LW1uSkxtbg?revision=8\"}":{"__typename":"AssociatedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LW1uSkxtbg?revision=8","title":"clipboard_image-2-1731967313596.png","associationType":"BODY","width":224,"height":217,"altText":""},"BlogTopicMessage:message:4292184":{"__typename":"BlogTopicMessage","subject":"Python Editor - Now Available","conversation":{"__typename":"Conversation","topic":{"__typename":"BlogTopicMessage","uid":4292184},"lastPostingActivityTime":"2024-11-21T14:37:55.987-08:00","solved":false},"id":"message:4292184","revisionNum":8,"uid":4292184,"depth":0,"board":{"__ref":"Blog:board:ExcelBlog"},"author":{"__ref":"User:user:584627"},"teaser@stripHtml({\"removeProcessingText\":true,\"truncateLength\":-1})":" We are excited to announce that the Python Editor is now rolling out to Windows users. ","introduction":"We are excited to announce that the Python Editor is now rolling out to Windows users.","metrics":{"__typename":"MessageMetrics","views":684},"postTime":"2024-11-21T06:00:00.014-08:00","lastPublishTime":"2024-11-21T06:00:00.014-08:00","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})":" A new way to edit your Python formulas \n Today we are excited to announce that the Python Editor is rolling out and will be generally available for Current Channel Windows users starting with 16.0.18129.20116. Last September we introduced the Python Editor as an experiment in Excel Labs. We then announced we were promoting the experiment to Insiders: Beta and now, we are excited to announce that the Python Editor is generally available, filling a gap between the availability of Python in Excel and the task pane editor. \n \n With the Python Editor, users can enhance their Python in Excel experience by utilizing a larger editing space for writing and editing Python formulas. It features productivity tools like Intellisense, syntax highlighting, and function help, like those found in Python notebook environments. The editor allows users to see the flow of code execution with results, edit longer chunks of code, and gain flexibility with coding workflows. The Python Editor is designed to improve usability and control when working with Python in Excel. \n If you’re interested in learning more about the Python Editor in general, be sure to check out our original blog: Graduating the Python Editor \n The rest of this post will cover the improvements we have made during our journey from Beta to Production. \n Editor upgrades \n We have been hard at work making improvements to Python Editor and are happy to announce some new changes we have made to the experience and how it integrates with Python in Excel. \n Replacing the Diagnostics View \n We are now replacing the old diagnostics view with the Editor. We think this gives you all the information needed, in context, to debug your code. This also means that the editor pane will make use of the setting to automatically launch the pane upon an error or print statement. \n To turn off this auto-open you can check out the setting within the editor pane. \n Note: This experience is rolling out in waves and will be available to more users over time. \n \n Workbook Controls \n Prior to the latest update, the Python Editor was limited to editing only the active sheet in the workbook. We wanted to give users a one-stop shop to view all their Python code in the workbook. With this new update, you can do just that. \n Multiple Sheets \n Each sheet now has its own dedicated section with a header in the Python Editor. These can be expanded and collapsed if you aren’t interested in a current set of cells in the moment. \n \n New Filter Controls \n With the addition of potentially many more Python Formulas in the view, we have also added more granular control of what you’re editing. \n \n Support for Excel References \n One of the great things about Python in Excel is how seamlessly you can make use of data contained in the grid. We have added support for creating Excel references within the ‘xl’ function. After typing, “xl(' ')” you can select your data from the grid, just like you would with any other formula. You can also edit your reference if you select within the parameter and make a new selection. \n \n New Entry points \n We believe that the Python Editor should be accessible when you need it. As such, we have added several new entry points to make use of the Editor. \n \n \n \n \n \n Keyboard Shortcut \n \n \n CTRL+ALT+SHIFT+F2 \n \n \n Launch the editor without needing to click the mouse \n \n \n \n \n Error Menu \n \n \n \u0026nbsp; \n \n \u0026nbsp; \n \n \n Quickly edit your code and reference the relevant error \n \n \n \n \n Python Cell Context Menu \n \n \n \u0026nbsp; \n \n \n Quickly launch the editor from any python cell \n \n \n \n \n Bug Fixes \n Finally, we have been fixing many bugs and issues found during rollout. Thank you to everyone who reported bugs and provided feedback along the way! \n \n Thank You for Your Feedback During Preview \n We appreciate everyone who tested the feature, provided early feedback, identified issues, and created content during the initial rollout within the Insiders audience. Your assistance and feedback were crucial in getting us to our current version. \u0026nbsp;We are constantly inspired by what the community has built using Python in Excel already and are excited for an improved experience to be more readily available. \n We Want Your Feedback! \n Excel and Python users can give feedback directly within the application (go to Help \u0026gt; Feedback), suggest improvements on our\u0026nbsp;Feedback portal, or engage with our team on\u0026nbsp;GitHub. \n Availability \n Python Editor: \n The Python Editor is available on Windows Current Channel starting with build\u0026nbsp;16.0.18129.20116. \n Python in Excel: \n Python in Excel is now generally available for Windows users of Microsoft 365 Business and Enterprise. With qualifying Microsoft 365 subscriptions, you can calculate Python formulas with standard compute and automatic recalculation mode. For faster calculations with premium compute and access to manual or partial recalculation modes, you must purchase the Python in Excel add-on license or request the license from your administrator.\u0026nbsp; \n To learn more about specific details on versions and channels, please check out\u0026nbsp;Python in Excel availability. \n Other resources: \n Python Editor Help \n Introduction to Python in Excel \n Getting started with Python in Excel \n Learn more about\u0026nbsp;Anaconda \n Learn Python in Excel with LinkedIn Learning\u0026nbsp; ","body@stripHtml({\"removeProcessingText\":true,\"removeSpoilerMarkup\":true,\"removeTocMarkup\":true,\"truncateLength\":-1})@stringLength":"5351","kudosSumWeight":1,"repliesCount":2,"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDE","node":{"__typename":"Tag","id":"tag:Code","text":"Code","time":"2017-10-12T14:29:26.530-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDI","node":{"__typename":"Tag","id":"tag:excel","text":"excel","time":"2016-06-21T14:08:51.129-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjQuMTB8Mi4xfG98NXxfTlZffDM","node":{"__typename":"Tag","id":"tag:python","text":"python","time":"2018-05-02T23:53:46.520-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":4,"images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wx","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LTVZc0NGRQ?revision=8\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wy","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LWRpclR5dw?revision=8\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3wz","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LW5wN2F6Vw?revision=8\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w0","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LUtiZGtPYg?revision=8\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w1","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LTdmNldKQg?revision=8\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w2","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LUo1cERDeQ?revision=8\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w3","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LU1KcXRqYw?revision=8\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjQuMTB8Mi4xfG98MjV8X05WX3w4","node":{"__ref":"AssociatedImage:{\"url\":\"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LW1uSkxtbg?revision=8\"}"}}],"totalCount":8,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"coverImage":{"__typename":"UploadedImage","url":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/images/bS00MjkyMTg0LTVZc0NGRQ?revision=8"},"coverImageProperties":{"__typename":"CoverImageProperties","style":"STANDARD","titlePosition":"BOTTOM","altText":""}},"CachedAsset:text:en_US-components/community/Navbar-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/community/Navbar-1731977288000","value":{"community":"Community Home","inbox":"Inbox","manageContent":"Manage Content","tos":"Terms of Service","forgotPassword":"Forgot Password","themeEditor":"Theme Editor","edit":"Edit Navigation Bar","skipContent":"Skip to content","gxcuf89792":"Tech Community","external-1":"Events","s-m-b":"Small and Medium Businesses","windows-server":"Windows Server","education-sector":"Education Sector","driving-adoption":"Driving Adoption","microsoft-learn":"Microsoft Learn","s-q-l-server":"SQL Server","partner-community":"Microsoft Partner Community","microsoft365":"Microsoft 365","external-9":".NET","external-8":"Teams","external-7":"Github","products-services":"Products","external-6":"Power Platform","communities-1":"Topics","external-5":"Security, Compliance \u0026 Identity","planner":"Planner","external-4":"Microsoft 365","external-3":"Dynamics 365","azure":"Azure","healthcare-and-life-sciences":"Healthcare and Life Sciences","external-2":"Azure","microsoft-mechanics":"Microsoft Mechanics","microsoft-learn-1":"Community","external-10":"Learning Room Directory","microsoft-learn-blog":"Blog","windows":"Windows","i-t-ops-talk":"ITOps Talk","external-link-1":"View All","microsoft-securityand-compliance":"Security, Compliance, and Identity","public-sector":"Public Sector","community-info-center":"Lounge","external-link-2":"View All","microsoft-teams":"Microsoft Teams","external":"Blogs","microsoft-endpoint-manager":"Microsoft Intune and Configuration Manager","startupsat-microsoft":"Startups at Microsoft","exchange":"Exchange","a-i":"AI and Machine Learning","io-t":"Internet of Things (IoT)","outlook":"Outlook","external-link":"Community Hubs","communities":"Products"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarHamburgerDropdown-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarHamburgerDropdown-1731977288000","value":{"hamburgerLabel":"Side Menu"},"localOverride":false},"CachedAsset:text:en_US-components/community/BrandLogo-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/community/BrandLogo-1731977288000","value":{"logoAlt":"Khoros","themeLogoAlt":"Brand Logo"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarTextLinks-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarTextLinks-1731977288000","value":{"more":"More"},"localOverride":false},"CachedAsset:text:en_US-components/authentication/AuthenticationLink-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/authentication/AuthenticationLink-1731977288000","value":{"title.login":"Sign In","title.registration":"Register","title.forgotPassword":"Forgot Password","title.multiAuthLogin":"Sign In"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/QueryHandler-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/QueryHandler-1731977288000","value":{"title":"Query Handler"},"localOverride":false},"CachedAsset:text:en_US-components/customComponent/CustomComponent-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/customComponent/CustomComponent-1731977288000","value":{"errorMessage":"Error rendering component id: {customComponentId}","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarDropdownToggle-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarDropdownToggle-1731977288000","value":{"ariaLabelClosed":"Press the down arrow to open the menu"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageTimeToRead-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageTimeToRead-1731977288000","value":{"minReadText":"{min} MIN READ"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSubject-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSubject-1731977288000","value":{"noSubject":"(no subject)"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSolvedBadge-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSolvedBadge-1731977288000","value":{"solved":"Solved"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageBody-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageBody-1731977288000","value":{"showMessageBody":"Show More","mentionsErrorTitle":"{mentionsType, select, board {Board} user {User} message {Message} other {}} No Longer Available","mentionsErrorMessage":"The {mentionsType} you are trying to view has been removed from the community.","videoProcessing":"Video is being processed. Please try again in a few minutes.","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"CachedAsset:text:en_US-components/users/UserLink-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/users/UserLink-1731977288000","value":{"authorName":"View Profile: {author}","anonymous":"Anonymous"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageView/MessageViewCard-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageView/MessageViewCard-1731977288000","value":{"gotoParent":"Go to parent {name}"},"localOverride":false},"CachedAsset:text:en_US-components/nodes/NodeLink-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/nodes/NodeLink-1731977288000","value":{"place":"Place {name}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageTime-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageTime-1731977288000","value":{"postTime":"Published: {time}","lastPublishTime":"Last Update: {time}","conversation.lastPostingActivityTime":"Last posting activity time: {time}","conversation.lastPostTime":"Last post time: {time}","moderationData.rejectTime":"Rejected time: {time}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageViewCount-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageViewCount-1731977288000","value":{"textTitle":"{count, plural,one {\u003cspanCount\u003e\u003c/spanCount\u003e\u003cspanText\u003eView\u003c/spanText\u003e} other{\u003cspanCount\u003e\u003c/spanCount\u003e\u003cspanText\u003eViews\u003c/spanText\u003e}}","views":"{count, plural, one{View} other{Views}}"},"localOverride":false},"CachedAsset:text:en_US-components/kudos/KudosCount-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/kudos/KudosCount-1731977288000","value":{"textTitle":"{count, plural,one {\u003cspanKudos\u003e\u003c/spanKudos\u003e\u003cspanText\u003e{messageType, select, IDEA{Vote} other{Like}}\u003c/spanText\u003e} other{\u003cspanKudos\u003e\u003c/spanKudos\u003e\u003cspanText\u003e{messageType, select, IDEA{Votes} other{Likes}}\u003c/spanText\u003e}}","likes":"{count, plural, one{like} other{likes}}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageRepliesCount-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageRepliesCount-1731977288000","value":{"textTitle":"{count, plural,one {\u003cspanCount\u003e\u003c/spanCount\u003e\u003cspanText\u003e{conversationStyle, select, IDEA{Comment} OCCASION{Comment} other{Reply}}\u003c/spanText\u003e} other{\u003cspanCount\u003e\u003c/spanCount\u003e\u003cspanText\u003e{conversationStyle, select, IDEA{Comments} OCCASION{Comments} other{Replies}}\u003c/spanText\u003e}}","comments":"{count, plural, one{Comment} other{Comments}}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/nodes/NodeIcon-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/nodes/NodeIcon-1731977288000","value":{"contentType":"Content Type {style, select, FORUM {Forum} BLOG {Blog} TKB {Knowledge Base} IDEA {Ideas} OCCASION {Events} other {}} icon"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Pager/PagerLoadMore-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Pager/PagerLoadMore-1731977288000","value":{"loadMore":"Show More"},"localOverride":false},"CachedAsset:text:en_US-components/tags/TagView/TagViewChip-1731977288000":{"__typename":"CachedAsset","id":"text:en_US-components/tags/TagView/TagViewChip-1731977288000","value":{"tagLabelName":"Tag name {tagName}"},"localOverride":false}}}},"page":"/custom/CustomPage/CustomPage","query":{},"buildId":"PueESxikv_D6pRYmXbJsM","runtimeConfig":{"buildInformationVisible":false,"logLevelApp":"info","logLevelMetrics":"info","openTelemetryClientEnabled":false,"openTelemetryConfigName":"o365","openTelemetryServiceVersion":"24.10.0","openTelemetryUniverse":"prod","openTelemetryCollector":"http://localhost:4318","openTelemetryRouteChangeAllowedTime":"5000","khorosSignInIdpId":"kh-auth-idp","apolloDevToolsEnabled":false},"isFallback":false,"isExperimentalCompile":false,"dynamicIds":["LiUyRmNvbXBvbmVudHMlMkZjb21tdW5pdHklMkZOYXZiYXIlMkZOYXZiYXJXaWRnZXQudHN4","LiUyRmNvbXBvbmVudHMlMkZjb21tdW5pdHklMkZCYW5uZXJXaWRnZXQlMkZCYW5uZXJXaWRnZXQudHN4","LiUyRmNvbXBvbmVudHMlMkZjdXN0b21Db21wb25lbnQlMkZDdXN0b21Db21wb25lbnQlMkZDdXN0b21Db21wb25lbnQudHN4","LiUyRmNvbXBvbmVudHMlMkZmZWF0dXJlZCUyRmNvbnRlbnQlMkZGZWF0dXJlZENvbnRlbnRXaWRnZXQlMkZGZWF0dXJlZENvbnRlbnRXaWRnZXQudHN4","LiUyRmNvbXBvbmVudHMlMkZtZXNzYWdlcyUyRk1lc3NhZ2VMaXN0Rm9yTm9kZUJ5UmVjZW50QWN0aXZpdHlXaWRnZXQlMkZNZXNzYWdlTGlzdEZvck5vZGVCeVJlY2VudEFjdGl2aXR5V2lkZ2V0LnRzeA==","LiUyRmNvbXBvbmVudHMlMkZleHRlcm5hbCUyRmNvbXBvbmVudHMlMkZFeHRlcm5hbENvbXBvbmVudC50c3g=","Li4lMkZzaGFyZWQlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY29tbW9uJTJGTGlzdCUyRlVuc3R5bGVkTGlzdCUyRlVuc3R5bGVkTGlzdC50c3g=","LiUyRmNvbXBvbmVudHMlMkZtZXNzYWdlcyUyRk1lc3NhZ2VWaWV3JTJGTWVzc2FnZVZpZXcudHN4","LiUyRmNvbXBvbmVudHMlMkZtZXNzYWdlcyUyRk1lc3NhZ2VWaWV3JTJGTWVzc2FnZVZpZXdDYXJkJTJGTWVzc2FnZVZpZXdDYXJkLnRzeA==","Li4lMkZzaGFyZWQlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY29tbW9uJTJGUGFnZXIlMkZQYWdlckxvYWRNb3JlJTJGUGFnZXJMb2FkTW9yZS50c3g=","Li4lMkZzaGFyZWQlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY29tbW9uJTJGTGlzdCUyRlVud3JhcHBlZExpc3QlMkZVbndyYXBwZWRMaXN0LnRzeA==","LiUyRmNvbXBvbmVudHMlMkZ0YWdzJTJGVGFnVmlldyUyRlRhZ1ZpZXcudHN4","LiUyRmNvbXBvbmVudHMlMkZ0YWdzJTJGVGFnVmlldyUyRlRhZ1ZpZXdDaGlwJTJGVGFnVmlld0NoaXAudHN4"],"appGip":true,"scriptLoader":[{"id":"analytics","src":"https://techcommunity.microsoft.com/t5/s/gxcuf89792/pagescripts/1729284608000/analytics.js?page.id=AllBlogs.Page","strategy":"afterInteractive"}]}</script> <script lang="javascript" type="text/javascript"> const nextDataScript = document.getElementById("__NEXT_DATA__"); if (nextDataScript) { const nextData = JSON.parse(nextDataScript.textContent || '{}'); if (nextData.dynamicIds) { nextData.dynamicIds = nextData.dynamicIds.map(id => { const encodedString = atob(id); return decodeURIComponent(encodedString); }); nextDataScript.textContent = JSON.stringify(nextData); } } </script> <script>function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('pl', 'cs', function () {});}</script> <script src="https://translate.google.com/translate_a/element.js?cb=gtElInit&hl=en-GB&client=wt" type="text/javascript"></script> </body> </html>