- Обучающие материалы
- Вопросы и ответы
- Вопросы по функциям
- Какие среды выполнения поддерживает FunctionGraph?
- Поддерживает ли FunctionGraph библиотеки классов?
- Какие события могут быть триггерами для функции?
- Поддерживает ли FunctionGraph переменные среды?
- Поддерживает ли FunctionGraph управление версиями функций?
- Есть ли правила или ограничения по архивации проектов функций?
- Как с помощью функций FunctionGraph получить доступ к MySQL?
- Как при использовании CLI установить прокси-сервер?
- Почему у IAM пользователя может недоставать прав на работу с FunctionGraph?
- Сколько дискового пространства выделяется на функцию?
- Поддерживает ли FunctionGraph потоки (threads) и процессы (processes)?
- Как узнать фактический размер памяти, которая используется для выполнения функции?
- Есть ли риски, связанные с безопасностью, при хранении конфиденциальной информации в переменных средах?
- Сколько времени занимает выполнение функции?
- Что делать, если при использовании триггера APIG функция возвращается с кодом ошибки 500?
- Как с помощью функций FunctionGraph получить доступ к Redis?
- Каким образом функция считывает файлы?
- Поддерживает ли FunctionGraph расширение функций?
- Как можно создать зависимости функции?
- Как преобразовать вывод функции в JSON-формате из Unicode?
- Тарификация
- Термины и сокращения
- Товарные знаки
- Обратиться в поддержку
Поддерживает ли 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 obsGetObject(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».