Rendere le variabili di ambiente accessibili ai runtime sul lato server - AWS AmplifyHosting

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Rendere le variabili di ambiente accessibili ai runtime sul lato server

Amplify Hosting supporta l'aggiunta di variabili di ambiente alle build dell'applicazione impostandole nella configurazione del progetto nella console di Amplify. Tuttavia, per impostazione predefinita, un componente del server Next.js non ha accesso a tali variabili di ambiente. Questo comportamento è intenzionale per proteggere tutti i segreti archiviati nelle variabili di ambiente utilizzate dall'applicazione durante la fase di compilazione.

Per rendere accessibili variabili di ambiente specifiche a Next.js, puoi modificare il file delle specifiche di build di Amplify per impostarle nei file di ambiente riconosciuti da Next.js. Amplify deve essere in grado di caricare queste variabili di ambiente prima di creare l'applicazione. Il seguente esempio di specifica di build dimostra come aggiungere variabili di ambiente nella sezione dei comandi di compilazione.

version: 1 frontend: phases: preBuild: commands: - npm ci build: commands: - env | grep -e DB_HOST -e DB_USER -e DB_PASS >> .env.production - env | grep -e NEXT_PUBLIC_ >> .env.production - npm run build artifacts: baseDirectory: .next files: - '**/*' cache: paths: - node_modules/**/* - .next/cache/**/*

In questo esempio, la sezione dei comandi di compilazione include due comandi che aggiungono variabili di ambiente al.env.production file. Amplify Hosting consente all'applicazione di accedere a queste variabili quando l'applicazione riceve traffico.

La riga seguente mostra come prendere una variabile specifica dall'ambiente di compilazione e aggiungerla al.env.production file.

- env | grep -e DB_HOST -e DB_USER -e DB_PASS >> .env.production

Se le variabili esistono nell'ambiente di compilazione, il.env.production file conterrà quanto segue.

DB_HOST=localhost DB_USER=myuser DB_PASS=mypassword

La seconda riga mostra come aggiungere una variabile di ambiente con un prefisso specifico al.env.production file.

- env | grep -e NEXT_PUBLIC_ >> .env.production

Se nell'ambiente di compilazione esistono più variabili con ilNEXT_PUBLIC_ prefisso, il.env.production file avrà un aspetto simile al seguente.

NEXT_PUBLIC_ANALYTICS_ID=abcdefghijk NEXT_PUBLIC_GRAPHQL_ENDPOINT=uowelalsmlsadf NEXT_PUBLIC_SEARCH_KEY=asdfiojslf NEXT_PUBLIC_SEARCH_ENDPOINT=https://search-url