Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Functions
  • Сопоставление с другими сервисами Yandex Cloud
    • Все практические руководства
    • Создание навыка Алисы
    • Развертывание веб-приложения
    • Разработка навыка Алисы и сайта с авторизацией
    • Запись данных с устройства в базу данных
    • Запись логов балансировщика в PostgreSQL
    • Разработка Slack-бота
    • Разработка Telegram-бота
    • Подключение к базе данных YDB из функции на Python
    • Подключение к базе данных YDB из функции на Node.js
    • Конвертация видео в GIF на Python
    • Создание функции Node.js с помощью TypeScript
    • Разработка пользовательской интеграции
    • Создание триггера для бюджетов, который вызывает функцию для остановки ВМ
    • Создание интерактивного serverless-приложения с использованием WebSocket
    • Автоматическое копирование объектов из одного бакета Object Storage в другой
    • Запуск вычислений по расписанию в DataSphere
    • Интерактивная отладка функций
    • Регулярное асинхронное распознавание аудиофайлов из Object Storage
    • Канареечный релиз функции Cloud Functions
    • Развертывание отказоустойчивой архитектуры с прерываемыми ВМ
    • Создание триггеров, которые вызывают функции для остановки ВМ и отправки уведомлений в Telegram
    • Загрузка данных из Яндекс Директ в витрину Yandex Managed Service for ClickHouse® с использованием Yandex Cloud Functions, Yandex Object Storage и Yandex Data Transfer
    • Мониторинг состояния географически распределенных устройств
    • Мониторинг показаний датчиков и уведомления о событиях
    • Эмуляция множества IoT-устройств
    • Передача событий Yandex Cloud Postbox в Yandex Data Streams и их анализ с помощью Yandex DataLens
    • Сокращатель ссылок
    • Yandex Tracker: экспорт и визуализация данных
    • Запуск вычислений в DataSphere с помощью API
    • Разработка Telegram-бота для распознавания текста и аудио
    • Настройка реагирования в Yandex Cloud Logging и Cloud Functions
    • Разработка функций в Functions Framework и их развертывание в Yandex Serverless Containers
  • Инструменты
  • Правила тарификации
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Необходимые платные ресурсы
  • Настройте окружение
  • Создайте сервисный аккаунт
  • Создайте реестр Container Registry
  • Создайте функцию
  • Создайте Docker-образ и загрузите его в реестр Container Registry
  • Создайте контейнер Serverless Containers из загруженного Docker-образа
  • Проверьте работу функции в контейнере
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Разработка функций в Functions Framework и их развертывание в Yandex Serverless Containers

Разработка функций в Functions Framework и их развертывание в Yandex Serverless Containers

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 4 апреля 2025 г.
  • Перед началом работы
    • Необходимые платные ресурсы
    • Настройте окружение
  • Создайте сервисный аккаунт
  • Создайте реестр Container Registry
  • Создайте функцию
  • Создайте Docker-образ и загрузите его в реестр Container Registry
  • Создайте контейнер Serverless Containers из загруженного Docker-образа
  • Проверьте работу функции в контейнере
  • Как удалить созданные ресурсы

Functions Framework от Google Cloud — это открытый контракт и набор реализующих его библиотек с открытым исходным кодом на различных языках программирования. Фреймворк позволяет разрабатывать функции в стиле программирования FaaS (Function as a service), которые могут обрабатывать HTTP-запросы или CloudEvents.

Фреймворк Functions Framework позволяет создавать функции и запускать их в контейнерах Yandex Serverless Containers без использования сервиса Yandex Cloud Functions. Написанные этим способом функции можно переносить между различными платформами, такими как Cloud Run, Cloud Run functions, Knative и Yandex Serverless Containers, а также между этими платформами и вашей локальной машиной разработки.

В данном руководстве рассматривается сценарий, при котором вы локально создадите функцию с помощью фреймворка Functions Framework. Затем из этой функции вы соберете Docker-образ, который загрузите в реестр Yandex Container Registry. Из сохраненного в реестре Docker-образа вы создадите контейнер Serverless Containers, при вызове которого будет выполняться код вашей функции.

Предлагаемое решение позволяет:

  • собирать и распространять функции как OCI-совместимые Docker-образы, а также развертывать их на различных облачных и on-prem-платформах: Kubernetes, Cloud Run, Knative и др.
  • разрабатывать, локально запускать, отлаживать и тестировать функции как обычные веб-приложения с использованием современных IDE;
  • переносить ваши функции из Cloud Run functions или Knative, сохранив совместимость с этими платформами;
  • создавать функции на языках Dart, C++ или Ruby, которые в настоящий момент не поддержаны в Cloud Functions.

