Ingerir dados do 1Password
Beta
Este recurso está em Beta. To use it, a workspace admin must turn on Lakeflow Connect for 1Password Event Logs from the Previews page. See Gerenciar Databricks previews.
Crie um pipeline de ingestão de logs de eventos do 1Password gerenciado no Lakeflow Connect para ingerir dados da API de eventos no Databricks.
Requisitos
-
Para criar um pipeline de ingestão, primeiro atenda aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O compute serverless deve estar habilitado para o seu workspace. Consulte Serverless compute requirements.
-
Para criar uma nova conexão, você deve ter os privilégios
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.Se o conector oferecer suporte à criação de pipeline baseada em IU, um administrador poderá criar a conexão e o pipeline ao mesmo tempo concluindo os passos desta página. No entanto, se os usuários que criarem pipelines usarem a criação de pipeline baseada em API ou forem usuários não administradores, um administrador deverá primeiro criar a conexão no Catalog Explorer. Consulte Conectar-se a fontes de ingestão gerenciadas.
-
Para usar uma conexão existente, você deve ter os privilégios
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter os privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para ingerir do 1Password, primeiro configure a autenticação no Databricks e crie uma conexão. Consulte Configurar a autenticação para o 1Password e Criar uma conexão com os Logs de Eventos do 1Password.
Criar um pipeline de ingestão
Para ver a lista de tabelas de origem compatíveis, consulte Tabelas de origem compatíveis.
- Declarative Automation Bundles
- Databricks notebook
Use os Pacotes de Automação Declarativa para gerenciar pipelines do 1Password Event Logs como código. Os pacotes podem conter definições YAML de jobs e tarefas, são gerenciados usando a CLI do Databricks e podem ser compartilhados e executados em diferentes workspaces de destino (como desenvolvimento, staging e produção). Para obter mais informações, consulte O que são os Pacotes de Automação Declarativa?.
-
Crie um bundle usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicionar dois novos arquivos de recurso ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/one_password_event_logs_pipeline.yml). Veja pipeline.ingestion_definition e Exemplos. - Um arquivo de definição de job que controla a frequência da ingestão de dados (por exemplo,
resources/one_password_event_logs_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implante o pipeline usando a CLI do Databricks:
Bashdatabricks bundle deploy
- Importe o seguinte notebook para o seu workspace do Databricks:
-
Deixe as células um e dois como estão. Não modifique.
-
Modifique a terceira célula com os detalhes de configuração do seu pipeline. Consulte pipeline.ingestion_definition e Exemplos.
-
Configure opcionalmente as configurações avançadas de pipeline. Consulte Padrões comuns para pipelines de ingestão gerenciados.
-
Clique em Executar tudo .
Exemplos
O conector de Logs do 1Password disponibiliza 3 tabelas de origem no esquema de origem default. Ingerir as tabelas selecionadas ou o esquema inteiro.
Ingerir tabelas específicas
Use esta opção para personalizar a nomenclatura de destino de cada tabela.
- Declarative Automation Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere as três tabelas de Logs de Eventos do 1Password:
resources:
pipelines:
one_password_event_logs_pipeline:
name: one_password_event_logs_pipeline
catalog: 'main'
target: 'one_password_event_logs_data'
ingestion_definition:
connection_name: one_password_event_logs_connection
objects:
- table:
source_schema: 'default'
source_table: 'audit_events'
destination_catalog: 'main'
destination_schema: 'one_password_event_logs_data'
destination_table: 'audit_events'
- table:
source_schema: 'default'
source_table: 'item_usages'
destination_catalog: 'main'
destination_schema: 'one_password_event_logs_data'
destination_table: 'item_usages'
- table:
source_schema: 'default'
source_table: 'sign_in_attempts'
destination_catalog: 'main'
destination_schema: 'one_password_event_logs_data'
destination_table: 'sign_in_attempts'
A seguinte especificação de pipeline ingere as três tabelas de Logs de Eventos do 1Password:
pipeline_name = "one_password_event_logs_pipeline"
connection_name = "<one-password-event-logs-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "audit_events",
"destination_catalog": "main",
"destination_schema": "one_password_event_logs_data",
"destination_table": "audit_events"
}
},
{
"table": {
"source_schema": "default",
"source_table": "item_usages",
"destination_catalog": "main",
"destination_schema": "one_password_event_logs_data",
"destination_table": "item_usages"
}
},
{
"table": {
"source_schema": "default",
"source_table": "sign_in_attempts",
"destination_catalog": "main",
"destination_schema": "one_password_event_logs_data",
"destination_table": "sign_in_attempts"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Ingerir o esquema inteiro
Use esta opção para ingerir todas as tabelas de origem de Logs de Eventos do 1Password em um único esquema de destino com uma única declaração.
- Declarative Automation Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere todas as tabelas de Logs de Eventos do 1Password suportadas em um esquema de destino:
resources:
pipelines:
one_password_event_logs_pipeline:
name: one_password_event_logs_pipeline
catalog: 'main'
target: 'one_password_event_logs_data'
ingestion_definition:
connection_name: one_password_event_logs_connection
objects:
- schema:
source_schema: 'default'
destination_catalog: 'main'
destination_schema: 'one_password_event_logs_data'
A especificação de pipeline a seguir ingere todas as tabelas de Logs de Eventos do 1Password compatíveis em um esquema de destino:
pipeline_name = "one_password_event_logs_pipeline"
connection_name = "<one-password-event-logs-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"schema": {
"source_schema": "default",
"destination_catalog": "main",
"destination_schema": "one_password_event_logs_data"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de job do Declarative Automation Bundles
O arquivo a seguir é um exemplo de arquivo de definição de job para uso com os Pacotes de Automação Declarativa. O job é executado diariamente.
- Declarative Automation Bundles
resources:
jobs:
one_password_event_logs_job:
name: one_password_event_logs_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: one_password_event_logs_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.one_password_event_logs_pipeline.id}
Padrões comuns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Próximos passos
Start, programar, and set alerts on your pipeline. See Common pipeline maintenance tasks.