Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> FunctionGraph> Guia de usuário> Configuração da função> Configuração dos variáveis de ambiente
Atualizado em 2022-11-16 GMT+08:00

Configuração dos variáveis de ambiente

Você pode configurar configurações de criptografia e variáveis de ambiente para passar configurações dinamicamente para o código de função e bibliotecas sem alterar o código.

Figura 1 Adicionamento de variáveis de ambiente

Por exemplo, para Node.js, configurações de criptografia e valores de variáveis de ambiente podem ser obtidos de getUserData(string key) em Context. Para obter detalhes, consulte Desenvolvimento de funções no Node.js Para obter detalhes sobre outros tempos de execução, consulte Desenvolvimento de funções.

  • Variáveis de ambiente e configurações de criptografia são pares chave-valor definidos pelo usuário que armazenam configurações de função. As teclas podem conter letras, dígitos e sublinhados (_), e devem começar com uma letra.
  • O comprimento total da chave e do valor não pode exceder 2048 caracteres.

Parâmetros predefinidos

A seguir, lista os parâmetros predefinidos. Não configure variáveis de ambiente com os mesmos nomes de qualquer um desses 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

Exemplo

Você pode usar variáveis de ambiente para configurar em qual diretório instalar os arquivos, onde armazenar as saídas e como armazenar as configurações de conexão e registro. Essas configurações são dissociadas da lógica do aplicativo, para que você não precise atualizar seu código de função quando alterar as configurações.

No snippet de código a seguir, obs_output_bucket é o intervalo usado para armazenar imagens processadas.

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'

Uso do variável de ambiente obs_output_bucket, você pode definir de forma flexível o bucket do OBS usado para armazenar imagens de saída.

Figura 2 Variáveis de ambiente