# WritableStream

A interface WritableStream é uma parte da API Streams que fornece uma maneira padronizada de gravar dados de streaming em uma sink (ou destino). Ela vem com seu próprio mecanismo de fila e backpressure para garantir que os dados sejam escritos de maneira eficiente.

Em uma function da Azion, uma `WritableStream` permite produzir a saída de forma incremental, em vez de armazenar uma resposta inteira em memória. Isso é especialmente útil ao canalizar ou transformar grandes payloads, porque o backpressure embutido evita que a função sobrecarregue o destino enquanto os dados fluem próximos ao usuário final.

## Construtor

[WritableStream()](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream/WritableStream)
Cria um novo objeto writable.

## Propriedades

[WritableStream.locked](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream/locked)
Um booleano que indica se a WritableStream está presa a um writer.

## Métodos

[WritableStream.abort()](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream/abort)
Aborta a stream, sinalizando que o produtor não pode mais gravar com sucesso na stream e deve ser imediatamente movido para um estado de erro, com qualquer gravação na fila descartada.

[WritableStream.close()](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream/close)
Fecha o fluxo.

[WritableStream.getWriter()](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream/getWriter)
Retorna uma nova instância de WritableStreamDefaultWriter e bloqueia o fluxo para essa instância. Enquanto a stream está bloqueada, nenhum outro writer pode ser adquirido até que este seja liberado.

## Casos de uso

- Transmitir um corpo de resposta grande ou gerado dinamicamente ao cliente em pedaços, em vez de mantê-lo todo em memória.
- Atuar como a extremidade gravável de um `TransformStream` quando você precisa reescrever ou filtrar um payload enquanto ele passa por uma function.
- Canalizar dados de um `ReadableStream` de upstream para uma sink enquanto o backpressure embutido ajusta o produtor ao ritmo do consumidor.
- Abortar uma gravação em andamento com `abort()` quando ocorre um erro, descartando de forma limpa a saída parcial ou inválida.

## Recursos relacionados

- [WritableStream na MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream)
- [Runtime APIs](/pt-br/documentacao/produtos/applications/functions/runtime-apis/javascript/fetch/)

Para mais informações sobre [o WritableStream](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream), visite MDN Web Docs.





---