val jsData = Seq(
("""{
"version": {
"version": "1.0.0",
"versionParts": [
1
]
},
"msgCompressionKind": "NONE",
"msgSplitIdx": 1,
"msgSplitCount": 1,
"msgSourceIP": "10.244.81.3",
"msgCreatedBy": "",
"msgCreationTime": 1633280059960,
"message": {
"type": "ENTITY_NOTIFICATION_V2",
"entity": {
"typeName": "azure_sql_column",
"attributes": {
"qualifiedName": "mssql://aemigration.database.windows.net/contosoHR_Plaintext/dbo/Employees#SSN",
"name": "SSN"
},
"guid": "e338f6c9-8c2c-4cf8-ac87-cff6f6f60004",
"status": "ACTIVE",
"displayText": "SSN",
"classificationNames": [
"MICROSOFT.GOVERNMENT.US.SOCIAL_SECURITY_NUMBER",
"Microsoft.Label.08A42F2B_FE8A_4FA5_9BF9_90B8CDBA7373"
],
"classifications": [
{
"typeName": "MICROSOFT.GOVERNMENT.US.SOCIAL_SECURITY_NUMBER",
"lastModifiedTS": "1",
"entityGuid": "e338f6c9-8c2c-4cf8-ac87-cff6f6f60004",
"entityStatus": "ACTIVE",
"source": "DataScan",
"sourceDetails": {
"ClassificationRuleId": "54115c6e-5a50-468a-88cb-fc537eb48e69",
"ClassificationRuleType": "System",
"ClassificationRuleVersion": "1",
"MCE_Confidence": "94",
"MCE_RuleId": "a44669fe-0d48-453d-a9b1-2cc83f2cba77",
"MCE_Name": "MCE.U.S._Social_Security_Number_(SSN)",
"MCE_Count": "28",
"MCE_UniqueCount": "28"
}
},
{
"typeName": "Microsoft.Label.08A42F2B_FE8A_4FA5_9BF9_90B8CDBA7373",
"lastModifiedTS": "1",
"entityGuid": "e338f6c9-8c2c-4cf8-ac87-cff6f6f60004",
"entityStatus": "ACTIVE",
"source": "LabelService"
}
]
},
"operationType": "ENTITY_UPDATE",
"eventTime": 1633280059739
}
}""")
)
val schema: StructType = spark.read.json(jsData.toDS).schema
Azure Purview: Monitoring Atlas Hook
atlas_entities
via Spark Streaming