Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A MicrosoftSentinelProvider classe fornece uma maneira de interagir com o data lake do Microsoft Sentinel, permitindo que você execute operações como listar bancos de dados, ler tabelas e salvar dados. Esta classe foi projetada para trabalhar com as sessões do Spark em blocos de anotações Jupyter e fornece métodos para acessar e manipular dados armazenados no data lake do Microsoft Sentinel.
Essa classe faz parte do sentinel.datalake módulo e fornece métodos para interagir com o data lake. Para usar essa classe, importe-a e crie uma instância da classe usando a spark sessão.
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Você deve ter as permissões necessárias para executar operações como ler e gravar dados. Para obter mais informações sobre permissões, consulte Permissões do data lake do Microsoft Sentinel.
Methods
A MicrosoftSentinelProvider classe fornece vários métodos para interagir com o data lake do Microsoft Sentinel.
Cada método listado abaixo pressupõe que a classe foi importada MicrosoftSentinelProvider e uma instância foi criada usando a spark sessão da seguinte maneira:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
list_databases
Liste todos os bancos de dados disponíveis/espaços de trabalho do Microsoft Sentinel.
data_provider.list_databases()
Returns:
-
list[str]: Uma lista de nomes de banco de dados (espaços de trabalho) disponíveis no data lake do Microsoft Sentinel.
list_tables
Listar todas as tabelas em um determinado banco de dados.
data_provider.list_tables([database_name],[database_id])
Parameters:
-
database_name(str, opcional): O nome do banco de dados (espaço de trabalho) a partir do qual listar tabelas. SE não especificado o banco de dados de tabelas do sistema é usado. -
database_id(str, opcional): O identificador exclusivo do banco de dados se os nomes dos espaços de trabalho não forem exclusivos.
Returns:
-
list[str]: Uma lista de nomes de tabelas no banco de dados especificado.
Examples:
Liste todas as tabelas no banco de dados de tabelas do sistema:
data_provider.list_tables()
Listar todas as tabelas em um banco de dados específico. Especifique o database_id do banco de dados se os nomes do espaço de trabalho não forem exclusivos:
data_provider.list_tables("workspace1", database_id="ab1111112222ab333333")
read_table
Carregue um DataFrame de uma tabela no Lake.
data_provider.read_table({table}, [database_name], [database_id])
Parameters:
-
table_name(str): O nome da tabela a ser lida. -
database_name(str, optional): O nome do banco de dados (espaço de trabalho) que contém a tabela. O padrão éSystem tables. -
database_id(str, opcional): O identificador exclusivo do banco de dados se os nomes dos espaços de trabalho não forem exclusivos.
Returns:
-
DataFrame: Um DataFrame contendo os dados da tabela especificada.
Example:
df = data_provider.read_table("EntraGroups", "Workspace001")
save_as_table
Escreva um DataFrame como uma tabela gerenciada. Você pode gravar na camada lake usando o sufixo no nome da _SPRK tabela ou na camada de análise usando o sufixo _SPRK_CL .
data_provider.save_as_table({DataFrame}, {table_name}, [database_name], [database_id], [write_options])
Parameters:
-
DataFrame(DataFrame): O DataFrame para escrever como uma tabela. -
table_name(str): O nome da tabela a ser criada ou substituída. -
database_name(str, opcional): O nome do banco de dados (espaço de trabalho) no qual salvar a tabela. O padrão éSystem tables. -
database_id(STR, opcional, apenas no nível de análise): O identificador único da base de dados no nível de análise se os nomes dos espaços de trabalho não forem únicos. -
write_options(ditado, opcional): Opções para escrever a tabela. Opções suportadas: - mode:appendoroverwrite(default:append) - partitionBy: list of columns to partition by Example: {'mode': 'append', 'partitionBy': ['date']}
Returns:
-
str: O ID de execução da operação de gravação.
Note
A opção de particionamento só se aplica a tabelas personalizadas no banco de dados de tabelas do sistema (espaço de trabalho) na camada de data lake. Não há suporte para tabelas na camada de análise ou para tabelas em bancos de dados diferentes do banco de dados de tabelas do sistema na camada de data lake.
Examples:
Crie uma nova tabela personalizada na camada data lake no System tables espaço de trabalho.
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", "System tables")
Anexe a uma tabela no banco de dados de tabelas do sistema (espaço de trabalho) na camada data lake.
write_options = {
'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", write_options=write_options)
Crie uma nova tabela personalizada na camada de análise.
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace")
Anexe ou substitua a uma tabela personalizada existente na camada de análise.
write_options = {
'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace", write_options)
Anexe ao banco de dados de tabelas do sistema com particionamento na TimeGenerated coluna.
data_loader.save_as_table(dataframe, "table1", write_options: {'mode': 'append', 'partitionBy': ['TimeGenerated']})
delete_table
Exclui a tabela da camada do lago. Você pode excluir a tabela da camada do lago usando o sufixo no nome da _SPRK tabela. Não é possível excluir uma tabela da camada de análise usando essa função. Para excluir uma tabela personalizada na camada de análise, use as funções da API do Log Analytics. Para obter mais informações, consulte Adicionar ou excluir tabelas e colunas nos Logs do Azure Monitor.
data_provider.delete_table({table_name}, [database_name], [database_id])
Parameters:
-
table_name(str): O nome da tabela a ser excluída. -
database_name(str, optional): O nome do banco de dados (espaço de trabalho) que contém a tabela. O padrão éSystem tables. -
database_id(str, opcional): O identificador exclusivo do banco de dados se os nomes dos espaços de trabalho não forem exclusivos.
Returns:
-
dict: Um dicionário que contém o resultado da operação de exclusão.
Example:
data_provider.delete_table("customtable_SPRK", "System tables")