srv-img FunctionGraph

Поддерживает ли 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».

Advanced