Облачная платформаAdvanced

Создание и инициализация функции

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

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

  1. Войдите в консоль FunctionGraph, и выберите Functions > Function List в панели навигации.
  2. Нажмите Create Function.
  3. Настройте информацию о функции, выполнив следующие шаги:

    1. Настройте базовую информацию согласно Table 1. Параметры, отмеченные звездочкой (*), являются обязательными.
      Table 1 Базовая информация

      Параметр

      Описание

      Шаблон

      В этом примере шаблон не используется.

      Чтобы использовать шаблон, см. Creating a Function Using a Template.

      *Имя функции

      Имя функции, которое должно соответствовать следующим требованиям:

      • Состоит из 1–60 символов и может содержать буквы, цифры, дефисы (-) и подчёркивания (_).
      • Начинается с буквы и заканчивается буквой или цифрой.

      Введите HelloWorld.

      Тип функции

      • Event Function: вызывается триггерами.
      • HTTP функции: вызываются после отправки HTTP‑запросов на определённые URL‑адреса.
        ПРИМЕЧАНИЕ:
        • HTTP функции не различают языки программирования. Обработчик должен быть указан в файле bootstrap. Вы можете напрямую записать команду запуска и разрешить доступ через порт 8000.
        • Для HTTP функций можно создавать только триггеры APIG.

      *Регион

      Выберите регион, в котором будет развернут ваш код.

      Агентство

      Агентство требуется, если FunctionGraph обращается к другим облачным сервисам. Подробности о том, как создать агентство, см. Creating an Agency.

      Агентство не требуется, если FunctionGraph не обращается к облачным сервисам.

      Для этого примера выберите Use no agency.

      *Enterprise Проект

      Выберите созданный корпоративный проект и добавьте к нему функцию. По умолчанию выбран default.

      Runtime

      Выберите runtime для компиляции функции.

      NOTICE:

      CloudIDE поддерживает только Node.js, Python и PHP.

      Note

      Чтобы обеспечить оптимальную производительность, выберите Specify an exclusive agency for function execution и задайте разные агентства для конфигурации функции и её выполнения. Вы также можете не указывать агентство или указать одно и то же агентство для обеих целей.

      • Function execution agency: После указания такого агентства вы можете получить токен и AK/SK из контекста в обработчике функции для доступа к другим облачным сервисам.
    2. Настройте информацию о коде в соответствии с Table 2. Параметры, отмеченные звездочкой (*), являются обязательными.
      Table 2 Информация о коде

      Parameter

      Description

      *Runtime

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

      В этом примере выберите Node.js 6.10.

      *Handler

      Для функции Node.js обработчик должен быть назван в формате [file name].[function name], который должен содержать точку (.).

      Введите index.handler, что указывает, что имя файла index.js и имя функции handler.

      *Режим ввода кода

      Выберите Edit code inline и используйте отображаемый пример кода.

      Notice
      • При написании кода на Python не называйте ваш пакет с тем же суффиксом, что и стандартная библиотека Python, например json, lib и os. В противном случае будет сообщена ошибка, указывающая на сбой загрузки модуля.
      • Если загружаемый код содержит конфиденциальную информацию (например пароли учетных записей), зашифруйте её, чтобы предотвратить утечку.
      Note

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

      exports.handler = function (event, context, callback) {
      const error = null;
      const output = `Hello message: ${JSON.stringify(event)}`;
      callback(error, output);
      }

  4. Подтвердите конфигурацию функции и сведения о биллинге, и нажмите Create Now.

    Note

    После создания функции память составляет 128 МБ, а тайм‑аут выполнения — 3s.

Инициализация функции

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

  1. Войдите в консоль FunctionGraph и выберите Functions > Function List в панели навигации.
  2. Нажмите имя созданной функции.
  3. Выберите Configuration > Lifecycle и включите Initialization, как показано на Figure 1.

    Figure 1 Setting an initializer


    Table 3 Parameter configuration

    Параметр

    Описание

    Инициализация

    Включите инициализацию при необходимости.

    Тайм‑аут инициализации (s)

    Максимальная продолжительность, в течение которой функция может быть инициализирована. Установите этот параметр, если включаете инициализацию функции.

    Значение может принимать значения от 1s до 300s.

    Инициализатор функции

    Вы можете включить инициализацию функции на странице вкладки Configuration. Инициализатор должен иметь то же имя, что и обработчик. Например, для функции Node.js или Python задайте имя инициализатора в формате [file name].[initialization function name].

    ПРИМЕЧАНИЕ:
    • Этот параметр не требуется, если инициализация функции отключена.
    • Убедитесь, что инициализатор функции и обработчик находятся в одном файле.
    Note
    • Задайте инициализатор так же, как и обработчик. Например, для функции Node.js или Python задайте имя инициализатора в формате [file name].[initialization function name].
    • Подробную информацию о том, как настроить код, см. в Table 2.

  4. нажмите Save.

Тестирование функции

Для получения подробной информации о том, как настроить тестовые события и тестовые функции, см. Test Management.

Настройка псевдонима

Для получения подробной информации о том, как установить псевдоним, см. Version and Alias Management.