Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-07 GMT+08:00

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.

Figura 1 Adición de variables de entorno

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.

Figura 2 Variables de entorno