Вы можете использовать переменные среды для настройки каталога установки файлов, места хранения выводов и способов хранения настроек подключения и логирования. Эти настройки отделены от логики приложения, поэтому вам не требуется обновлять код функции при изменении настроек.
В следующем фрагменте кода 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 obsGetObject(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'
Используя переменную среды obs_output_bucket, вы можете гибко задать OBS Бакет, используемый для хранения изображений вывода.
Рисунок 1 Настройка переменной среды
