Category: Microsoft
Category Archives: Microsoft
How Can I Resolve Q.B Error 15106 When Trying to Update Pay-roll?
Has anyone dealt with Q.B Pay-roll Error 15106? I’m encountering this error whenever I try to update my pay-roll. The error message suggests that the update program is damaged or not accessible. I’ve tried restarting my computer and running Q.B as an administrator, but nothing seems to work. Does anyone have a solution for fixing Error 15106? Any advice would be greatly appreciated!
Has anyone dealt with Q.B Pay-roll Error 15106? I’m encountering this error whenever I try to update my pay-roll. The error message suggests that the update program is damaged or not accessible. I’ve tried restarting my computer and running Q.B as an administrator, but nothing seems to work. Does anyone have a solution for fixing Error 15106? Any advice would be greatly appreciated! Read More
Sage 50 connection manager download, install and update on server
One common problem users face is difficulty establishing a stable connection between Sage 50 and their company files. This could be due to network issues, firewall settings, or software conflicts. Troubleshooting these factors can help resolve connectivity issues and get you back on track.
One common problem users face is difficulty establishing a stable connection between Sage 50 and their company files. This could be due to network issues, firewall settings, or software conflicts. Troubleshooting these factors can help resolve connectivity issues and get you back on track. Read More
How to set up and use QuickBook𝓼 Workforce to see pay stubs
After accepting the invitation, employees can sign in to QuickBook𝔰 Workforce by navigating to the website at workforce.intuit.com. They will need to enter the email address and password associated with their Intuit account. If an employee is having trouble signing in, there are a few troubleshooting steps they can take.
After accepting the invitation, employees can sign in to QuickBook𝔰 Workforce by navigating to the website at workforce.intuit.com. They will need to enter the email address and password associated with their Intuit account. If an employee is having trouble signing in, there are a few troubleshooting steps they can take. Read More
Missing stock ABDL in excel stock database
Unable to find Allied Blenders And Distillers Ltd. in NSE, India, and BSE, India.
COMPANY NAME
Allied Blenders And Distillers Ltd.
EXCHANGE
NSE: ABDL BSE: 544203
Unable to find Allied Blenders And Distillers Ltd. in NSE, India, and BSE, India.COMPANY NAMEAllied Blenders And Distillers Ltd. EXCHANGENSE: ABDL BSE: 544203 Read More
Cannot accept partner agreement
Hi there, I cannot accept the support agreement.
I am trying to accept the Microsoft AI Cloud Partner Agreement. My company is found using the auto lookup and when I get to press the “Accept and Continue” below the legal contact info it loads for half a second and stops.
I have tried different computers and browsers. I have tried using the self help but without this step being completed I can’t get further help using the automated support
Any assistance would be much appreciated!
Hi there, I cannot accept the support agreement. I am trying to accept the Microsoft AI Cloud Partner Agreement. My company is found using the auto lookup and when I get to press the “Accept and Continue” below the legal contact info it loads for half a second and stops.I have tried different computers and browsers. I have tried using the self help but without this step being completed I can’t get further help using the automated support Any assistance would be much appreciated! Read More
Export History List Item Sharepoint
Hi Everyone,
please inform, how to export excel version history list item in sharepoint online 365?
thank you.
Hi Everyone, please inform, how to export excel version history list item in sharepoint online 365? thank you. Read More
Help creating Microsoft 365 Groups via Graph
Can anyone tell me what I’m doing wrong in regards to the dynamic group filter?
Here is my script followed by the error message. When I have the WhatIf statement in, the csv files are populated correctly and there is no error. When I remove the whatif and the group creation is attempted I get the error.
# Import necessary modules
Import-Module ActiveDirectory
Import-Module Microsoft.Graph.Groups
# Connect to Microsoft Graph
Connect-MgGraph -Scopes “Group.ReadWrite.All”
# Fetch managers
$managers = Get-ADUser -Filter “Title -eq ‘Sales Manager'” -SearchBase “OU=Sales Managers,OU=User Accounts – Head Office,DC=contoso,DC=com”” -Properties extensionAttribute5
# Loop through each manager
foreach ($manager in $managers) {
if ([string]::IsNullOrEmpty($manager.extensionAttribute5)) {
continue
}
$firstName = $manager.Name.Split(‘ ‘)[0]
# Define group details and OUs for potential members
$groupDetails = @{
“Staff” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = $null; Title = $null }
“Program” = @{ OU = “OU=User Accounts – Program Locations,DC=contoso,DC=com”; Department = $null; Title = $null }
“Sales Program” = @{ OU = “OU=User Accounts – Program Locations,DC=contoso,DC=com”; Department = “Sales Program”; Title = $null }
“Marketing Program” = @{ OU = “OU=User Accounts – Program Locations,DC=contoso,DC=com”; Department = “Marketing Program”; Title = $null }
“Sales Staff” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = “Sales”; Title = $null }
“Marketing Staff” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = “Marketing”; Title = $null }
“Temp Staff” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = “Temp”; Title = $null }
“Directors” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = $null; Title = “Director” }
}
foreach ($groupKey in $groupDetails.Keys) {
$groupInfo = $groupDetails[$groupKey]
$groupName = “District $($manager.extensionAttribute5) $groupKey Group ($firstName)”
$emailAlias = “District-$($manager.extensionAttribute5)-$groupKey-Group”.Replace(” “, “-“).Replace(“,”, “”).Replace(“(“, “”).Replace(“)”, “”)
# Determine the filter based on group requirements
$filter = “extensionAttribute5 -eq ‘$($manager.extensionAttribute5)'”
if ($groupInfo.Department) {
$filter += ” -and Department -eq ‘$($groupInfo.Department)'”
}
if ($groupInfo.Title) {
$filter += ” -and Title -like ‘*$($groupInfo.Title)*'”
}
# Fetch potential group members
$members = Get-ADUser -Filter $filter -SearchBase $groupInfo.OU -Properties Title, Department, extensionAttribute5, physicalDeliveryOfficeName
# Export members to CSV
$csvPath = “C:temp$groupName.csv”
$members | Select-Object Name, extensionAttribute5, Department, physicalDeliveryOfficeName, Title | Export-Csv -Path $csvPath -NoTypeInformation
# Debug output to check parameter values
Write-Host “Group Name: $groupName”
Write-Host “Email Alias: $emailAlias”
Write-Host “Membership Rule: $MembershipRule”
# Simulate group creation
New-MgGroup -DisplayName $groupName -Description “Dynamic Microsoft 365 group created by Contoso PS Script” `
-MailEnabled:$True -SecurityEnabled:$False `
-MailNickname $emailAlias -GroupTypes “DynamicMembership”, “Unified” `
-MembershipRule “user.extensionAttribute5 -eq ‘$($manager.extensionAttribute5)'” -MembershipRuleProcessingState “On”
}
}
Error is:
Group Name: District 1 Program Group (Cheeto)
Email Alias: District-1-Program-Group
Membership Rule:
New-MgGroup : Invalid characters found in the rule: ‘ ‘
Status: 400 (BadRequest)
ErrorCode: InvalidCharactersException
Date: 2024-07-19T04:39:59
Headers:
Transfer-Encoding : chunked
Vary : Accept-Encoding
Strict-Transport-Security : max-age=31536000
request-id : 80ccb81b-1052-4915-a03b-e35604ec15a2
client-request-id : d31d414b-5abc-4946-a800-a2be43a86fca
x-ms-ags-diagnostic : {“ServerInfo”:{“DataCenter”:”US
Central”,”Slice”:”E”,”Ring”:”3″,”ScaleUnit”:”000″,”RoleInstance”:”TO1PEPF0000542E”}}
Date : Fri, 19 Jul 2024 04:39:58 GMT
At C:UserscontosoadminDocumentsM365-bulk-group-creation.ps1:60 char:58
+ … “user.extensionAttribute5 -eq ‘$($manager.extensionAttribute5)'” -Mem …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: ({ Headers = , b…oftGraphGroup }:<>f__AnonymousType2`2) [New-MgGroup_Crea
teExpanded], Exception
+ FullyQualifiedErrorId : InvalidCharactersException,Microsoft.Graph.PowerShell.Cmdlets.NewMgGroup_CreateExpanded
Thank you,
B
Can anyone tell me what I’m doing wrong in regards to the dynamic group filter?Here is my script followed by the error message. When I have the WhatIf statement in, the csv files are populated correctly and there is no error. When I remove the whatif and the group creation is attempted I get the error. # Import necessary modules
Import-Module ActiveDirectory
Import-Module Microsoft.Graph.Groups
# Connect to Microsoft Graph
Connect-MgGraph -Scopes “Group.ReadWrite.All”
# Fetch managers
$managers = Get-ADUser -Filter “Title -eq ‘Sales Manager'” -SearchBase “OU=Sales Managers,OU=User Accounts – Head Office,DC=contoso,DC=com”” -Properties extensionAttribute5
# Loop through each manager
foreach ($manager in $managers) {
if ([string]::IsNullOrEmpty($manager.extensionAttribute5)) {
continue
}
$firstName = $manager.Name.Split(‘ ‘)[0]
# Define group details and OUs for potential members
$groupDetails = @{
“Staff” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = $null; Title = $null }
“Program” = @{ OU = “OU=User Accounts – Program Locations,DC=contoso,DC=com”; Department = $null; Title = $null }
“Sales Program” = @{ OU = “OU=User Accounts – Program Locations,DC=contoso,DC=com”; Department = “Sales Program”; Title = $null }
“Marketing Program” = @{ OU = “OU=User Accounts – Program Locations,DC=contoso,DC=com”; Department = “Marketing Program”; Title = $null }
“Sales Staff” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = “Sales”; Title = $null }
“Marketing Staff” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = “Marketing”; Title = $null }
“Temp Staff” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = “Temp”; Title = $null }
“Directors” = @{ OU = “OU=User Accounts – Field Staff,DC=contoso,DC=com”; Department = $null; Title = “Director” }
}
foreach ($groupKey in $groupDetails.Keys) {
$groupInfo = $groupDetails[$groupKey]
$groupName = “District $($manager.extensionAttribute5) $groupKey Group ($firstName)”
$emailAlias = “District-$($manager.extensionAttribute5)-$groupKey-Group”.Replace(” “, “-“).Replace(“,”, “”).Replace(“(“, “”).Replace(“)”, “”)
# Determine the filter based on group requirements
$filter = “extensionAttribute5 -eq ‘$($manager.extensionAttribute5)'”
if ($groupInfo.Department) {
$filter += ” -and Department -eq ‘$($groupInfo.Department)'”
}
if ($groupInfo.Title) {
$filter += ” -and Title -like ‘*$($groupInfo.Title)*'”
}
# Fetch potential group members
$members = Get-ADUser -Filter $filter -SearchBase $groupInfo.OU -Properties Title, Department, extensionAttribute5, physicalDeliveryOfficeName
# Export members to CSV
$csvPath = “C:temp$groupName.csv”
$members | Select-Object Name, extensionAttribute5, Department, physicalDeliveryOfficeName, Title | Export-Csv -Path $csvPath -NoTypeInformation
# Debug output to check parameter values
Write-Host “Group Name: $groupName”
Write-Host “Email Alias: $emailAlias”
Write-Host “Membership Rule: $MembershipRule”
# Simulate group creation
New-MgGroup -DisplayName $groupName -Description “Dynamic Microsoft 365 group created by Contoso PS Script” `
-MailEnabled:$True -SecurityEnabled:$False `
-MailNickname $emailAlias -GroupTypes “DynamicMembership”, “Unified” `
-MembershipRule “user.extensionAttribute5 -eq ‘$($manager.extensionAttribute5)'” -MembershipRuleProcessingState “On”
}
} Error is:Group Name: District 1 Program Group (Cheeto)Email Alias: District-1-Program-GroupMembership Rule:New-MgGroup : Invalid characters found in the rule: ‘ ‘Status: 400 (BadRequest)ErrorCode: InvalidCharactersExceptionDate: 2024-07-19T04:39:59Headers:Transfer-Encoding : chunkedVary : Accept-EncodingStrict-Transport-Security : max-age=31536000request-id : 80ccb81b-1052-4915-a03b-e35604ec15a2client-request-id : d31d414b-5abc-4946-a800-a2be43a86fcax-ms-ags-diagnostic : {“ServerInfo”:{“DataCenter”:”USCentral”,”Slice”:”E”,”Ring”:”3″,”ScaleUnit”:”000″,”RoleInstance”:”TO1PEPF0000542E”}}Date : Fri, 19 Jul 2024 04:39:58 GMTAt C:UserscontosoadminDocumentsM365-bulk-group-creation.ps1:60 char:58+ … “user.extensionAttribute5 -eq ‘$($manager.extensionAttribute5)'” -Mem …+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo : InvalidOperation: ({ Headers = , b…oftGraphGroup }:<>f__AnonymousType2`2) [New-MgGroup_CreateExpanded], Exception+ FullyQualifiedErrorId : InvalidCharactersException,Microsoft.Graph.PowerShell.Cmdlets.NewMgGroup_CreateExpanded Thank you, B Read More
Fluent UI Textarea with Multiple Placeholders in SPFx
Microsoft Designer has a textarea for capturing prompt. It has a really nice interface for placeholders, where instead of a single placeholder text throughout, its a combination of static text and multiple placeholder text. I was not able to find a relevant control in Fluent UI library (assuming Microsoft Designer is based on Fluent UI and also the classes seems to be fluent UI classes)
How can above textarea be generated where its a combination of static text with multiple placeholder texts?
Microsoft Designer has a textarea for capturing prompt. It has a really nice interface for placeholders, where instead of a single placeholder text throughout, its a combination of static text and multiple placeholder text. I was not able to find a relevant control in Fluent UI library (assuming Microsoft Designer is based on Fluent UI and also the classes seems to be fluent UI classes)How can above textarea be generated where its a combination of static text with multiple placeholder texts? Read More
Send a message to a user with tab app url
I built a tab app in teams, which include approval workflow feature. Then i need to send notification message to some users, for example approval notification, which include approval url that can navigate to the certain page with some parameters.
How could i do this in teams?
I built a tab app in teams, which include approval workflow feature. Then i need to send notification message to some users, for example approval notification, which include approval url that can navigate to the certain page with some parameters. How could i do this in teams? Read More
Issue with search mailbox audit log on Exchange Online
Hi Exchange experts
I have an issue with searching the audit logs with the mailboxes on Exchange Online.
I have a mailbox on Exchange Online. The properties of that mailbox are as follows
AuditEnabled: TrueAuditLogAgeLimit : 90.00:00:00AuditAdmin : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}AuditDelegate : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}AuditOwner : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}DefaultAuditSet : {Admin, Delegate, Owner}
I have conduted the changes on this maibox such as: changed the Send as permission, changed the Send on behafl, delegated another user on this mailbox.
A few days later I used the Audit feature from security.microsoft.com portal to search the log for above activities with this maibox but I could not find any entries log that I did a few days ago.
The options that I made when searching for mailbox logs
Date time range: selected the time period in which I made the changeActivities – friendly names: selected all activities on Exchange maibox activities Activities – operation name: blankRecord types: blankSearch name: blankUser: Selected user that has a mailbox I have changed.
Also, when I executed the syntax with Exchange PowerShell it doesn’t show the change history that I want to see.
Search-MailboxAuditLog -Identity po.panda@mydomain -LogonTypes Admin, Delegate -StartDate 7/15/24 -EndDate 7/19/24 -ResultSize 5000
Hi Exchange expertsI have an issue with searching the audit logs with the mailboxes on Exchange Online.I have a mailbox on Exchange Online. The properties of that mailbox are as followsAuditEnabled: TrueAuditLogAgeLimit : 90.00:00:00AuditAdmin : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}AuditDelegate : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}AuditOwner : {Update, MoveToDeletedItems, SoftDelete, HardDelete…}DefaultAuditSet : {Admin, Delegate, Owner}I have conduted the changes on this maibox such as: changed the Send as permission, changed the Send on behafl, delegated another user on this mailbox. A few days later I used the Audit feature from security.microsoft.com portal to search the log for above activities with this maibox but I could not find any entries log that I did a few days ago.The options that I made when searching for mailbox logsDate time range: selected the time period in which I made the changeActivities – friendly names: selected all activities on Exchange maibox activities Activities – operation name: blankRecord types: blankSearch name: blankUser: Selected user that has a mailbox I have changed.Also, when I executed the syntax with Exchange PowerShell it doesn’t show the change history that I want to see.Search-MailboxAuditLog -Identity po.panda@mydomain -LogonTypes Admin, Delegate -StartDate 7/15/24 -EndDate 7/19/24 -ResultSize 5000 Read More
Step by step Guidance on Logic App Standard Load Testing and Optimization
In collaboration with Xuhong Liu, Hila Menashe Hadady, and Wagner Silveira
Overview
Logic App Standard is a cloud-based service that allows you to create and run automated workflows to integrate apps, data, services, and systems. Load testing is the process of putting demand on a system and measuring its response to ensure it can handle high usage and traffic. Performing load tests on your Logic App Standard workflows is essential to identify performance bottlenecks, ensure scalability, and maintain reliable operation under peak loads.
Revisiting Logic App Internals
Let us first revisit how Logic App runtime (running on top of Function runtime) works under the covers to better understand how each component behaves and the strategies to take for performance optimization. Below is a simplified diagram of the Logic App runtime in action (as explained in greater detail in this blog post: Azure Logic Apps Running Anywhere – Runtime Deep Dive (microsoft.com)), moreover, how are these components being monitored using Logic App Standard built-in metrics:
Workflow Job Execution Delay: The amount of time between when a job was scheduled to run and when the job actually ran.
Workflow Job Execution Duration: The amount of time a job took to complete its execution.
Workflow Runs Completed Count: The number of workflow executions completed, regardless of status.
Workflow Runs Dispatched Count: The number of previously queued requests that are now processed.
Workflow Runs Started Count: The number of workflows started, regardless of outcome status.
Workflow Triggers Completed Count: The number of triggers completed, regardless of outcome.
Workflow Action Completed Count: The number of actions completed, regardless of status.
Tools for Testing
The tools you need for load testing depend on the type of trigger your Logic App uses (e.g., HTTP based trigger or event based such as Azure Service Bus based trigger or Azure Event Hub based trigger).
For HTTP-based triggers:
You can write your own JMeter scripts or use Azure Load Testing service. For example, you can create URL-based tests in Azure Load Testing service.
Add POST HTTP request to the test plan by getting the HTTP trigger invocation URL of the workflow.
Configure the load configuration such as number of test engines, load pattern, ramp-up time, etc. Do note the number of virtual user minutes you would incur based on these settings.
Add the application components you would like to monitor during the load test run:
Run the load test. Assuming there are no failures during the run, once the test completes, you can view the client-side and server-side metrics over the duration of the test:
Under server-side metrics, you can filter the services you want to observe, in this example I am filtering by Logic App, the compute where its hosted, as well as the storage account it uses.
This view reveals that there are spikes in compute CPU and memory percentage during the load test run, which you can investigate further in the next section. If this is your first run, you can use this as baseline values and compare this to the results from succeeding load tests to ascertain improvements to the optimization applied to the app or compute.
Tips for using Azure Load Test in this scenario:
Ensure that your JMeter scripts simulate realistic user behavior and cover all critical workflows.
Use Azure Load Test to manage, execute, and analyze your load tests efficiently. It can integrate with your existing CI/CD pipeline to automate load testing.
For Event-based triggers
You can either use Azure Load Testing custom plugins to simulate sending events to downstream services like Event Hub or Azure Service Bus (https://learn.microsoft.com/en-us/azure/architecture/guide/testing/load-testing/load-testing-with-custom-plugins ) or write your own custom application to fire off the events.
Always define your performance targets/load profile. Are you measuring throughput (X workflows completed per minute), latency (Y ms workflow run completed), response time, CPU usage? If this is the first time running performance test, capture baseline performance targets observed, iteratively run test whenever there are optimizations done in code or compute configuration, and then compare values to check if there have been any improvements.
In the rest of this blog, we will use throughput as a metric (X workflows completed per minute) to determine and evaluate the outcome of load tests. We will demonstrate how to monitor the load test, analyze potential issues if the outcome does not meet our goals, and how to improve the results based on the collected metrics.
How to Monitor and Analyze the Test Results
Check the built-in metrics of the upstream event producer
For instance, if you use both Event Hub and a Logic App Standard with event hub trigger, you can check the built-in metrics such us “incoming messages” and “outgoing messages” for Event hub throughput. To evaluate the throughput of the upstream service, monitor metrics to get the number of messages going out of Event Hub every minute.
Event Hub metrics reference: Event Hub Message Metrics (https://learn.microsoft.com/en-us/azure/event-hubs/monitor-event-hubs-reference#message-metrics)
When the “outgoing messages” numbers/min meet your required throughput, the next step is to check the Logic App performance, see if it can pick up and consume that volume of messages.
If you see incoming messages rate significantly higher than outgoing messages, and the outgoing messages is rate not meeting the throughput you want, check and the performance of your Logic App to further analyze the reasons leading to the results that messages cannot be processed immediately.
Check Logic App Standard built-in workflow metrics and compute (App Service Plan) metrics
You can analyze trends of Logic App Standard built-in workflow metrics captured during and after your load test. Among them, “Workflow Runs Completed Count” or “Workflow Runs Started Count” can be used to get information around the number of concurrent runs your logic apps.
For example, if the target of our load test is the throughput, you can use “Workflow Runs Completed Count” per minute as the metric to evaluate the test results.
Note: Remember to adjust the “Time Granularity” setting from its default of 5 minutes to 1 minute at the top right when you are looking to gauge the number of concurrent runs each minute using these metrics.
Workflow Job Execution Delay start to trend upwards or stay high for some time…
This could be an indication of resource contention at the compute level. Check the CPU and memory usage if trending upwards.
Note: You can also use App Service Diagnostics tool to cross validate that CPU usage is being a blocker
If we see CPU or Memory being a blocker (e.g., above 80%), then the next step is to check the autoscaling setup (e.g., target-based scaling or runtime autoscaling, max burst instance, prewarmed instances) and further configure them to accommodate the traffic. In addition, we can also consider increasing the number of workflows in the sample Logic App (https://techcommunity.microsoft.com/t5/azure-integration-services-blog/packing-more-workflows-into-logic-app-standard/ba-p/4127827 ).
You can also check the scaling behavior via Application Insights (attached to this Logic App), using the query below. The sample diagram indicates that the scaling did not happen and go beyond the “Always Ready Instance”, hence there are some issues with the Logic App scaling.
When you see scaling not happen, ensure the default “runtime scaling” is not disabled. You can consider remove target-based scaling (if you enabled in the past).
Check App Service Diagnostics
Logic Apps Standard has access to the App Service Diagnostics Tools, which gives you access to tools that helps identify availability and performance issues such as running High CPU analysis, memory analysis, HTTP 4xx Errors, Logic App Down or Reporting Errors.
Go to Availability and Performance -> High CPU analysis blade to get more information on what is causing the CPU to shoot up. In this example, it is observed to occur across all worker instances despite having scaled out.
You can also analyze the CPU Drill Down report to see Top 3 Instances CPU Usage and the app or process level CPU for each instance.
Additional recommendations to monitor and improve Logic App Performance based on Load Test Results
Refactor code for performance and scalability
It is highly recommended optimize your Logic App code by implementing patterns and practices for performance and scalability, some of these include:
Breaking a single workflow into two or more workflows
For Stateful workflows – consider debatching workflows by using the SplitOn technique instead of looping thru the items using For-each
For Stateless workflows – you can use For-each for stateless workflows only due to performance improvements
See reference blogs for additional strategies and best practices for optimizing Logic Apps workflows and design:
Using Inline Code instead of a Foreach Loop for better performance in Logic Apps (microsoft.com)
Improved For-each loop performance in Stateless Workflows – Microsoft Community Hub
Scaling Logic App Standard – High Throughput Batched Invoice Processing System (microsoft.com)
Scaling Logic Apps Standard – Sustained Event Processing System – Microsoft Community Hub
Logic Apps Standard Performance Benchmark – Burst workloads – Microsoft Community Hub
Logic Apps Standard Hosting & Performance Tips – Microsoft Community Hub
Scale storage account
If Storage Account (SA) is the bottleneck – You can configure to shard across multiple storage accounts to distribute the load.
Tip: if you want to run your load test at a clean state (no old backlog of runs), create new storage accounts and update the app settings appropriately, before each round of load test.
Throughput – Enable concurrency to process multiple tasks simultaneously.
Delete hanging instances before starting new round of Logic App Load test:
Ensure there are no workflow instances that are stuck and not completing. This can be done by editing host.json with parameters such as Jobs.CleanupJobPartitionPrefixes or Jobs.SuspendedJobPartitionPartitionPrefixes.
For more details, see the official documentation: Edit runtime and environment settings for Standard logic apps – Azure Logic Apps | Microsoft Learn)
Reference document: Premium Plan Settings (https://learn.microsoft.com/en-ca/azure/azure-functions/functions-premium-plan?tabs=portal#plan-and-sku-settings%3E)
Check Application Insights attached to the Logic App
During your load test, monitor the “online servers” metric to evaluate the scalability of your Logic App.
You can drill down into “failures” to see detailed error messages if you encounter unexpected failures during your tests.
Observe using Logic App Insights (Public Preview)
An alternative way of observing Logic App performance is by looking at the Insights blade (currently in Public Preview), which is a built-in dashboard containing some high-level insights from these metrics.
Go to Monitoring -> Insights blade which opens the Overview tab. This view will give you a breakdown of all the workflow run, job and trigger count by completion status (Succeeded, Failed or Skipped):
The Workflows tab presents sum of succeeded runs, jobs and triggers broken down by workflows, and another one for failed runs, jobs, and triggers.
Compute tab displays compute-related metrics like instance count, average memory working set, CPU, and memory percentage…
… as well as Workflow Job Count and Workflow Job Execution delay:
Microsoft Tech Community – Latest Blogs –Read More
Ability to tag people within planner
I’ve noticed discussions asking for this feature dating back years, but I haven’t seen any responses from Microsoft. It seems a basic feature for any project management tool. Tagging and/or assigning checklist items (or having subtasks), and the ability to tag in the comments, are such basic features of any PM tool. Planner is an interactive to-do list, it’s not useful for PM. @microsoft
I’ve noticed discussions asking for this feature dating back years, but I haven’t seen any responses from Microsoft. It seems a basic feature for any project management tool. Tagging and/or assigning checklist items (or having subtasks), and the ability to tag in the comments, are such basic features of any PM tool. Planner is an interactive to-do list, it’s not useful for PM. @microsoft Read More
ONEDRIVE NOT WORKING
Is onedrive down right now? im from the Philippines
Is onedrive down right now? im from the Philippines Read More
Support – Forms, Excel & Power Automate
Hi, I’d love your help!!
I have created a uniform request form in 365 Forms. I would like to also create an inventory spreadsheet for our uniforms and have this connect with the uniform request form and an approval system.
The ideal outcome is:
> The uniform request form will start an approval process – notifying admin
> The inventory spreadsheet will need to be reviewed to check for quantities of the requested item in the size requested (multiple items may be requested by the employee at a time).
> Then an approval or declined notification will need to be sent to the employee and to admin
> The approved items will need to be stored in a spreadsheet keeping track of which employee has ordered what items and sizes.
> There will need to be then another flow where admin finalises the approval and notifies the direct manager and employee that the uniforms are ready to be collected. The employee will need to submit a notification that the items have been received which will be stored in the spreadsheet tracker by date.
>with the inventory spreadsheet, I would like admin to get notification when quantities hit a specific number and are needing to be re-stocked. Eventually, automating the ordering process direct to the manufacturer.
Hi, I’d love your help!! I have created a uniform request form in 365 Forms. I would like to also create an inventory spreadsheet for our uniforms and have this connect with the uniform request form and an approval system. The ideal outcome is:> The uniform request form will start an approval process – notifying admin > The inventory spreadsheet will need to be reviewed to check for quantities of the requested item in the size requested (multiple items may be requested by the employee at a time). > Then an approval or declined notification will need to be sent to the employee and to admin> The approved items will need to be stored in a spreadsheet keeping track of which employee has ordered what items and sizes. > There will need to be then another flow where admin finalises the approval and notifies the direct manager and employee that the uniforms are ready to be collected. The employee will need to submit a notification that the items have been received which will be stored in the spreadsheet tracker by date. >with the inventory spreadsheet, I would like admin to get notification when quantities hit a specific number and are needing to be re-stocked. Eventually, automating the ordering process direct to the manufacturer. Read More
Learn Live Series – Crie uma LOB com OpenAI, Azure Communication Services e MS Graph (Parte II)
No último dia 29 de maio de 2024, dei continuidade ao workshop sobre a criação de uma aplicação Line of Business com OpenAI, Azure Communication Service e Microsoft Graph Toolkit. Foi uma sessão repleta de insights e também demos o starter para ‘forkar’ e dar um starter nesse projeto para fazer o teste dele!
Aqui vamos ao resumo do que foi feito na sessão!
Continuação do Workshop LOB com OpenAI, Azure Communication Service e Microsoft Graph Toolkit
Antes de mais nada, se você não assistiu a primeira parte do workshop, recomendo que você assista para entender melhor o que foi feito. Você pode acessar a primeira parte do workshop AQUI
E, se você quiser assistir a segunda parte do workshop, você pode assistir abaixo:
E, se você quiser assistir a segunda parte do workshop, você pode acessar o vídeo abaixo:
Nesta segunda parte do workshop, focamos em instalar e configurar o projeto para que ele funcione corretamente. Para isso, fizemos o fork da aplicação que pode ser encontrada no repositório do GitHub – AQUI
Dentro desse repositório há inúmeros outros projetos. O projeto que foi feito durante a live é justamente o projeto:
MicrosoftCloud/samples/openai-acs-msgraph
O enfoque do projeto em questão é uma ferramenta de gerenciamento de clientes que permite administrar dados e interagir com clientes de forma mais eficiente com ajuda da inteligência artificial.
Durante a live, retomamos a partir da seção de configuração e implantação de serviços do OpenAI, fazendo uso do Azure OpenAI Service para integrar modelos de IA ao projeto.
Nessa parte, por mais que você não tenha a subscrição do Azure, você pode criar uma conta gratuita para ter acesso a camada free desse serviço. Ou se preferir, você pode utilizar o serviço de OpenAI para testar o projeto.
Exploramos como criar e configurar serviços no Azure, implantar modelos de IA e integrá-los ao nosso projeto. Adicionalmente, discutimos a importância de configurar corretamente as variáveis de ambiente e garantir que todos os serviços necessários estejam funcionando.
Etapas Desenvolvidas
Criação de um Serviço OpenAI no Azure: Iniciamos criando um serviço OpenAI no Azure, escolhendo a região apropriada e configurando as opções de preços.
Implantação do Modelo: Utilizamos o Azure OpenAI Studio para implantar um modelo GPT-3.5 Turbo, configurando-o para uso em nosso aplicativo.
Configuração das Variáveis de Ambiente: Atualizamos o arquivo .env com as chaves e endpoints necessários para a comunicação com o serviço OpenAI.
Lembrando que o tutorial pode ser encontrado AQUI
Funcionalidades Implementadas durante a Live
Configuração do Projeto: Ajustamos o projeto para garantir que todas as dependências e serviços necessários fossem configurados corretamente. Fazendo assim a instalação de todas as dependências necessárias para o projeto. Tanto nas pastas: client e server.
Implantação do Banco de Dados: Configuramos um banco de dados PostgreSQL usando Docker Compose, garantindo a conectividade e inicialização adequadas. Lembrando que, se você for um usuário Windows, recomendamos o uso do WSL2 para rodar o Docker.
Integração com OpenAI: Demonstramos como integrar o serviço OpenAI com nosso aplicativo, incluindo a configuração de endpoints e variáveis de ambiente.
Logo após isso, executamos o comando docker-compose up para iniciar o banco de dados e garantir que ele estivesse acessível para o projeto.
O que é Azure Communication Services?
Azure Communication Services é um serviço que permite adicionar funcionalidades de comunicação, como chat, voz e vídeo, diretamente em aplicativos. A intenção desse workshop é mostrar as infinitas possibilidades que você pode fazer com esse serviço integrado com o OpenAI e Microsoft Graph Toolkit.
Uso do OpenAI
O OpenAI foi destacado como uma ferramenta revolucionária para implementar inteligência artificial em aplicativos, facilitando a criação de funcionalidades complexas sem a necessidade de escrever código manualmente. Exemplos práticos incluíram a geração de conteúdo de e-mail e conversão de linguagem natural em SQL.
Por exemplo, no gif abaixo, fizemos uma simples consulta no banco fazendo uso de um prompt. A qual o OpenAI nos retornou a query SQL para fazer a consulta no banco de dados.
Isso é de explodir a cabeça, não é mesmo? Imagine o ganho de produtividade para pessoas que estão na área atendendo um cliente e precisa de uma consulta rápida sobre uma determinada venda de um produto? Mas, sem a necessidade de buscar numa planilha de Excel ou até mesmo no banco de dados.
Mas, como isso é possível? Na terceira parte do workshop (a última parte), vamos explorar como podemos fazer isso. Então, fique ligado(a) para não perder nenhuma live!
Conclusão da Live
A implementação demonstrou como integrar eficazmente o Azure Communication Services e o OpenAI em um aplicativo LOB, utilizando essas ferramentas para agilizar o desenvolvimento e criar funcionalidades avançadas. O projeto reflete o potencial dessas tecnologias para modernizar e escalar aplicativos empresariais.
Próxima Live
Na próxima live, continuaremos a explorar o projeto! Dessa vez, vamos trabalhar entender um pouco mais, como essa consulta SQL foi feita. E, como podemos fazer uso disso para melhorar a experiência do usuário final.
Recursos Adicionais
Sempre é muito importante ter acesso a recursos adicionais para aprimorar o conhecimento. Por isso, deixo aqui alguns links que podem ser úteis para vocês:
Link Oficial do Workshop
Curso Gratuito: Introdução aos Serviços de Comunicação do Azure
Curso Gratuito: Criar um aplicativo Web de chamadas de voz com os Serviços de Comunicação do Azure
Documentação do Azure Communication Services
Documentação do Microsoft Graph
Documentação do Microsoft Graph Toolkit
Espero que tenham gostado do artigo e até a próxima live!
Microsoft Tech Community – Latest Blogs –Read More
Can’t access my one drive on browser and also I can’t log in on my desktop app
As the title says I can’t see my files on brower nor log in in my desktop app.
Please help.
browser:
As the title says I can’t see my files on brower nor log in in my desktop app.Please help.browser: Read More
How to Fix if QuickBook𝖘 crashes when opening company file?
I’m encountering a frustrating issue with QuickBook𝖘 where it crashes every time I try to open my company file. Happens consistently every time I try to open the company file.
I’m encountering a frustrating issue with QuickBook𝖘 where it crashes every time I try to open my company file. Happens consistently every time I try to open the company file. Read More
How to Fix if QuickBook𝖘 Won’t Open after Update?
I’m in a bit of a panic here. I updated my QuickBook𝖘 software yesterday, and now it won’t open at all! I’ve tried restarting my computer, reinstalling QuickBook𝖘, and even checked for any recent Windows updates that might be causing the issue, but nothing seems to work. Has anyone else experienced this problem after the latest update? Any suggestions on how to fix it would be greatly appreciated.
I’m in a bit of a panic here. I updated my QuickBook𝖘 software yesterday, and now it won’t open at all! I’ve tried restarting my computer, reinstalling QuickBook𝖘, and even checked for any recent Windows updates that might be causing the issue, but nothing seems to work. Has anyone else experienced this problem after the latest update? Any suggestions on how to fix it would be greatly appreciated. Read More
Taskbar and home screen sometimes disappearing after closing file explorer
Sometimes, when I am done using file explorer, I close out of it, or if its froze up I use task manager to close it, sometimes when I do that my taskbar and home screen disappear and turn into a black screen, I can still use it and anything thats open will still run, but I cannot use shortcuts on desktop home screen if this happens. Can someone tell my why?
Sometimes, when I am done using file explorer, I close out of it, or if its froze up I use task manager to close it, sometimes when I do that my taskbar and home screen disappear and turn into a black screen, I can still use it and anything thats open will still run, but I cannot use shortcuts on desktop home screen if this happens. Can someone tell my why? Read More