Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Klassen MicrosoftSentinelProvider är ett sätt att interagera med Microsoft Sentinel datasjö, så att du kan utföra åtgärder som att lista databaser, läsa tabeller och spara data. Den här klassen är utformad för att fungera med Spark-sessioner i Jupyter Notebooks och tillhandahåller metoder för att komma åt och manipulera data som lagras i Microsoft Sentinel datasjön.
Den här klassen är en del av modulen sentinel.datalake och innehåller metoder för att interagera med datasjön. Om du vill använda den här klassen importerar du den och skapar en instans av klassen med hjälp av spark sessionen.
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Du måste ha de behörigheter som krävs för att utföra åtgärder som att läsa och skriva data. Mer information om behörigheter finns i Microsoft Sentinel datasjöbehörigheter.
Metoder
Klassen MicrosoftSentinelProvider innehåller flera metoder för att interagera med Microsoft Sentinel datasjö.
Varje metod som anges nedan förutsätter MicrosoftSentinelProvider att klassen har importerats och att en instans har skapats med hjälp av sessionen på spark följande sätt:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
list_databases
Visa en lista över alla tillgängliga databaser/Microsoft Sentinel arbetsytor.
data_provider.list_databases()
Returnerar:
-
list[str]: En lista över databasnamn (arbetsytor) som är tillgängliga i Microsoft Sentinel datasjö.
list_tables
Visa en lista över alla tabeller i en viss databas.
data_provider.list_tables([database_name],[database_id])
Parametrar:
-
database_name(str, valfritt): Namnet på databasen (arbetsytan) att lista tabeller från. Om inte anges används systemtabelldatabasen. -
database_id(str, valfritt): Den unika identifieraren för databasen om arbetsytans namn inte är unika.
Returnerar:
-
list[str]: En lista med tabellnamn i den angivna databasen.
Exempel:
Lista alla tabeller i systemtabelldatabasen:
data_provider.list_tables()
Visa en lista över alla tabeller i en specifik databas.
database_id Ange databasens namn om dina arbetsytenamn inte är unika:
data_provider.list_tables("workspace1", database_id="ab1111112222ab333333")
read_table
Läs in en DataFrame från en tabell i Lake.
data_provider.read_table({table}, [database_name], [database_id])
Parametrar:
-
table_name(str): Namnet på tabellen som ska läsas. -
database_name(str, valfritt): Namnet på databasen (arbetsytan) som innehåller tabellen. Standardvärdet ärSystem tables. -
database_id(str, valfritt): Den unika identifieraren för databasen om arbetsytans namn inte är unika.
Returnerar:
-
DataFrame: En dataram som innehåller data från den angivna tabellen.
Exempel:
df = data_provider.read_table("EntraGroups", "Workspace001")
save_as_table
Skriv en DataFrame som en hanterad tabell. Du kan skriva till lake-nivån med hjälp av suffixet _SPRK i tabellnamnet eller till analysnivån med hjälp av suffixet _SPRK_CL .
Obs!
För analysnivån save_as_table stöder append endast läge.
overwrite -läget stöds bara på sjönivån.
data_provider.save_as_table({DataFrame}, {table_name}, [database_name], [database_id], [write_options])
Parametrar:
-
DataFrame(DataFrame): Den dataram som ska skrivas som en tabell. -
table_name(str): Namnet på tabellen som ska skapas eller skrivas över. -
database_name(str, valfritt): Namnet på databasen (arbetsytan) som tabellen ska sparas i. Standardvärdet ärSystem tables. -
database_id(str, valfritt, endast analysnivå): Den unika identifieraren för databasen på analysnivån om arbetsytenamnen inte är unika. -
write_options(diktamen, valfritt): Alternativ för att skriva tabellen. Alternativ som stöds: – läge:appendelleroverwrite(standard:append)overwritestöds bara på lake-nivån. - partitionBy: lista över kolumner som ska partitioneras efter exempel: {'mode': 'append', 'partitionBy': ['date']}
Returnerar:
-
str: Körnings-ID för skrivåtgärden.
Obs!
Partitioneringsalternativet gäller endast för anpassade tabeller i systemtabelldatabasen (arbetsytan) på datasjönivån. Det stöds inte för tabeller på analysnivån eller för tabeller i andra databaser än systemtabelldatabasen på datasjönivån.
Exempel:
Skapa en ny anpassad tabell på datasjönivån på System tables arbetsytan.
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", "System tables")
Skriv över en tabell i systemtabelldatabasen (arbetsytan) på datasjönivån.
write_options = {
'mode': 'overwrite'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", write_options=write_options)
Skapa en ny anpassad tabell på analysnivån.
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace")
Lägg till i en befintlig anpassad tabell på analysnivån.
write_options = {
'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace", write_options)
Lägg till i systemtabelldatabasen med partitionering i TimeGenerated kolumnen.
data_loader.save_as_table(dataframe, "table1", write_options: {'mode': 'append', 'partitionBy': ['TimeGenerated']})
delete_table
Tar bort tabellen från lake-nivån. Du kan ta bort tabellen från lake-nivån med hjälp av suffixet _SPRK i tabellnamnet. Du kan inte ta bort en tabell från analysnivån med hjälp av den här funktionen. Om du vill ta bort en anpassad tabell på analysnivån använder du Log Analytics API-funktionerna. Mer information finns i Lägga till eller ta bort tabeller och kolumner i Azure Övervaka loggar.
data_provider.delete_table({table_name}, [database_name], [database_id])
Parametrar:
-
table_name(str): Namnet på tabellen som ska tas bort. -
database_name(str, valfritt): Namnet på databasen (arbetsytan) som innehåller tabellen. Standardvärdet ärSystem tables. -
database_id(str, valfritt): Den unika identifieraren för databasen om arbetsytans namn inte är unika.
Returnerar:
-
dict: En ordlista som innehåller resultatet av borttagningsåtgärden.
Exempel:
data_provider.delete_table("customtable_SPRK", "System tables")