В данном руководстве вы создадите тестовую функцию. Полный перечень поддерживаемых языков программирования см. в репозитории проекта Functions Framework на GitHub.

Чтобы развернуть функцию в Serverless Containers:

  1. Подготовьте облако к работе.
  2. Создайте сервисный аккаунт.
  3. Создайте реестр Container Registry.
  4. Создайте функцию.
  5. Создайте Docker-образ и загрузите его в реестр Container Registry.
  6. Создайте контейнер Serverless Containers из загруженного Docker-образа.
  7. Проверьте работу функции в контейнере.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работыПеред началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки создаваемой инфраструктуры входят:

  • плата за объем хранилища, объем исходящего трафика и использование сканера уязвимостей Container Registry (см. тарифы Yandex Container Registry);
  • плата за использование сервиса Serverless Containers (см. тарифы Yandex Serverless Containers).

Настройте окружениеНастройте окружение

  1. Установите утилиту cURL.

  2. Установите и настройте интерфейс Yandex Cloud CLI.

  3. Установите и настройте Docker.

  4. Аутентифицируйтесь в Container Registry.

  5. Установите утилиту Pack. Для этого в терминале выполните команды и дождитесь завершения процесса установки:

    sudo add-apt-repository ppa:cncf-buildpacks/pack-cli -y
    sudo apt install pack-cli -y
    

    Инструкция по установке утилиты Pack приведена для ОС Linux Ubuntu. Если вы используете другую операционную систему, для установки воспользуйтесь документацией к утилите Pack.

Создайте сервисный аккаунтСоздайте сервисный аккаунт

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, в котором вы будете создавать инфраструктуру.
  2. В списке сервисов выберите Identity and Access Management.
  3. Нажмите кнопку Создать сервисный аккаунт и в открывшемся окне:
    1. Введите имя сервисного аккаунта: serverless-containers-sa.
    2. Нажмите кнопку Добавить роль и выберите роль container-registry.images.puller.
    3. Нажмите кнопку Создать.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Создайте сервисный аккаунт serverless-containers-sa:

    yc iam service-account create \
      --name serverless-containers-sa
    

    Результат:

    done (1s)
    id: aje7tnmd885t********
    folder_id: b1gt6g8ht345********
    created_at: "2025-02-14T11:09:54.376880905Z"
    name: serverless-containers-sa
    

    Сохраните идентификаторы сервисного аккаунта (значение поля id) и каталога (значение поля folder_id) — они понадобятся на следующем шаге.

    Подробнее о команде yc iam service-account create читайте в справочнике CLI.

  2. Назначьте созданному сервисному аккаунту роль container-registry.images.puller на каталог, указав сохраненные на предыдущем шаге идентификаторы каталога и сервисного аккаунта:

    yc resource-manager folder add-access-binding <идентификатор_каталога> \
      --role container-registry.images.puller \
      --subject serviceAccount:<идентификатор_сервисного_аккаунта>
    

    Результат:

    done (2s)
    effective_deltas:
      - action: ADD
        access_binding:
         role_id: container-registry.images.puller
          subject:
            id: aje7tnmd885t********
            type: serviceAccount
    

    Подробнее о команде yc resource-manager folder add-access-binding читайте в справочнике CLI.

Чтобы создать сервисный аккаунт, воспользуйтесь методом REST API create для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/Create.

Чтобы назначить сервисному аккаунту роль на каталог, воспользуйтесь методом REST API updateAccessBindings для ресурса Folder или вызовом gRPC API FolderService/UpdateAccessBindings.

Создайте реестр Container RegistryСоздайте реестр Container Registry

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, в котором вы ранее создали сервисный аккаунт.
  2. В списке сервисов выберите Container Registry.
  3. Нажмите кнопку Создать реестр.
  4. В поле Имя задайте имя реестра: functions-framework-registry.
  5. Нажмите кнопку Создать реестр.
  6. На открывшейся странице скопируйте идентификатор созданного реестра, он понадобится в дальнейшем.

Создайте реестр functions-framework-registry:

yc container registry create \
  --name functions-framework-registry

Результат:

done (1s)
id: crpfn9p374a3********
folder_id: b1gt6g8ht345********
name: functions-framework-registry
status: ACTIVE
created_at: "2025-02-14T11:44:23.698Z"

Сохраните идентификатор (значение поля id) созданного реестра, он понадобится позднее.

