azure Logic Apps:解析JSON并根据上次登录活动过滤用户数据

llycmphe  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(69)

我已经在Logic Apps中定义了以下逻辑,但是Parse JSON并没有捕获signInActivity的详细信息,所以我不能根据lastSignInDateTime来过滤对象。基本上,我正在寻找拥有office 365 e1许可证并且lastSignInDateTime和lastNonInteractiveSignInDateTime都很旧(Inactive)的用户。

{
    "properties": {
        "value": {
            "items": {
                "properties": {
                    "accountEnabled": {
                        "type": "boolean"
                    },
                    "city": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "companyName": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "country": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "department": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "displayName": {
                        "type": "string"
                    },
                    "employeeId": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "jobTitle": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "mail": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "onPremisesDomainName": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "onPremisesExtensionAttributes": {
                        "properties": {
                            "extensionAttribute1": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute10": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute11": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute12": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute13": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute14": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute15": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute2": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute3": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute4": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute5": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute6": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute7": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute8": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "extensionAttribute9": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "type": "object"
                    },
                    "onPremisesSamAccountName": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "onPremisesUserPrincipalName": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "signInActivity": {
                        "properties": {
                            "lastNonInteractiveSignInDateTime": {
                                "type": [
                                    "String",
                                    "null"
                                ]
                            },
                            "lastNonInteractiveSignInRequestId": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "lastSignInDateTime": {
                                "type": [
                                    "String",
                                    "null"
                                ]
                            },
                            "lastSignInRequestId": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "type": "object"
                    },
                    "state": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "userPrincipalName": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "accountEnabled",
                    "city",
                    "companyName",
                    "country",
                    "department",
                    "displayName",
                    "employeeId",
                    "jobTitle",
                    "onPremisesDomainName",
                    "mail",
                    "onPremisesSamAccountName",
                    "onPremisesUserPrincipalName",
                    "state",
                    "userPrincipalName",
                    "onPremisesExtensionAttributes"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
}
avwztpqn

avwztpqn1#

谢谢你@BrianSmith指出了正确的方向。在如上所述复制之后,我能够得到想要的结果。
下面是我的逻辑应用程序的流程

下面是我从HTTP步骤得到的结果

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(accountEnabled,city,companyName,country,department,displayName,employeeId,jobTitle,onPremisesDomainName,mail,onPremisesSamAccountName,onPremisesUserPrincipalName,state,userPrincipalName,onPremisesExtensionAttributes)",
  "value": [
    {
      "accountEnabled": true,
      "city": null,
      "companyName": null,
      "country": null,
      "department": null,
      "displayName": "xxx",
      "employeeId": null,
      "jobTitle": null,
      "onPremisesDomainName": null,
      "mail": null,
      "onPremisesSamAccountName": null,
      "onPremisesUserPrincipalName": null,
      "state": null,
      "userPrincipalName": "xxx",
      "onPremisesExtensionAttributes": {
        "extensionAttribute1": null,
        "extensionAttribute2": null,
        "extensionAttribute3": null,
        "extensionAttribute4": null,
        "extensionAttribute5": null,
        "extensionAttribute6": null,
        "extensionAttribute7": null,
        "extensionAttribute8": null,
        "extensionAttribute9": null,
        "extensionAttribute10": null,
        "extensionAttribute11": null,
        "extensionAttribute12": null,
        "extensionAttribute13": null,
        "extensionAttribute14": null,
        "extensionAttribute15": null
      }
    },
    {
      "accountEnabled": true,
      "city": null,
      "companyName": null,
      "country": null,
      "department": null,
      "displayName": "xxxx",
      "employeeId": null,
      "jobTitle": null,
      "onPremisesDomainName": null,
      "mail": "xxxx",
      "onPremisesSamAccountName": null,
      "onPremisesUserPrincipalName": null,
      "state": null,
      "userPrincipalName": "sxxx",
      "onPremisesExtensionAttributes": {
        "extensionAttribute1": null,
        "extensionAttribute2": null,
        "extensionAttribute3": null,
        "extensionAttribute4": null,
        "extensionAttribute5": null,
        "extensionAttribute6": null,
        "extensionAttribute7": null,
        "extensionAttribute8": null,
        "extensionAttribute9": null,
        "extensionAttribute10": null,
        "extensionAttribute11": null,
        "extensionAttribute12": null,
        "extensionAttribute13": null,
        "extensionAttribute14": null,
        "extensionAttribute15": null
      }
    }
  ]
}

解析Json模式,它是用上面的结果生成的:

{
    "properties": {
        "@@odata.context": {
            "type": "string"
        },
        "value": {
            "items": {
                "properties": {
                    "accountEnabled": {
                        "type": "boolean"
                    },
                    "city": {},
                    "companyName": {},
                    "country": {},
                    "department": {},
                    "displayName": {
                        "type": "string"
                    },
                    "employeeId": {},
                    "jobTitle": {},
                    "mail": {},
                    "onPremisesDomainName": {},
                    "onPremisesExtensionAttributes": {
                        "properties": {
                            "extensionAttribute1": {},
                            "extensionAttribute10": {},
                            "extensionAttribute11": {},
                            "extensionAttribute12": {},
                            "extensionAttribute13": {},
                            "extensionAttribute14": {},
                            "extensionAttribute15": {},
                            "extensionAttribute2": {},
                            "extensionAttribute3": {},
                            "extensionAttribute4": {},
                            "extensionAttribute5": {},
                            "extensionAttribute6": {},
                            "extensionAttribute7": {},
                            "extensionAttribute8": {},
                            "extensionAttribute9": {}
                        },
                        "type": "object"
                    },
                    "onPremisesSamAccountName": {},
                    "onPremisesUserPrincipalName": {},
                    "state": {},
                    "userPrincipalName": {
                        "type": "string"
                    }
                },
                "required": [
                    "accountEnabled",
                    "city",
                    "companyName",
                    "country",
                    "department",
                    "displayName",
                    "employeeId",
                    "jobTitle",
                    "onPremisesDomainName",
                    "mail",
                    "onPremisesSamAccountName",
                    "onPremisesUserPrincipalName",
                    "state",
                    "userPrincipalName",
                    "onPremisesExtensionAttributes"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
}

结果:

相关问题