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.
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.