Envie logs para o Amazon S3
Crie um stream que grava os logs das suas aplicações como objetos em um bucket do Amazon S3, no Azion Console ou com a Azion API, e confirme a entrega.
Você pode enviar os logs de um stream para um bucket do Amazon S3 pelo Azion Console ou com a Azion API. Para enviá-los a um bucket do Azion Object Storage, cuja credencial precisa de outras capacidades, consulte Envie dados do Data Stream para o Object Storage.
Data Stream grava cada lote de linhas de log como um objeto no bucket. No formulário do stream, o endpoint é definido no campo Connector, e o Amazon S3 é a opção Simple Storage Service (S3) desse campo. Para ver todos os campos e os limites deles, consulte Endpoints.
O exemplo coleta as requisições de um workload com a fonte de dados Applications.
Selecione a interface uma vez. Os pré-requisitos e todas as tarefas abaixo mostram só esse caminho.
Pré-requisitos
- Uma conta Azion com a permissão Edit Data Stream. Para ver as permissões, consulte Configurações do stream.
- Um workload na conta que recebe requisições.
- Um bucket do Amazon S3. O bucket precisa existir antes de o stream enviar dados para ele. Ele pode usar criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3).
- O código da região do bucket, como
us-east-1. - Uma credencial do AWS Identity and Access Management (IAM) com um access key ID e uma secret access key. A credencial precisa da permissão
s3:ListBucket, para listar os objetos do bucket, e da permissãos3:PutObject, para gravar objetos nele.
- Acesso ao Azion Console. Para entrar, consulte Acessar Azion Console.
Crie o stream
O stream coleta do workload que você escolher, por meio de um filtro de workloads. Ao contrário do sampling, um filtro de workloads mantém seus outros streams ativos.
Para criar o stream com a API, envie uma requisição POST para https://api.azion.com/v4/workspace/stream/streams. Substitua [TOKEN VALUE] pelo seu personal token, <workload-id> pelo ID do seu workload e os valores do bucket pelos seus:
A fonte de dados workloads é Applications no Console, e o template 2 é Applications Event Collector. A API responde 201 com o stream armazenado:
Guarde o id: ele identifica o stream em todas as requisições seguintes, como /v4/workspace/stream/streams/12349. Para ver todas as chaves do corpo, consulte Configurações do stream.
A API e o Console salvam o stream sem contatar o bucket. Uma URL, uma região ou uma credencial errada só aparece quando o stream envia. Uma ativação entra em vigor depois de um a dois minutos.
Confirme a entrega
Real-Time Events registra todos os envios de um stream, entregues ou não, com o status code que o endpoint retornou. Envie algumas requisições ao workload e espere cerca de um minuto: um stream envia um lote a cada 60 segundos, ou antes, quando chega a 2.000 linhas de log.
Para ler os envios com a API, consulte o dataset dataStreamedEvents da API GraphQL do Real-Time Events. Substitua as datas por um intervalo que cubra a ativação do stream:
A API responde 200 com um registro para cada envio, do mais recente para o mais antigo:
Um statusCode 200 significa que o bucket aceitou o lote, e streamedLines e dataStreamed dão o tamanho dele em linhas de log e em bytes. Uma lista dataStreamedEvents vazia significa que o stream não enviou nada no intervalo. Para ver todos os campos, consulte Campos da API GraphQL do Real-Time Events.
Um status diferente de 200 é a resposta do endpoint, e 503 significa que Data Stream encontrou o endpoint indisponível. Para ver as causas, consulte Solucionar problemas de Data Stream.
No bucket, o nome de cada objeto é o Object Key Prefix, uma /, a data e a hora do envio no formato YYYY/MM/DD/hh/mm/ e um UUID. Com o prefixo azion/logs, o nome de um objeto começa com um caminho como azion/logs/2026/01/01/12/02/, seguido do UUID.