Подробнее о команде yc container registry create читайте в справочнике CLI.

Чтобы создать реестр, воспользуйтесь методом create для ресурса Registry или вызовом gRPC API RegistryService/Create.

Создайте функциюСоздайте функцию

На этом этапе вы локально создадите функцию с помощью фреймворка Functions Framework. Команды для установки пакетов приведены для ОС Linux Ubuntu. Если вы используете другую ОС, для установки воспользуйтесь документацией к вашей операционной системе.

Node.js
Python
Go

Чтобы создать функцию на Node.js:

  1. Установите менеджер пакетов npm:

    sudo apt update && \
    sudo apt install npm -y
    
  2. Создайте директорию для нового проекта:

    mkdir my-first-function && \
    cd my-first-function
    
  3. Пройдите процедуру инициализации проекта:

    npm init
    

    В процессе инициализации оставьте все запрашиваемые значения по умолчанию, нажимая клавишу ENTER. В конце процесса в ответ на запрос Is this OK? введите yes и нажмите ENTER. В результате в директории с вашим проектом будет создан файл проекта package.json:

    {
      "name": "my-first-function",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC"
    }
    
  4. Создайте новый файл index.js, открыв его в текстовом редакторе:

    nano index.js
    
  5. Добавьте в файл index.js следующий код:

    const functions = require('@google-cloud/functions-framework');
    
    functions.http('helloWorld', (req, res) => {
      res.send('Hello, World!');
    });
    
  6. Установите фреймворк Functions Framework в ваш проект:

    npm install @google-cloud/functions-framework
    
  7. Добавьте в файл package.json следующий код:

    "scripts": {
      "start": "functions-framework --target=helloWorld"
    }
    

    Пример итогового содержимого файла package.json:

    {
      "name": "my-first-function",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "@google-cloud/functions-framework": "^3.4.5"
      },
      "scripts": {
        "start": "functions-framework --target=helloWorld"
      }
    }
    
  8. Локально запустите вашу функцию, чтобы убедиться, что все работает:

    1. Запустите функцию:

      npm start
      

      Результат:

      > my-first-function@1.0.0 start
      > functions-framework --target=helloWorld
      
      Serving function...
      Function: helloWorld
      Signature type: http
      URL: http://localhost:8080/
      
    2. Откройте дополнительное окно терминала и в этом окне выполните команду:

      curl http://localhost:8080/
      

      Результат:

      Hello, World!
      

    Таким же способом вы можете запустить функцию в режиме отладки и использовать точки останова с помощью современных IDE.

Чтобы создать функцию на Python:

  1. Установите Python и менеджер пакетов pip:

    sudo apt update && \
    sudo apt install python3 python3-pip -y
    
  2. Создайте директорию для нового проекта:

    mkdir my-first-function && \
    cd my-first-function
    
  3. Установите фреймворк Functions Framework:

    sudo pip install functions-framework
    
  4. Создайте файл main.py с кодом функции, открыв его в текстовом редакторе:

    nano main.py
    
  5. Добавьте в файл main.py следующий код:

    import flask
    import functions_framework
    
    @functions_framework.http
    def helloWorld(request: flask.Request) -> flask.typing.ResponseReturnValue:
        return "Hello, World!"
    
  6. Локально запустите вашу функцию, чтобы убедиться, что все работает:

    1. Запустите функцию:

      functions-framework --target helloWorld --debug
      

      Результат:

      * Serving Flask app 'hello'
      * Debug mode: on
      WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
      * Running on all addresses (0.0.0.0)
      * Running on http://127.0.0.1:8080
      * Running on http://192.168.1.15:8080
      Press CTRL+C to quit
      * Restarting with watchdog (inotify)
      * Debugger is active!
      * Debugger PIN: 817-187-***
      
    2. Откройте дополнительное окно терминала и в этом окне выполните команду:

      curl http://localhost:8080/
      

      Результат:

      Hello, World!
      

    Таким же способом вы можете запустить функцию в режиме отладки и использовать точки останова с помощью современных IDE.

