AzureMonitorLogs PowerApp Connector

%3CLINGO-SUB%20id%3D%22lingo-sub-3270813%22%20slang%3D%22en-US%22%3EAzureMonitorLogs%20PowerApp%20Connector%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3270813%22%20slang%3D%22en-US%22%3E%3CP%3EI%20cannot%20work%20out%20the%20correct%20information%20to%20provide%20the%26nbsp%3BAzureMonitorLogs.QueryData%20Connector%20for%20PowerApps.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20want%20to%20run%20a%20query%20against%20my%20Log%20Analytics%2FMonitor%20Workspace%2C%20get%20the%20results%20and%20bring%20them%20back%20into%20my%20PowerApp.%26nbsp%3B%20I'll%20then%20present%20the%20data%20in%20the%20PowerApp.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ECurrently%20i%20am%20trying%20this%20on%20a%20Button%20OnSelect%20property.%26nbsp%3B%20On%20button%20click%2C%20the%20query%20runs%2C%20and%20populates%20a%20Table%20with%20the%20data.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-applescript%22%3E%3CCODE%3EClearCollect(res%2C%0AAzureMonitorLogs.QueryData(%0A%20%20%20%20%22xxyyzz%22%2C%0A%20%20%20%20%22the%20name%20of%20my%20resource%20group%20hosting%20the%20analytics%20workspace%22%2C%0A%20%20%20%20%22Microsoft.OperationalInsights%2Fworkspaces%22%2C%0A%20%20%20%20%22the%20name%20of%20my%20workspace%22%2C%0A%20%20%20%20%22%22%2C%0A%20%20%20%20%22SigninLogs%20%7C%20where%20TimeGenerated%20%26gt%3B%20ago(24h)%22%0A%20%20%20%20)%0A)%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EOfficial%20Connector%20documentation%20is%20here.%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fconnectors%2Fazuremonitorlogs%2F%23run-query-and-list-results%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fconnectors%2Fazuremonitorlogs%2F%23run-query-and-list-results%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CDIV%20class%3D%22%22%3E%3CP%3EI%20am%20struggling%20to%20access%20the%20data%20in%20the%20resulting%20Table%20and%20use%20the%20data%20in%20various%20controls%2C%20namely%20a%20Gallery%20Control.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EHere%20is%20a%20real%20request%20response%20from%20the%20PowerApp%20to%20Azure%20Monitor.%26nbsp%3B%20How%20do%20i%20now%20parse%20that%20in%20PowerApps%20and%20make%20use%20of%20it%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FDIV%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-json%22%3E%3CCODE%3E%7B%0A%20%20%22status%22%3A%20200%2C%0A%20%20%22duration%22%3A%202572.79%2C%0A%20%20%22dataSource%22%3A%20%22AzureMonitorLogs%22%2C%0A%20%20%22responseSize%22%3A%20118%2C%0A%20%20%22controlName%22%3A%20%22Button2%22%2C%0A%20%20%22propertyName%22%3A%20%22OnSelect%22%2C%0A%20%20%22nodeId%22%3A%2010%2C%0A%20%20%22formulaData%22%3A%20%7B%0A%20%20%20%20%22script%22%3A%20%22ClearCollect(res%2C%5CnAzureMonitorLogs.QueryData(%5Cn%20%20%20%20%5C%22%3CREDACTED%3E%5C%22%2C%5Cn%20%20%20%20%5C%22%3CREDACTED%3E%5C%22%2C%5Cn%20%20%20%20%5C%22Microsoft.OperationalInsights%2Fworkspaces%5C%22%2C%5Cn%20%20%20%20%5C%22%3CREDACTED%3E%5C%22%2C%5Cn%20%20%20%20%5C%22%5C%22%2C%5Cn%20%20%20%20%5C%22SigninLogs%20%7C%20where%20TimeGenerated%20%26gt%3B%20ago(24h)%20%7C%20project%20TimeGenerated%2C%20UserPrincipalName%20%7C%20limit%201%5C%22%5Cn%20%20%20%20).value%5Cn)%22%2C%0A%20%20%20%20%22spanStart%22%3A%2018%2C%0A%20%20%20%20%22spanEnd%22%3A%20349%0A%20%20%7D%2C%0A%20%20%22data%22%3A%20%7B%0A%20%20%20%20%22context%22%3A%20%7B%0A%20%20%20%20%20%20%22entityName%22%3A%20%22Button2%22%2C%0A%20%20%20%20%20%20%22propertyName%22%3A%20%22OnSelect%22%2C%0A%20%20%20%20%20%20%22id%22%3A%205661%2C%0A%20%20%20%20%20%20%22nodeId%22%3A%2010%2C%0A%20%20%20%20%20%20%22diagnosticContext%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22dataOperation%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%22protocol%22%3A%20%22rest%22%2C%0A%20%20%20%20%20%20%20%20%20%20%22operation%22%3A%20%22QueryData%22%2C%0A%20%20%20%20%20%20%20%20%20%20%22dataSource%22%3A%20%22AzureMonitorLogs%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%22formula%22%3A%20%22ClearCollect(res%2C%5CnAzureMonitorLogs.QueryData(%5Cn%20%20%20%20%5C%22%3CREDACTED%3E%5C%22%2C%5Cn%20%20%20%20%5C%22%3CREDACTED%3E%5C%22%2C%5Cn%20%20%20%20%5C%22Microsoft.OperationalInsights%2Fworkspaces%5C%22%2C%5Cn%20%20%20%20%5C%22%3CREDACTED%3E%5C%22%2C%5Cn%20%20%20%20%5C%22%5C%22%2C%5Cn%20%20%20%20%5C%22SigninLogs%20%7C%20where%20TimeGenerated%20%26gt%3B%20ago(24h)%20%7C%20project%20TimeGenerated%2C%20UserPrincipalName%20%7C%20limit%201%5C%22%5Cn%20%20%20%20).value%5Cn)%22%2C%0A%20%20%20%20%20%20%20%20%22span%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%22start%22%3A%2018%2C%0A%20%20%20%20%20%20%20%20%20%20%22end%22%3A%20349%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20%22request%22%3A%20%7B%0A%20%20%20%20%20%20%22url%22%3A%20%22%3CREDACTED%3E%22%2C%0A%20%20%20%20%20%20%22method%22%3A%20%22POST%22%2C%0A%20%20%20%20%20%20%22headers%22%3A%20%7B%0A%20%20%20%20%20%20%20%20...%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%22body%22%3A%20%22SigninLogs%20%7C%20where%20TimeGenerated%20%26gt%3B%20ago(24h)%20%7C%20project%20TimeGenerated%2C%20UserPrincipalName%20%7C%20limit%201%22%0A%20%20%20%20%7D%2C%0A%20%20%20%20%22response%22%3A%20%7B%0A%20%20%20%20%20%20%22duration%22%3A%202572.79%2C%0A%20%20%20%20%20%20%22size%22%3A%20118%2C%0A%20%20%20%20%20%20%22status%22%3A%20200%2C%0A%20%20%20%20%20%20%22headers%22%3A%20%7B%0A%20%20%20%20%20%20%20%20...%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%22body%22%3A%20%7B%0A%20%20%20%20%20%20%20%20%22value%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22TimeGenerated%22%3A%20%222022-03-29T02%3A25%3A44.575Z%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22UserPrincipalName%22%3A%20%22%3CREDACTED%3E%22%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%22responseType%22%3A%20%22json%22%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%3C%2FREDACTED%3E%3C%2FREDACTED%3E%3C%2FREDACTED%3E%3C%2FREDACTED%3E%3C%2FREDACTED%3E%3C%2FREDACTED%3E%3C%2FREDACTED%3E%3C%2FREDACTED%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ENow%20back%20in%20PowerApps%2C%20after%20clicking%20the%20button%2C%20the%20dots%20fly%20across%20the%20screen%20and%20then%20..%20silence.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIf%20i%20go%20check%20the%20res%20Collection%2C%20i%20can%20see%20an%20empty%20Table%2C%20well%20at%20least%20i%20think%20it%20is%20empty%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAny%20clues%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-3270813%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EPowerApps%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-3274871%22%20slang%3D%22en-US%22%3ERe%3A%20AzureMonitorLogs%20PowerApp%20Connector%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3274871%22%20slang%3D%22en-US%22%3EIn%20the%20mean%20time%2C%20i%20have%20used%20a%20Flow%20to%20retrieve%20the%20logs%20using%20the%20same%20Azure%20Monitor%20Logs%20Connector%20and%20then%20returning%20the%20results%20to%20the%20PowerApp.%20This%20is%20less%20than%20ideal%2C%20but%20it%20works%20for%20now.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-3272872%22%20slang%3D%22en-US%22%3ERe%3A%20AzureMonitorLogs%20PowerApp%20Connector%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3272872%22%20slang%3D%22en-US%22%3EAny%20ideas%20or%20takers%20on%20this%3F%3CBR%20%2F%3E%3CBR%20%2F%3EHas%20anyone%20used%20the%20Azure%20Monitor%20Logs%20Connector%20in%20PowerApps%20before%3F%3C%2FLINGO-BODY%3E
Frequent Contributor

