Configuración de variables de entorno
Puede configurar la configuración de cifrado y las variables de entorno para pasar dinámicamente la configuración al código de función y las bibliotecas sin cambiar el código.
Por ejemplo, para Node.js, la configuración de cifrado y los valores de las variables de entorno se pueden obtener de getUserData(string key) en Context. Para obtener más información, consulte Desarrollo de funciones en Node.js. Para obtener más información sobre otros tiempos de ejecución
- Las variables de entorno y la configuración de cifrado son pares clave-valor definidos por el usuario que almacenan la configuración de función. Las teclas pueden contener letras, dígitos y guiones bajos (_), y deben comenzar con una letra.
- La longitud total de la clave y el valor no puede superar los 2048 caracteres.
Parámetros preestablecidos
A continuación se enumeran los parámetros preestablecidos. No configure las variables de entorno con los mismos nombres que cualquiera de estos parámetros.
RUNTIME_PROJECT_ID
RUNTIME_FUNC_NAME
RUNTIME_FUNC_VERSION
RUNTIME_PACKAGE
RUNTIME_HANDLER
RUNTIME_TIMEOUT
RUNTIME_USERDATA
RUNTIME_CPU
RUNTIME_MEMORY
RUNTIME_MAX_RESP_BODY_SIZE
RUNTIME_INITIALIZER_HANDLER
RUNTIME_INITIALIZER_TIMEOUT
RUNTIME_ROOT
RUNTIME_CODE_ROOT
RUNTIME_LOG_DIR
RUNTIME_SHARE_DIR
RUNTIME_TMP_DIR
RUNTIME_SOCKET_ADDRESS
RUNTIME_USE_REPLAYABLE
RUNTIME_FSS_REPOSITORY_ROOT
_APP_SHARE_DIR
Ejemplo
Puede usar variables de entorno para configurar en qué directorio instalar archivos, dónde almacenar los resultados y cómo almacenar la configuración de conexión y registro. Estos ajustes están desacoplados de la lógica de la aplicación, por lo que no es necesario actualizar el código de función al cambiar los ajustes.
En el siguiente fragmento de código, obs_output_bucket es el bucket utilizado para almacenar imágenes procesadas.
def handler(event, context): srcBucket, srcObjName = getObsObjInfo4OBSTrigger(event) obs_address = context.getUserData('obs_address') outputBucket = context.getUserData('obs_output_bucket') if obs_address is None: obs_address = '{obs_address_ip}' if outputBucket is None: outputBucket = 'casebucket-out' ak = context.getAccessKey() sk = context.getSecretKey() # download file uploaded by user from obs GetObject(obs_address, srcBucket, srcObjName, ak, sk) outFile = watermark_image(srcObjName) # Upload converted files to a new OBS bucket. PostObject (obs_address, outputBucket, outFile, ak, sk) return 'OK'
Usando la variable de entorno obs_output_bucket, puede configurar de forma flexible el bucket OBS utilizado para almacenar imágenes de salida.