Чтобы создать функцию на Go:

  1. Установите Go версии 1.18 или выше.

  2. Создайте директорию для нового проекта:

    mkdir my-first-function && \
    cd my-first-function
    
  3. Создайте новый модуль:

    go mod init example.com/helloWorld
    
  4. Создайте файл function.go с кодом функции, открыв его в текстовом редакторе:

    nano function.go
    
  5. Добавьте в файл function.go следующий код:

    package function
    
    import (
      "fmt"
      "net/http"
    
      "github.com/GoogleCloudPlatform/functions-framework-go/functions"
    )
    
    func init() {
      functions.HTTP("helloWorld", helloWorld)
    }
    
    // helloWorld writes "Hello, World!" to the HTTP response.
    func helloWorld(w http.ResponseWriter, r *http.Request) {
      fmt.Fprintln(w, "Hello, World!")
    }
    
  6. Локально запустите вашу функцию, чтобы убедиться, что все работает:

    1. Создайте директорию cmd:

      mkdir cmd
      
    2. В директории cmd создайте файл main.go:

      nano cmd/main.go
      
    3. Добавьте в файл main.go следующий код:

      package main
      
      import (
        "log"
        "os"
      
        // Blank-import the function package so the init() runs
        _ "example.com/helloWorld"
        "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"
      )
      
      func main() {
        // Use PORT environment variable, or default to 8080.
        port := "8080"
        if envPort := os.Getenv("PORT"); envPort != "" {
          port = envPort
        }
        
        // By default, listen on all interfaces. If testing locally, run with 
        // LOCAL_ONLY=true to avoid triggering firewall warnings and 
        // exposing the server outside of your own machine.
        hostname := ""
        if localOnly := os.Getenv("LOCAL_ONLY"); localOnly == "true" {
          hostname = "127.0.0.1"
        } 
        if err := funcframework.StartHostPort(hostname, port); err != nil {
          log.Fatalf("funcframework.StartHostPort: %v\n", err)
        }
      }
      
    4. Обновите зависимости:

      go mod tidy
      
    5. Запустите локальный сервер:

      FUNCTION_TARGET=helloWorld \
      LOCAL_ONLY=true \
      go run cmd/main.go
      
    6. Откройте дополнительное окно терминала и в этом окне выполните команду:

      curl http://localhost:8080/
      

      Результат:

      Hello, World!
      

    Таким же способом вы можете запустить функцию в режиме отладки и использовать точки останова с помощью современных IDE.

Создайте Docker-образ и загрузите его в реестр Container RegistryСоздайте Docker-образ и загрузите его в реестр Container Registry

Для сборки функции используется технология Buildpacks и набор сборщиков от GCP. Вы также можете использовать сборщики от Heroku.

  1. Воспользуйтесь установленной ранее утилитой Pack, чтобы собрать Docker-образ с вашим приложением:

    sudo pack build \
     --builder gcr.io/buildpacks/builder:google-22 \
     --env GOOGLE\_FUNCTION\_SIGNATURE\_TYPE=http \
     --env GOOGLE\_FUNCTION\_TARGET=helloWorld \
     my-first-function
    

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

    Результат:

    ...
    Successfully built image my-first-function
    

    Приведенная выше команда сборки может использоваться для функций, написанных на разных языках программирования, поскольку сборщик автоматически определяет язык и среду выполнения проекта, после чего собирает приложение в OCI-совместимый Docker-образ. Это избавляет разработчика от необходимости вручную создавать Dockerfile.

  2. Локально запустите контейнер из собранного Docker-образа, чтобы убедиться, что все работает:

    1. Выполните команду:

      docker run --rm -p 8080:8080 my-first-function
      
    2. Откройте дополнительное окно терминала и в этом окне выполните команду:

      curl http://localhost:8080/
      

      Результат:

      Hello, World!
      

      Код функции выполняется в запущенном локально Docker-контейнере.

    3. Закройте дополнительное окно терминала. В основном окне терминала остановите выполнение Docker-контейнера, нажав сочетание клавиш Ctrl + C.

  3. Присвойте созданному Docker-образу URL вида cr.yandexcloud.kz/<идентификатор_реестра>/<имя_Docker-образа>:<тег>, указав сохраненный ранее идентификатор реестра Container Registry:

    docker tag my-first-function \
      cr.yandex/<идентификатор_реестра>/my-first-function:some-tag
    

    Примечание

    Загрузить в Container Registry можно только Docker-образы с URL вида cr.yandexcloud.kz/<идентификатор_реестра>/<имя_Docker-образа>:<тег>.

  4. Загрузите Docker-образ в реестр:

    docker push \
      cr.yandex/<идентификатор_реестра>/my-first-function:some-tag
    

    Результат:

    The push refers to repository [cr.yandex/crpfn9p374a3********/my-first-function]
    ...
    14f9fd9947d2: Pushed
    2573e0d81582: Pushed
    some-tag: digest: sha256:1b8bac8da5e64dd4359f81d71a7803f212af385f9718a7a4f9a40bca******** size: 2830
    