I cannot work out the correct information to provide the AzureMonitorLogs.QueryData Connector for PowerApps.

 

I want to run a query against my Log Analytics/Monitor Workspace, get the results and bring them back into my PowerApp.  I'll then present the data in the PowerApp.

 

Currently i am trying this on a Button OnSelect property.  On button click, the query runs, and populates a Table with the data.

 

 

 

ClearCollect(res,
AzureMonitorLogs.QueryData(
    "xxyyzz",
    "the name of my resource group hosting the analytics workspace",
    "Microsoft.OperationalInsights/workspaces",
    "the name of my workspace",
    "",
    "SigninLogs | where TimeGenerated > ago(24h)"
    )
)

 

 

 

 

Official Connector documentation is here. https://docs.microsoft.com/en-us/connectors/azuremonitorlogs/#run-query-and-list-results

 

I am struggling to access the data in the resulting Table and use the data in various controls, namely a Gallery Control.

 

Here is a real request response from the PowerApp to Azure Monitor.  How do i now parse that in PowerApps and make use of it?

 

 

 

{
  "status": 200,
  "duration": 2572.79,
  "dataSource": "AzureMonitorLogs",
  "responseSize": 118,
  "controlName": "Button2",
  "propertyName": "OnSelect",
  "nodeId": 10,
  "formulaData": {
    "script": "ClearCollect(res,\nAzureMonitorLogs.QueryData(\n    \"<redacted>\",\n    \"<redacted>\",\n    \"Microsoft.OperationalInsights/workspaces\",\n    \"<redacted>\",\n    \"\",\n    \"SigninLogs | where TimeGenerated > ago(24h) | project TimeGenerated, UserPrincipalName | limit 1\"\n    ).value\n)",
    "spanStart": 18,
    "spanEnd": 349
  },
  "data": {
    "context": {
      "entityName": "Button2",
      "propertyName": "OnSelect",
      "id": 5661,
      "nodeId": 10,
      "diagnosticContext": {
        "dataOperation": {
          "protocol": "rest",
          "operation": "QueryData",
          "dataSource": "AzureMonitorLogs"
        },
        "formula": "ClearCollect(res,\nAzureMonitorLogs.QueryData(\n    \"<redacted>\",\n    \"<redacted>\",\n    \"Microsoft.OperationalInsights/workspaces\",\n    \"<redacted>\",\n    \"\",\n    \"SigninLogs | where TimeGenerated > ago(24h) | project TimeGenerated, UserPrincipalName | limit 1\"\n    ).value\n)",
        "span": {
          "start": 18,
          "end": 349
        }
      }
    },
    "request": {
      "url": "<redacted>",
      "method": "POST",
      "headers": {
        ...
      },
      "body": "SigninLogs | where TimeGenerated > ago(24h) | project TimeGenerated, UserPrincipalName | limit 1"
    },
    "response": {
      "duration": 2572.79,
      "size": 118,
      "status": 200,
      "headers": {
        ...
      },
      "body": {
        "value": [
          {
            "TimeGenerated": "2022-03-29T02:25:44.575Z",
            "UserPrincipalName": "<redacted>"
          }
        ]
      },
      "responseType": "json"
    }
  }
}

 

Now back in PowerApps, after clicking the button, the dots fly across the screen and then .. silence.

 

If i go check the res Collection, i can see an empty Table, well at least i think it is empty?

 

Any clues?

 

2 Replies
Any ideas or takers on this?

Has anyone used the Azure Monitor Logs Connector in PowerApps before?
In the mean time, i have used a Flow to retrieve the logs using the same Azure Monitor Logs Connector and then returning the results to the PowerApp. This is less than ideal, but it works for now.