Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Functions
  • Сопоставление с другими сервисами Yandex Cloud
    • Все инструкции
    • Получение IAM-токена сервисного аккаунта с помощью функции
    • Подключение к управляемым БД из функции
      • Добавить переменные окружения
      • Указать облачную сеть
      • Передать секреты Yandex Lockbox
      • Выделить память для директории /tmp
        • Смонтировать бакеты
        • Смонтировать эфемерный диск
      • Посмотреть графики мониторинга
      • Миграция в зону ru-central1-d
      • Удалить версию функции
      • Удалить функцию
    • Просмотр операций с ресурсами сервиса
  • Инструменты
  • Правила тарификации
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы
  1. Пошаговые инструкции
  2. Управление функцией
  3. Смонтировать внешние ресурсы на файловую систему функции
  4. Смонтировать бакеты

Смонтировать бакеты в функцию

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.

Вы можете монтировать в функцию бакеты Yandex Object Storage. При монтировании бакета создается новая версия функции.

Чтобы смонтировать бакеты в функцию:

Консоль управления
CLI
Terraform
API
  1. В консоли управления перейдите в каталог, в котором находится функция.

  2. В списке сервисов выберите Cloud Functions.

  3. Выберите функцию.

  4. Перейдите на вкладку Редактор.

  5. В блоке Параметры выберите или создайте новый сервисный аккаунт с ролью:

    • storage.viewer, чтобы только читать данные из смонтированного бакета.
    • storage.uploader, чтобы читать данные из смонтированного бакета и записывать их в него.
  6. Раскройте секцию Дополнительные настройки.

  7. В блоке Смонтированные бакеты:

    1. Нажмите Добавить бакет.

    2. Укажите в поле:

      • Точка монтирования — точку монтирования. Директория, к которой смонтируется бакет, будет доступна по пути /function/storage/<точка_монтирования>.
      • Бакет — бакет, который вы хотите смонтировать. При необходимости создайте новый бакет.
      • Папка — папку в бакете, которая будет смонтирована в контейнер. Если поле пустое, смонтируется весь бакет.
    3. Чтобы запретить запись в бакет, включите опцию Только чтение. Если опция включена, данные из смонтированного бакета будут доступны только для чтения.

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

  8. Нажмите кнопку Сохранить изменения.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --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=object-storage,mount-point=<точка_монтирования>,bucket=<имя_бакета>,prefix=<имя_папки>,mode=<режим_монтирования>

Где:

  • --function-name — имя функции.

  • --runtime — среда выполнения функции.

  • --entrypoint — точка входа, указывается в формате <имя_файла_без_расширения>.<имя_обработчика>. Например: index.handler.

  • --memory — объем RAM.

  • --execution-timeout — максимальное время выполнения функции до таймаута.

  • --source-path — путь к ZIP-архиву, содержащему код функции и необходимые зависимости.

  • --service-account-id — идентификатор сервисного аккаунта. Для чтения данных из бакета сервисному аккаунту необходима роль storage.viewer, для чтения и записи — роль storage.uploader.

  • --mount — параметры монтирования бакета Object Storage:

    • type — тип монтируемого хранилища. Для бакета значение всегда object-storage.
    • mount-point — точка монтирования. Директория, к которой смонтируется бакет, будет доступна по пути /function/storage/<точка_монтирования>.
    • bucket — имя бакета.
    • prefix — папка в бакете, которая будет смонтирована в функции. Если поле не задано или пустое, смонтируется весь бакет.
    • mode — режим монтирования бакета: ro — только чтение, rw — чтение и запись.

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

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Откройте файл конфигурации Terraform и добавьте к описанию функции блок mounts:

    resource "yandex_function" "bucketfunction" {
      ...
    
      mounts {
        name = "<точка_монтирования>"
        mode = "<режим_монтирования>"
        object_storage {
          bucket = "<имя_бакета>"
          prefix = "<имя_папки>"
        }
      }
    
    }
    

    Где:

    • mounts — параметры монтирования бакета Object Storage:

      • name — точка монтирования. Директория, к которой смонтируется бакет, будет доступна по пути /function/storage/<точка_монтирования>.
      • mode — режим монтирования бакета: ro — только чтение, rw — чтение и запись.
      • object_storage — параметры бакета:
        • bucket — имя бакета.
        • prefix — папка в бакете, которая будет смонтирована в контейнер. Если поле пустое, смонтируется весь бакет.

      Чтобы смонтировать в функцию одновременно несколько бакетов, задайте блок mounts необходимое количество раз.

    Более подробную информацию о параметрах ресурса yandex_function см. в документации провайдера.

  2. Примените изменения:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

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

yc serverless function version get <идентификатор_версии_функции>

Воспользуйтесь методом REST API createVersion для ресурса Function или вызовом gRPC API FunctionService/CreateVersion.

См. такжеСм. также

  • Монтирование внешних ресурсов на файловую систему функции
  • Монтирование внешних ресурсов на файловую систему контейнера

Была ли статья полезна?

Предыдущая
Выделить память для директории /tmp
Следующая
Смонтировать эфемерный диск
Проект Яндекса
© 2025 ООО «Яндекс.Облако»