Pular para o conteúdo principal
Zenovay
Scale Plano10 minutosIntermediário

Exportação de warehouse para AWS S3

Envie seus agregados diários de analytics do Zenovay para seu próprio bucket AWS S3 em um agendamento. Disponível nos planos Scale e acima.

warehouses3awsexportscale
Última atualização:
Scale Plano

O Zenovay pode enviar seus agregados diários de analytics para seu próprio bucket AWS S3 em um agendamento. Você traz seu próprio bucket e credenciais IAM; o Zenovay assina as requisições PUT com AWS SigV4. Os dados são seus, na sua conta, com sua política de retenção — o Zenovay apenas escreve neles.

O que é exportado

A V1 exporta agregados de analytics_daily: uma linha por website por data com os mesmos números que você vê no seu painel.

ColunaDescrição
website_idUUID do website ao qual a linha pertence
dateA data que a linha agrega (UTC)
total_visitorsTotal de visitantes naquele dia
unique_visitorsVisitantes únicos naquele dia
pageviewsVisualizações de página naquele dia
bounce_rateTaxa de rejeição (0–1)
avg_session_durationDuração média da sessão em segundos

Expansão futura (BigQuery, Snowflake e conjuntos de dados mais ricos como eventos personalizados) está no roadmap. Este artigo cobre apenas o S3.

O que você vai precisar

  • Uma conta AWS
  • Um bucket S3 (qualquer região)
  • Um usuário IAM (ou role) com s3:PutObject no prefixo que você configurará — nenhuma outra permissão é necessária
  • Access key ID + secret access key para esse usuário IAM
  • Um time Zenovay no plano Scale ou acima

Passo 1 — Criar a política IAM

No console IAM da AWS, crie uma política com este conjunto mínimo de permissões. Substitua your-bucket e zenovay/ pelo bucket e prefixo que você usará.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ZenovayWarehouseExportPut",
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::your-bucket/zenovay/*"
    }
  ]
}

O Zenovay nunca lista, lê ou exclui objetos no seu bucket. A política concede apenas PutObject em um único prefixo.

Passo 2 — Criar um usuário IAM

Vincule a política do Passo 1 a um novo usuário IAM. Gere uma access key para o usuário e copie o access key ID + secret access key — você os colará no Zenovay no Passo 4.

Passo 3 — (Opcional) Política de ciclo de vida no seu bucket

Cada execução agendada escreve em:

s3://your-bucket/<prefix><team_id>/<date>/analytics_daily.csv

A chave do objeto é idempotente — uma nova execução para a mesma data sobrescreve a mesma chave. Você pode configurar uma política de ciclo de vida S3 para:

  • Mover objetos mais antigos para S3 Glacier ou Glacier Deep Archive para armazenamento de longo prazo mais barato
  • Expirar objetos após N dias/anos se você não precisar de retenção de longo prazo

Isso está totalmente sob seu controle; o Zenovay não gerencia o ciclo de vida no seu bucket.

Passo 4 — Conectar o destino no Zenovay

  1. Acesse as Settings do seu website → seção Data → aba Warehouse
  2. Clique em Add S3 destination
  3. Preencha o formulário:
CampoValor
Bucket nameyour-bucket
AWS regionA região onde está seu bucket (ex: eu-central-1)
Access key IDDo Passo 2
Secret access keyDo Passo 2
Object key prefixzenovay/ (ou qualquer prefixo; deve corresponder à sua política IAM)
ScheduleDiário ou por hora

O Zenovay criptografa sua secret access key em repouso com AES-GCM e nunca a retorna em respostas da API.

Passo 5 — Testar o destino

Após salvar, clique em Run now na linha do destino. O Zenovay irá:

  1. Ler as linhas analytics_daily do dia mais recente dos seus dados
  2. Formatar como CSV
  3. Fazer PUT em s3://your-bucket/<prefix><team_id>/<yesterday>/analytics_daily.csv

O resultado aparece em segundos. Se falhar, a mensagem de erro informa o que a AWS rejeitou — geralmente um erro de digitação no nome do bucket, incompatibilidade de região ou permissão IAM ausente.

Cadência do agendamento

  • Diário: executa uma vez a cada 24 horas por destino
  • Por hora: executa a cada hora no minuto 0

O cron horário do Zenovay processa até 200 destinos por ciclo; se o seu time tiver muitos destinos, as execuções podem ser escalonadas por alguns minutos.

Pausar, retomar, excluir

  • Pausar interrompe as execuções agendadas sem perder a configuração. O "Run now" manual ainda funciona.
  • Retomar reativa as execuções agendadas com o mesmo relógio next_run_at.
  • Excluir remove a configuração do destino E seu histórico de execuções. Os arquivos existentes no seu bucket S3 não são afetados — eles permanecem sob seu controle.

Privacidade e exclusão de conta

  • Apenas agregados; nenhum IP individual de visitante ou PII sai do Zenovay
  • Credenciais armazenadas criptografadas em repouso com AES-GCM
  • A exclusão da sua conta Zenovay apaga as credenciais criptografadas e a configuração do destino como parte da cascata padrão de direito ao esquecimento

Perguntas frequentes

Posso usar um armazenamento compatível com S3 não-AWS como MinIO, R2 ou Wasabi? Sim. Expanda Advanced (S3-compatible endpoints) no formulário de destino e cole a URL do endpoint S3 do seu provedor (por exemplo https://abc123.r2.cloudflarestorage.com). Para Cloudflare R2 e outros destinos não-AWS, selecione a região Auto (Cloudflare R2 / S3-compatible). O endpoint deve estar acessível publicamente — para testar contra uma instância MinIO local, exponha-a através de um túnel (cloudflared ou ngrok) e use a URL pública.

E o BigQuery e Snowflake? Virão em uma versão futura. O mesmo agendamento, restrições por plano e armazenamento de credenciais serão aplicados; apenas o conector diferirá.

Posso exportar para meu próprio bucket em uma conta AWS diferente? Sim — esse é o modelo suportado. Seu usuário IAM, seu bucket, sua conta. O Zenovay apenas assina o PUT.

Como faço o download dos dados depois que estiverem no S3? Com ferramentas padrão da AWS — aws s3 cp, o console AWS ou qualquer cliente S3. A partir daí eles são seus: consulte com Athena, carregue no Glue/Redshift/BigQuery ou alimente seus próprios pipelines.

Qual região devo escolher para o bucket? Onde suas ferramentas downstream vivem. O Zenovay não cobra taxas de saída de dados — essas ficam entre você e a AWS. Clientes da UE geralmente escolhem eu-central-1 por razões de residência de dados.

Este artigo foi útil?