> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Variabili d'ambiente

> Leggi, aggiungi, sostituisci e rimuovi le variabili d'ambiente di un'applicazione con client.apps.envs.

Le variabili d'ambiente si trovano su `client.apps.envs`. Ogni metodo accetta come primo argomento l'id dell'app e restituisce le variabili dell'app come un semplice `dict[str, str]`.

<Note>
  Le app statiche non hanno variabili d'ambiente: ogni metodo risponde 400 `STATIC_APP_ENV_NOT_SUPPORTED`. Una modifica ha effetto al [riavvio](/it/sdks/py/managing_application#avvio-arresto-e-riavvio) successivo.
</Note>

## Leggere le variabili

```python theme={"system"}
envs = client.apps.envs.get(app_id)

print(envs.get("NODE_ENV"))
```

## Aggiungere o aggiornare variabili

`envs.set(app_id, envs)` aggiunge le chiavi indicate e sovrascrive quelle già esistenti. Le altre variabili vengono mantenute. Restituisce tutte le variabili dopo la modifica.

```python theme={"system"}
envs = client.apps.envs.set(app_id, {
    "NODE_ENV": "production",
    "LOG_LEVEL": "info",
})
```

## Sostituire tutte le variabili

`envs.replace(app_id, envs)` sostituisce **tutte** le variabili con l'insieme indicato. Le chiavi non presenti nel dict vengono rimosse. `{}` le cancella tutte.

```python theme={"system"}
client.apps.envs.replace(app_id, {"NODE_ENV": "production"})
```

## Rimuovere variabili

`envs.delete(app_id, keys)` rimuove le chiavi indicate e restituisce le variabili rimanenti. `keys` è una lista (qualsiasi iterabile di stringhe) o una singola chiave.

```python theme={"system"}
remaining = client.apps.envs.delete(app_id, ["LOG_LEVEL"])

# A single key also works
remaining = client.apps.envs.delete(app_id, "LOG_LEVEL")
```

## Limiti ed errori

| Status | Codice                         | Quando                                                                     |
| ------ | ------------------------------ | -------------------------------------------------------------------------- |
| 400    | `STATIC_APP_ENV_NOT_SUPPORTED` | L'app è statica                                                            |
| 400    | `INVALID_ENV_CONTENT`          | Le variabili non sono un oggetto valido (o, per `delete`, una lista vuota) |
| 400    | `TOO_MANY_ENV_VARS`            | Il risultato avrebbe più di 256 variabili                                  |
| 400    | `ENV_NAME_TOO_LONG`            | Una chiave supera i 1024 caratteri                                         |
| 400    | `ENV_CONTENT_TOO_LONG`         | Un valore supera i 4096 caratteri                                          |
| 400    | `READ_FAILED`                  | Il cluster non è riuscito a leggere le variabili                           |
