Поддерживает ли FunctionGraph переменные среды?

Да, переменные среды можно настроить для динамической передачи настроек в код и библиотеки без внесения каких-либо изменений непосредственно в код функции.

Переменные среды можно использовать для следующих настроек:

  • Определение каталога для установки файлов.

  • Условия хранения выходных данных.

  • Условия хранения параметров подключения и журнала логов.

Данные настройки не связаны с логикой приложения, поэтому обновление кода при изменении параметров не требуется.

Например, во фрагменте кода ниже obs_output_bucket — это бакет, который используется для хранения обработанных изображений.

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)
    # Uploads converted files to a new OBS bucket.
    PostObject (obs_address, outputBucket, outFile, ak, sk)

    return 'OK'<!DOCTYPE html>

Используя переменную среду obs_output_bucket, можно гибко настроить бакет OBS для хранения изображений. Для этого в данном примере во вкладке Configurations в поле Environment Variables в качестве ключа (Key) нужно ввести «obs_output_bucket», а в значение (value), например — «obs_image».

Запустили Evolution free tier
для Dev & Test
Получить