Создайте контейнер Serverless Containers из загруженного Docker-образаСоздайте контейнер Serverless Containers из загруженного Docker-образа

Используйте загруженный в Container Registry Docker-образ, чтобы создать ревизию контейнера Serverless Containers.

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

  2. В списке сервисов выберите Serverless Containers.

  3. Нажмите кнопку Создать контейнер.

  4. В поле Имя укажите имя контейнера: my-first-function.

  5. Нажмите кнопку Создать.

  6. В блоке Параметры образа в поле URL образа выберите загруженный ранее Docker-образ cr.yandex/<идентификатор_реестра>/my-first-function:some-tag.

  7. В блоке Настройки в поле Сервисный аккаунт выберите созданный ранее сервисный аккаунт serverless-containers-sa.

  8. В блоке Логирование отключите опцию Запись логов, чтобы отключить запись логов в лог-группу.

    Вы можете оставить опцию включенной, чтобы записывать логи в журнал выполнения контейнера. Запись и хранение логов тарифицируются.

  9. Нажмите кнопку Создать ревизию.

  10. В открывшемся окне в блоке Общая информация скопируйте значение поля Ссылка для вызова — этот URL понадобится при тестировании работы функции в контейнере.

  1. Создайте контейнер my-first-function:

    yc serverless container create \
      --name my-first-function
    

    Результат:

    done (1s)
    id: bba0tc5nv6j0********
    folder_id: b1gt6g8ht345********
    created_at: "2025-02-14T15:26:04.744Z"
    name: my-first-function
    url: https://bba0tc5nv6j0********.containers.yandexcloud.net/
    status: ACTIVE
    

    Сохраните полученную ссылку для вызова контейнера (значение поля url) — она понадобится при тестировании работы функции в контейнере.

    Подробнее о команде yc serverless container create читайте в справочнике CLI.

  2. Создайте ревизию созданного ранее контейнера:

    yc serverless container revision deploy \
      --container-name my-first-function \
      --image "cr.yandex/<идентификатор_реестра>/my-first-function:some-tag" \
      --service-account-id <идентификатор_сервисного_аккаунта> \
      --no-logging
    

    Где:

    • <идентификатор_реестра> — сохраненный ранее идентификатор реестра Container Registry.
    • <идентификатор_сервисного_аккаунта> — сохраненный ранее идентификатор сервисного аккаунта serverless-containers-sa.
    • --no-logging — параметр отключает запись логов в лог-группу. Уберите этот параметр из команды, чтобы записывать логи в журнал выполнения контейнера. Запись и хранение логов тарифицируются.

    Результат:

    done (16s)
    id: bba6f1jllc3t********
    container_id: bbakbil5lg7j********
    created_at: "2025-02-14T20:48:06.424Z"
    image:
      image_url: cr.yandex/crpfn9p374a3********/my-first-function:some-tag
      image_digest: sha256:1b8bac8da5e64dd4359f81d71a7803f212af385f9718a7a4f9a40bca********
    resources:
      memory: "134217728"
      cores: "1"
      core_fraction: "100"
    execution_timeout: 3s
    concurrency: "1"
    service_account_id: aje7tnmd885t********
    status: ACTIVE
    log_options:
      disabled: true
      folder_id: b1gt6g8ht345********
    runtime:
      http: {}
    

    Подробнее о команде yc serverless container revision deploy читайте в справочнике CLI.

Чтобы создать контейнер, воспользуйтесь методом REST API create для ресурса Container или вызовом gRPC API ContainerService/Create.

Чтобы создать ревизию контейнера, воспользуйтесь методом REST API deployRevision для ресурса Container или вызовом gRPC API ContainerService/DeployRevision.

Проверьте работу функции в контейнереПроверьте работу функции в контейнере

После создания контейнера вы получили ссылку для его вызова. Чтобы проверить работу функции в контейнере, выполните запрос, указав в нем полученную ссылку:

curl \
  --request GET \
  --header "Authorization: Bearer $(yc iam create-token)" \
  <ссылка_для_вызова_контейнера>

Результат:

Hello, World%

При вызове контейнера был выполнен код функции my-first-function, созданной ранее с помощью фреймворка Functions Framework.

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Удалите контейнер Serverless Containers.
  2. Удалите Docker-образ из реестра Container Registry, затем удалите реестр.
  3. Если вы оставили включенной запись логов в журнал выполнения контейнера, удалите лог-группу.

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

Предыдущая
Настройка реагирования в Yandex Cloud Logging и Cloud Functions
Следующая
Обзор
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»