Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die MicrosoftSentinelProvider Klasse bietet eine Möglichkeit, mit dem Microsoft Sentinel-Datensee zu interagieren, sodass Sie Vorgänge wie das Auflisten von Datenbanken, das Lesen von Tabellen und das Speichern von Daten ausführen können. Diese Klasse wurde entwickelt, um mit den Spark-Sitzungen in Jupyter-Notizbüchern zu arbeiten und Methoden zum Zugreifen auf und Bearbeiten von Daten, die im Microsoft Sentinel-Datensee gespeichert sind.
Diese Klasse ist Teil des sentinel.datalake Moduls und stellt Methoden für die Interaktion mit dem Datensee bereit. Um diese Klasse zu verwenden, importieren Sie sie, und erstellen Sie eine Instanz der Klasse mithilfe der spark Sitzung.
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Sie müssen über die erforderlichen Berechtigungen zum Ausführen von Vorgängen verfügen, z. B. zum Lesen und Schreiben von Daten. Weitere Informationen zu Berechtigungen finden Sie unter Microsoft Sentinel Data Lake-Berechtigungen.
Methods
Die MicrosoftSentinelProvider Klasse bietet mehrere Methoden für die Interaktion mit dem Microsoft Sentinel-Datensee.
Jede unten aufgeführte Methode setzt voraus, dass die MicrosoftSentinelProvider Klasse importiert wurde und eine Instanz mithilfe der spark Sitzung wie folgt erstellt wurde:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
list_databases
Listet alle verfügbaren Datenbanken /Microsoft Sentinel-Arbeitsbereiche auf.
data_provider.list_databases()
Returns:
-
list[str]: Eine Liste der Datenbanknamen (Arbeitsbereiche), die im Microsoft Sentinel-Datensee verfügbar sind.
list_tables
Listet alle Tabellen in einer bestimmten Datenbank auf.
data_provider.list_tables([database_name],[database_id])
Parameters:
-
database_name(str, optional): Der Name der Datenbank (Arbeitsbereich) für Listentabellen aus. WENN nicht angegeben wird, wird die Datenbank der Systemtabellen verwendet. -
database_id(str, optional): Der eindeutige Bezeichner der Datenbank, wenn Arbeitsbereichsnamen nicht eindeutig sind.
Returns:
-
list[str]: Eine Liste der Tabellennamen in der angegebenen Datenbank.
Examples:
Listet alle Tabellen in der Datenbank der Systemtabellen auf:
data_provider.list_tables()
Listet alle Tabellen in einer bestimmten Datenbank auf. Geben Sie die database_id Datenbank an, wenn ihre Arbeitsbereichsnamen nicht eindeutig sind:
data_provider.list_tables("workspace1", database_id="ab1111112222ab333333")
read_table
Laden sie einen DataFrame aus einer Tabelle in Lake.
data_provider.read_table({table}, [database_name], [database_id])
Parameters:
-
table_name(str): Der Name der zu lesenden Tabelle. -
database_name(str, optional): Der Name der Datenbank (Arbeitsbereich), die die Tabelle enthält. Wird standardmäßig aufSystem tablesfestgelegt. -
database_id(str, optional): Der eindeutige Bezeichner der Datenbank, wenn Arbeitsbereichsnamen nicht eindeutig sind.
Returns:
-
DataFrame: Ein DataFrame, der die Daten aus der angegebenen Tabelle enthält.
Example:
df = data_provider.read_table("EntraGroups", "Workspace001")
save_as_table
Schreiben Sie einen DataFrame als verwaltete Tabelle. Sie können in die Seeebene schreiben, indem Sie das _SPRK Suffix in Ihrem Tabellennamen oder in die Analyseebene mit dem _SPRK_CL Suffix verwenden.
data_provider.save_as_table({DataFrame}, {table_name}, [database_name], [database_id], [write_options])
Parameters:
-
DataFrame(DataFrame): Der DataFrame, der als Tabelle geschrieben werden soll. -
table_name(str): Der Name der zu erstellenden oder überschreibenden Tabelle. -
database_name(str, optional): Der Name der Datenbank (Arbeitsbereich), in der die Tabelle gespeichert werden soll. Wird standardmäßig aufSystem tablesfestgelegt. -
database_id(STR, optional, nur Analytics-Tier): Die eindeutige Identifikatorin der Datenbank in der Analytics-Stufe, falls die Arbeitsbereichsnamen nicht eindeutig sind. -
write_options(Diktat, optional): Optionen zum Schreiben der Tabelle. Unterstützte Optionen: - Modus:appendoderoverwrite(Standard:append) - partitionBy: Liste der Spalten, die partitioniert werden sollen, nach Beispiel: {'mode': 'append', 'partitionBy': ['date']}
Returns:
-
str: Die Ausführungs-ID des Schreibvorgangs.
Note
Die Partitionierungsoption gilt nur für benutzerdefinierte Tabellen in der Systemtabellendatenbank (Arbeitsbereich) auf der Datenseeebene. Es wird für Tabellen auf der Analyseebene oder für Tabellen in anderen Datenbanken als der Systemtabellendatenbank auf der Datenseeebene nicht unterstützt.
Examples:
Erstellen Sie eine neue benutzerdefinierte Tabelle auf der Datenseeebene im System tables Arbeitsbereich.
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", "System tables")
Anfügen an eine Tabelle in der Systemtabellendatenbank (Arbeitsbereich) auf der Datenseeebene.
write_options = {
'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", write_options=write_options)
Erstellen Sie neue benutzerdefinierte Tabelle auf der Analyseebene.
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace")
Anfügen oder Überschreiben an eine vorhandene benutzerdefinierte Tabelle auf der Analyseebene.
write_options = {
'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace", write_options)
Fügen Sie die Systemtabellendatenbank mit Partitionierung in der TimeGenerated Spalte an.
data_loader.save_as_table(dataframe, "table1", write_options: {'mode': 'append', 'partitionBy': ['TimeGenerated']})
delete_table
Löscht die Tabelle aus der Seeebene. Sie können die Tabelle aus Seeebene löschen, indem Sie das _SPRK Suffix in Ihrem Tabellennamen verwenden. Sie können eine Tabelle nicht mithilfe dieser Funktion aus der Analyseebene löschen. Verwenden Sie die Log Analytics-API-Funktionen, um eine benutzerdefinierte Tabelle auf der Analyseebene zu löschen. Weitere Informationen finden Sie unter Hinzufügen oder Löschen von Tabellen und Spalten in Azure Monitor-Protokollen.
data_provider.delete_table({table_name}, [database_name], [database_id])
Parameters:
-
table_name(str): Der Name der zu löschenden Tabelle. -
database_name(str, optional): Der Name der Datenbank (Arbeitsbereich), die die Tabelle enthält. Wird standardmäßig aufSystem tablesfestgelegt. -
database_id(str, optional): Der eindeutige Bezeichner der Datenbank, wenn Arbeitsbereichsnamen nicht eindeutig sind.
Returns:
-
dict: Ein Wörterbuch, das das Ergebnis des Löschvorgangs enthält.
Example:
data_provider.delete_table("customtable_SPRK", "System tables")