# node:os

O módulo `node:os` fornece funções e propriedades utilitárias do sistema operacional, como descreve a [documentação do os do Node.js](https://nodejs.org/api/os.html). No Azion Runtime, o build aceita `import os from "node:os"`, e todos os membros listados abaixo funcionam sem lançar erros, em uma function com deploy feito e com `azion dev`.

Os valores são os mesmos nos dois ambientes e, por isso, não identificam a máquina que executa o seu código. `os.platform()` retorna `linux` e `os.type()` retorna `Linux`. `os.homedir()` retorna `/`, `os.tmpdir()` retorna `/tmp`, `os.endianness()` retorna `LE` e `os.EOL` é `\n`. `os.arch()`, `os.release()`, `os.hostname()`, `os.machine()` e `os.version()` retornam uma string vazia, e `os.totalmem()`, `os.freemem()` e `os.uptime()` retornam `0`. `os.availableParallelism()` retorna `8`, `os.cpus()` retorna 8 entradas e `os.networkInterfaces()` lista uma interface, `lo0`.

---

## Exemplo

A function abaixo lê o nome da plataforma, registra esse nome em log e o retorna no corpo da resposta:

```javascript
/**
 * An example of using the Node.js OS API in an Azion Function.
 * @example
 * // Build and run locally with the Azion CLI:
 * azion build
 * azion dev
 */
import os from "node:os";

/**
 * An example of using the Node.js OS API in an Azion Function.
 * @param {*} event
 * @returns Promise<Response>
 */
const main = async (event) => {
  return new Promise((resolve, reject) => {
    const platform = os.platform();
    console.log("Platform", platform);
    resolve(new Response(`platform: ${platform}`));
  });
};

export default main;
```

A function registra `Platform linux` em log e responde com este corpo:

```text
platform: linux
```

---

## Recursos relacionados

- [APIs do Node.js](/pt-br/documentacao/devtools/runtime/node.md): Todos os módulos do Node.js que o Azion Runtime resolve e como cada um se comporta.
- [node:process](/pt-br/documentacao/devtools/runtime/node/process.md): O objeto process, cujas propriedades de plataforma e arquitetura também são vazias.
- [Use APIs do Node.js com polyfills](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/functions-e-runtime/use-polyfills.md): Como o build resolve APIs do Node.js por meio de polyfills, mostrado em um projeto JavaScript.
- [Handlers](/pt-br/documentacao/devtools/runtime/api-reference/handlers.md): O formato de handler recomendado e o aviso que `azion build` imprime para o formato `export default main` que este exemplo usa.
