Смонтировать эфемерный диск в функцию
Примечание
Функциональность находится на стадии Preview. Чтобы получить доступ, обратитесь в техническую поддержку
- В консоли управления
перейдите в каталог, в котором находится функция. - Выберите сервис Cloud Functions.
- Выберите функцию.
- В меню слева выберите
Редактор. - В блоке Эфемерный диск нажмите Добавить эфемерный диск и укажите в поле:
- Точка монтирования — имя точки монтирования. Директория, к которой монтируется эфемерный диск, будет доступна по пути
/function/storage/<точка_монтирования>
. - Размер диска — размер памяти, который вы хотите выделить для монтируемого эфемерного диска.
- Точка монтирования — имя точки монтирования. Директория, к которой монтируется эфемерный диск, будет доступна по пути
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы смонтировать эфемерный диск в функцию, выполните команду:
yc serverless function version create \
--function-name=<имя_функции> \
--runtime <среда_выполнения> \
--entrypoint <точка_входа> \
--memory <объем_RAM> \
--execution-timeout <максимальное_время_выполнения> \
--source-path <путь_к_ZIP-архиву> \
--service-account-id <идентификатор_сервисного_аккаунта> \
--mount type=ephemeral-disk,mount-point=<точка_монтирования>,size=<размер_диска>
Где:
--function-name
— имя функции.--runtime
— среда выполнения.--entrypoint
— точка входа, указывается в формате<имя_файла_без_расширения>.<имя_обработчика>
.--memory
— объем RAM.--execution-timeout
— максимальное время выполнения функции до таймаута.--source-path
— ZIP-архив c кодом функции и необходимыми зависимостями.--service-account-id
— идентификатор сервисного аккаунта.--mount
— параметры монтирования эфемерного диска:type=ephemeral-disk
— тип монтируемой файловой системы.mount-point
— имя точки монтирования. Директория, к которой смонтируется диск, будет доступна по пути/function/storage/<точка_монтирования>
.size
— размер эфемерного диска в ГБ. Например:size=5GB
.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы смонтировать эфемерный диск в функцию:
-
Откройте файл конфигурации Terraform и добавьте к описанию функции блок
mounts
:resource "yandex_function" "ephemeral_storage_function" { name = "<имя_функции>" user_hash = "<хеш_функции>" runtime = "<среда_выполнения>" entrypoint = "<точка_входа>" memory = "<объем_RAM>" execution_timeout = "<максимальное_время_выполнения>" service_account_id = "<идентификатор_сервисного_аккаунта>" content { zip_filename = "<путь_к_ZIP-архиву>" } mounts { name = "<точка_монтирования>" ephemeral_disk { size_gb = <размер_диска> } } }
Где:
mounts
— параметры монтирования эфемерного диска:name
— имя точки монтирования. Директория, к которой смонтируется диск, будет доступна по пути/function/storage/<точка_монтирования>
.size_gb
— размер эфемерного диска в ГБ. Например:size=5GB
.
Более подробную информацию о параметрах ресурса
yandex_function
см. в документации провайдера . -
Примените изменения:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
Проверить изменение функции и ее настройки можно в консоли управления
yc serverless function version get <идентификатор_версии_функции>
Чтобы смонтировать эфемерный диск в функцию, воспользуйтесь методом REST API createVersion для ресурса Function или вызовом gRPC API FunctionService/CreateVersion.