Microsoft Sentinel leverandørklasse

Klassen MicrosoftSentinelProvider gir deg mulighet til å samhandle med Microsoft Sentinel datasjøen, slik at du kan utføre operasjoner som å føre opp databaser, lese tabeller og lagre data. Denne klassen er utformet for å fungere med Spark-økter i Jupyter-notatblokker og gir metoder for å få tilgang til og manipulere data som er lagret i Microsoft Sentinel datasjøen.

Denne klassen er en del av modulen sentinel.datalake og gir metoder for å samhandle med datasjøen. Hvis du vil bruke denne klassen, importerer du den spark og oppretter en forekomst av klassen ved hjelp av økten.

from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)      

Du må ha de nødvendige tillatelsene til å utføre operasjoner som å lese og skrive data. Hvis du vil ha mer informasjon om tillatelser, kan du se Microsoft Sentinel data lake-tillatelser.

Metoder

Klassen MicrosoftSentinelProvider tilbyr flere metoder for å samhandle med Microsoft Sentinel datasjøen. Hver metode som er oppført nedenfor forutsetter MicrosoftSentinelProvider at klassen er importert, og at en forekomst er opprettet ved hjelp av spark økten som følger:

from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark) 

list_databases

Vis alle tilgjengelige databaser / Microsoft Sentinel arbeidsområder.

data_provider.list_databases()    

Returnerer:

  • list[str]: En liste over databasenavn (arbeidsområder) som er tilgjengelige i Microsoft Sentinel datasjøen.

list_tables

Før opp alle tabeller i en gitt database.

data_provider.list_tables([database_name],[database_id])
   

Parametere:

  • database_name (str, valgfritt): Navnet på databasen (arbeidsområdet) du vil vise tabeller fra. HVIS ikke angitt, brukes systemtabelldatabasen.
  • database_id (str, valgfritt): Den unike identifikatoren for databasen hvis navnene på arbeidsområdet ikke er unike.

Returnerer:

  • list[str]: En liste over tabellnavn i den angitte databasen.

Eksempler:

Før opp alle tabeller i systemtabelldatabasen:

data_provider.list_tables() 

Før opp alle tabeller i en bestemt database. database_id Angi databasen hvis arbeidsområdenavnene ikke er unike:

data_provider.list_tables("workspace1", database_id="ab1111112222ab333333")

read_table

Last inn en dataramme fra en tabell i Lake.

data_provider.read_table({table}, [database_name], [database_id])

Parametere:

  • table_name (str): Navnet på tabellen som skal leses.
  • database_name (str, valgfritt): Navnet på databasen (arbeidsområdet) som inneholder tabellen. Standard er System tables.
  • database_id (str, valgfritt): Den unike identifikatoren for databasen hvis navnene på arbeidsområdet ikke er unike.

Returnerer:

  • DataFrame: En dataramme som inneholder dataene fra den angitte tabellen.

Eksempel:

df = data_provider.read_table("EntraGroups", "Workspace001")

save_as_table

Skriv en DataFrame som en administrert tabell. Du kan skrive til lake-nivået ved hjelp av suffikset _SPRK i tabellnavnet, eller til analysenivået ved hjelp av suffikset _SPRK_CL .

Obs!

Støtter bare modus for analysenivået save_as_tableappend . overwrite modus støttes bare i lake-nivået.

data_provider.save_as_table({DataFrame}, {table_name}, [database_name], [database_id], [write_options])

Parametere:

  • DataFrame (DataFrame): Datarammen som skal skrives som en tabell.
  • table_name (str): Navnet på tabellen som skal opprettes eller overskrives.
  • database_name (str, valgfritt): Navnet på databasen (arbeidsområdet) som tabellen skal lagres i. Standard er System tables.
  • database_id (str, valgfritt, bare analysenivå): Den unike identifikatoren for databasen i analysenivået hvis navnene på arbeidsområdet ikke er unike.
  • write_options (diktering, valgfritt): Alternativer for å skrive tabellen. Støttede alternativer: - modus: append eller overwrite (standard: append) overwrite modus støttes bare i lake-nivået. - PartitionBy: liste over kolonner som skal partisjoneres etter eksempel: {'mode': 'tilføy', 'partitionBy': ['date']}

Returnerer:

  • str: Kjørings-ID-en for skriveoperasjonen.

Obs!

Partisjoneringsalternativet gjelder bare for egendefinerte tabeller i systemtabelldatabasen (arbeidsområdet) i datasjøen. Det støttes ikke for tabeller i analysenivået eller for tabeller i andre databaser enn systemtabelldatabasen i datasjøen.

Eksempler:

Opprett ny egendefinert tabell i datasjøen i System tables arbeidsområdet.

data_provider.save_as_table(dataframe, "CustomTable1_SPRK", "System tables")

Overskriv en tabell i systemtabelldatabasen (arbeidsområdet) i datasjøen.

write_options = {
    'mode': 'overwrite'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", write_options=write_options)

Opprett ny egendefinert tabell i analysenivået.

data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace")

Tilføy til en eksisterende egendefinert tabell i analysenivået.

write_options = {
    'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace", write_options)

Tilføy til systemtabelldatabasen med partisjonering i TimeGenerated kolonnen.

data_loader.save_as_table(dataframe, "table1", write_options: {'mode': 'append', 'partitionBy': ['TimeGenerated']})

delete_table

Sletter tabellen fra lake-nivået. Du kan slette tabell fra lake tier ved hjelp av suffikset _SPRK i tabellnavnet. Du kan ikke slette en tabell fra analysenivået ved hjelp av denne funksjonen. Hvis du vil slette en egendefinert tabell i analysenivået, bruker du API-funksjonene for log analytics. Hvis du vil ha mer informasjon, kan du se Legge til eller slette tabeller og kolonner i Azure Overvåke logger.

data_provider.delete_table({table_name}, [database_name], [database_id])

Parametere:

  • table_name (str): Navnet på tabellen som skal slettes.
  • database_name (str, valgfritt): Navnet på databasen (arbeidsområdet) som inneholder tabellen. Standard er System tables.
  • database_id (str, valgfritt): Den unike identifikatoren for databasen hvis navnene på arbeidsområdet ikke er unike.

Returnerer:

  • dict: En ordliste som inneholder resultatet av sletteoperasjonen.

Eksempel:

data_provider.delete_table("customtable_SPRK", "System tables")