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à.
Imposta le variabili di ambiente in un ambiente di coda
Molte applicazioni e framework utilizzano variabili di ambiente per controllare le impostazioni delle funzionalità, i livelli di registrazione e la configurazione dello schermo. È possibile utilizzare gli ambienti Open Job Description (OpenJD)
Ambito della variabile di ambiente
AWS Deadline Cloud applica le variabili di ambiente dagli ambienti di coda collegati a una coda. All'interno di un modello di lavoro, puoi anche definire le variabili di ambiente a livello di processo e fase utilizzando gli ambienti OpenJD.
-
Ambiente di coda: un modello da allegare a una coda in Deadline Cloud. Le variabili si applicano a tutti i lavori inviati alla coda. È possibile impostare variabili con una
variablesmappa per valori fissi o utilizzare script per valori dinamici. -
Ambiente di lavoro: definito
jobEnvironmentsin un modello di lavoro. Le variabili si applicano a tutte le fasi e le attività del lavoro. Una variabile a livello di processo sostituisce una variabile a livello di coda con lo stesso nome. -
Ambiente a fasi: definito in un modello di lavoro.
stepEnvironmentsLe variabili si applicano solo alle attività di quella fase. Una variabile a livello di fase sostituisce una variabile a livello di processo o di coda con lo stesso nome.
Impostazione delle variabili in un ambiente di coda
È possibile impostare le variabili di ambiente in un ambiente di coda utilizzando una variables mappa per valori fissi o utilizzando un'scriptonEnterazione per valori dinamici.
Il seguente modello di ambiente di coda utilizza una variables mappa su cui impostare la QT_QPA_PLATFORM variabileoffscreen, che consente alle applicazioni che utilizzano Qt Framework
specificationVersion: 'environment-2023-09'
environment:
name: QtOffscreen
variables:
QT_QPA_PLATFORM: offscreen
Per valori dinamici, come la modifica PATH o l'attivazione di ambienti virtuali, usa uno script che stampa le righe nel formato openjd_env: su stdout. Il VAR=valueopenjd_env: prefisso è obbligatorio. L'utilizzo di echoexport, o altri meccanismi di shell senza il prefisso non propaga le variabili ai job e alle attività.
Il seguente modello di ambiente di coda imposta la QT_QPA_PLATFORM variabile utilizzando uno script.
specificationVersion: 'environment-2023-09'
environment:
name: QtOffscreen
script:
actions:
onEnter:
command: bash
args:
- "{{Env.File.Enter}}"
embeddedFiles:
- name: Enter
type: TEXT
data: |
#!/bin/env bash
set -euo pipefail
echo "openjd_env: QT_QPA_PLATFORM=offscreen"
Per collegare un ambiente di coda alla tua coda, usa la console Deadline Cloud o il. AWS CLI Per ulteriori informazioni, consulta Creare un ambiente di coda nella Guida per l'utente di AWS Deadline Cloud. Il AWS CLI comando seguente crea un ambiente di coda da un file modello.
aws deadline create-queue-environment \ --farm-idFARM_ID\ --queue-idQUEUE_ID\ --priority 1 \ --template-type YAML \ --template file://my-queue-env.yaml
Per esempi più complessi, come la creazione e l'attivazione di ambienti virtuali conda, consulta gli esempi di ambiente di coda di Deadline Cloud su
Impostazione delle variabili in un modello di lavoro
In un modello di lavoro, aggiungi una variables mappa a una stepEnvironments voce jobEnvironments or. Ogni voce è una coppia chiave-valore in cui la chiave è il nome della variabile e il valore è il valore della variabile.
Il seguente modello di lavoro imposta la variabile di QT_QPA_PLATFORM ambiente suoffscreen, che consente alle applicazioni che utilizzano Qt Framework
specificationVersion: 'jobtemplate-2023-09'
name: MyJob
jobEnvironments:
- name: JobEnv
variables:
QT_QPA_PLATFORM: offscreen
È possibile impostare più variabili in un'unica definizione di ambiente.
jobEnvironments:
- name: JobEnv
variables:
JOB_VERBOSITY: MEDIUM
JOB_PROJECT_ID: my-project-id
JOB_ENDPOINT_URL: https://my-host-name/my/path
QT_QPA_PLATFORM: offscreen
È possibile fare riferimento ai parametri del lavoro in valori variabili utilizzando la {{Param. sintassi.ParameterName}}
jobEnvironments:
- name: JobEnv
variables:
JOB_EXAMPLE_PARAM: "{{Param.ExampleParam}}"
Per sovrascrivere una variabile a livello di job per un passaggio specifico, definite una stepEnvironments voce con lo stesso nome di variabile. L'esempio seguente definisce JOB_PROJECT_ID a livello di processo il valoreproject-12, quindi sostituisce il valore a livello di fase con. step-project-12 Le attività della fase utilizzano il valore a livello di fase.
specificationVersion: 'jobtemplate-2023-09'
name: MyJob
jobEnvironments:
- name: JobEnv
variables:
JOB_PROJECT_ID: project-12
steps:
- name: MyStep
stepEnvironments:
- name: StepEnv
variables:
JOB_PROJECT_ID: step-project-12
Prova: esegui l'esempio della variabile di ambiente
L'archivio di esempi di Deadline Cloud include un job bundle che dimostra l'impostazione e
Prerequisiti
-
Se non disponi di una farm Deadline Cloud con una coda e una flotta Linux associata, segui l'esperienza di onboarding guidata nella console Deadline Cloud
per crearne una con le impostazioni predefinite. -
Se non disponi della CLI di Deadline Cloud AWS e del monitor Deadline Cloud sulla tua workstation, segui i passaggi in Configurare i mittenti di Deadline Cloud.
-
Utilizzalo per clonare l'archivio di esempi
gitdi Deadline Cloud. GitHubgit clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles
Esecuzione dell'esempio
-
Utilizza la CLI di Deadline Cloud per inviare
job_env_varsil campione.deadline bundle submit job_env_vars -
Nel monitor Deadline Cloud, seleziona il nuovo lavoro per monitorarne l'avanzamento. Dopo che la Linux flotta associata alla coda ha un lavoratore disponibile, il lavoro viene completato in pochi secondi. Seleziona l'attività, quindi scegli Visualizza registri nel menu in alto a destra del pannello delle attività.
Confronto delle azioni della sessione con le relative definizioni
La visualizzazione del registro mostra tre azioni di sessione. Apri il file job_env_vars/template.yaml
-
Seleziona l'azione Avvia sessione JobEnv. L'output del registro mostra le variabili di ambiente a livello di processo impostate.
Setting: JOB_VERBOSITY=MEDIUM Setting: JOB_EXAMPLE_PARAM=An example parameter value Setting: JOB_PROJECT_ID=project-12 Setting: JOB_ENDPOINT_URL=https://internal-host-name/some/path Setting: QT_QPA_PLATFORM=offscreenLe righe seguenti del modello di lavoro definiscono questo ambiente.
jobEnvironments: - name: JobEnv variables: JOB_VERBOSITY: MEDIUM JOB_EXAMPLE_PARAM: "{{Param.ExampleParam}}" JOB_PROJECT_ID: project-12 JOB_ENDPOINT_URL: https://internal-host-name/some/path QT_QPA_PLATFORM: offscreen -
Seleziona l'azione Avvia StepEnv sessione. L'output del registro mostra le variabili a livello di fase, incluse quelle sostituite.
JOB_PROJECT_IDSetting: STEP_VERBOSITY=HIGH Setting: JOB_PROJECT_ID=step-project-12Le righe seguenti del modello di lavoro definiscono questo ambiente.
stepEnvironments: - name: StepEnv variables: STEP_VERBOSITY: HIGH JOB_PROJECT_ID: step-project-12 -
Seleziona l'azione Task run session. L'output del registro mostra le variabili di ambiente unite disponibili per l'attività. Si noti che
JOB_PROJECT_IDutilizza il valore a livello di fase.step-project-12Environment variables starting with JOB_*: JOB_ENDPOINT_URL=https://internal-host-name/some/path JOB_EXAMPLE_PARAM='An example parameter value' JOB_PROJECT_ID=step-project-12 JOB_VERBOSITY=MEDIUM Environment variables starting with STEP_*: STEP_VERBOSITY=HIGH