создание-функции
Описание
Создает функцию Lambda. Для создания функции требуется пакет развертывания и роль выполнения. Пакет развертывания — это архив .zip или контейнерный образ, содержащий код вашей функции. Роль выполнения предоставляет функции разрешения на использование сервисов Amazon Web Services, таких как Amazon CloudWatch Logs для потоковой передачи логов и X-Ray для отслеживания запросов.
Если пакет развертывания — это контейнерный образ, то вы устанавливаете тип пакета в Image. Для контейнерного образа свойство code должно включать URI контейнерного образа в реестре Amazon ECR. Вам не нужно указывать свойства handler и runtime.
Если пакет развертывания — это архив .zip, то вы устанавливаете тип пакета в Zip. Для архива .zip свойство code указывает расположение файла .zip. Вы также должны указать свойства handler и runtime. Код в пакете развертывания должен быть совместим с целевой архитектурой набора команд функции (x86-64 или arm64). Если вы не укажете архитектуру, то значение по умолчанию — x86-64.
При создании функции Lambda предоставляет экземпляр функции и её вспомогательные ресурсы. Если ваша функция подключена к VPC, этот процесс может занять минуту или около того. В течение этого времени вы не можете вызвать или изменить функцию. Поля State, StateReason и StateReasonCode в ответе от GetFunctionConfiguration указывают, когда функция готова к вызову. Для получения дополнительной информации см. состояния функций Lambda.
Функция имеет неопубликованную версию и может иметь опубликованные версии и псевдонимы. Неопубликованная версия меняется при обновлении кода и конфигурации вашей функции. Опубликованная версия — это моментальный снимок кода и конфигурации вашей функции, который нельзя изменить. Псевдоним — это именованный ресурс, сопоставленный с версией, и его можно изменить, чтобы он сопоставился с другой версией. Используйте параметр Publish, чтобы создать версию 1 вашей функции из её начальной конфигурации.
Другие параметры позволяют настроить параметры, специфичные для версии и уровня функции. Вы можете изменить параметры, специфичные для версии, позже с помощью UpdateFunctionConfiguration. Параметры уровня функции применяются как к неопубликованным, так и к опубликованным версиям функции и включают теги ( TagResource ) и ограничения одновременного выполнения для функции ( PutFunctionConcurrency ).
Вы можете использовать подпись кода, если ваш пакет развертывания — архив .zip. Чтобы включить подпись кода для этой функции, укажите ARN конфигурации подписи кода. Когда пользователь пытается развернуть пакет кода с помощью UpdateFunctionCode, Lambda проверяет, что пакет кода имеет действительную подпись от надёжного издателя. Конфигурация подписи кода включает набор профилей подписи, которые определяют надёжных издателей для этой функции.
Если другая учетная запись Amazon Web Services или служба Amazon Web Services вызывает вашу функцию, используйте AddPermission, чтобы предоставить разрешения, создав политику управления доступом и идентификацией (IAM) на основе ресурсов. Вы можете предоставлять разрешения на уровне функции, на уровне версии или на уровне псевдонима.
Чтобы вызвать свою функцию напрямую, используйте Invoke. Чтобы вызвать свою функцию в ответ на события в других сервисах Amazon Web Services, создайте сопоставление источника событий ( CreateEventSourceMapping ) или настройте триггер функции в другом сервисе. Для получения дополнительной информации см. вызов функций Lambda.
См. также: Документация API AWS
Синопсис
create-function
--function-name <value>
[--runtime <value>]
--role <value>
[--handler <value>]
[--code <value>]
[--description <value>]
[--timeout <value>]
[--memory-size <value>]
[--publish | --no-publish]
[--vpc-config <value>]
[--package-type <value>]
[--dead-letter-config <value>]
[--environment <value>]
[--kms-key-arn <value>]
[--tracing-config <value>]
[--tags <value>]
[--layers <value>]
[--file-system-configs <value>]
[--image-config <value>]
[--code-signing-config-arn <value>]
[--architectures <value>]
[--ephemeral-storage <value>]
[--snap-start <value>]
[--logging-config <value>]
[--zip-file <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--function-name (строка)
Имя или ARN функции Lambda.
-
Имя функции –
my-function. -
ARN функции –
arn:aws:lambda:us-west-2:123456789012:function:my-function. -
Частичный ARN –
123456789012:function:my-function.
Ограничение длины относится только к полному ARN. Если вы указываете только имя функции, оно ограничено 64 символами.
--runtime (строка)
Идентификатор среды выполнения функции. Среда выполнения требуется, если пакет развертывания — архив .zip. Указание среды выполнения приведёт к ошибке, если вы развёртываете функцию с помощью образа контейнера.
В следующем списке представлены устаревшие среды выполнения. Lambda блокирует создание новых функций и обновление существующих функций вскоре после того, как каждая среда выполнения устареет. Дополнительная информация в разделе Использование среды выполнения после устаревания .
Список всех поддерживаемых сред выполнения см. в разделе Поддерживаемые среды выполнения .
Возможные значения:
nodejsnodejs4.3nodejs6.10nodejs8.10nodejs10.xnodejs12.xnodejs14.xnodejs16.xjava8java8.al2java11python2.7python3.6python3.7python3.8python3.9dotnetcore1.0dotnetcore2.0dotnetcore2.1dotnetcore3.1dotnet6dotnet8nodejs4.3-edgego1.xruby2.5ruby2.7providedprovided.al2nodejs18.xpython3.10java17ruby3.2ruby3.3ruby3.4python3.11nodejs20.xprovided.al2023python3.12java21python3.13nodejs22.x
--role (строка)
--handler (строка)
--code (структура)
Код функции.
S3Bucket -> (строка)
S3Key -> (строка)
S3ObjectVersion -> (строка)
ImageUri -> (строка)
SourceKMSKeyArn -> (строка)
Краткий синтаксис:
S3Bucket=string,S3Key=string,S3ObjectVersion=string,ImageUri=string,SourceKMSKeyArn=string
Синтаксис JSON:
{
"S3Bucket": "string",
"S3Key": "string",
"S3ObjectVersion": "string",
"ImageUri": "string",
"SourceKMSKeyArn": "string"
}
--description (строка)
--timeout (целое число)
--memory-size (целое число)
--publish | --no-publish (булево)
--vpc-config (структура)
Для сетевой связи с ресурсами Amazon Web Services в VPC укажите список сетевых групп и подсетей в VPC. При подключении функции к VPC она может получать доступ к ресурсам и интернету только через эту VPC. Дополнительная информация в разделе Настройка функции Lambda для доступа к ресурсам в VPC .
SubnetIds -> (список)
Список идентификаторов подсетей VPC.
(строка)
SecurityGroupIds -> (список)
Список идентификаторов сетевых групп VPC.
(строка)
Ipv6AllowedForDualStack -> (булево)
Краткий синтаксис:
SubnetIds=string,string,SecurityGroupIds=string,string,Ipv6AllowedForDualStack=boolean
Синтаксис JSON:
{
"SubnetIds": ["string", ...],
"SecurityGroupIds": ["string", ...],
"Ipv6AllowedForDualStack": true|false
}
--package-type (строка)
Тип пакета развертывания. Установите в Image для образа контейнера и в Zip для архива .zip.
Возможные значения:
ZipImage
--dead-letter-config (структура)
Конфигурация очереди с письмом о возврате, которая указывает очередь или тему, куда Lambda отправляет асинхронные события при их неудачной обработке. Дополнительная информация в разделе Очереди с письмом о возврате .
TargetArn -> (строка)
Краткий синтаксис:
TargetArn=string
Синтаксис JSON:
{
"TargetArn": "string"
}
--environment (структура)
Переменные среды, доступные из кода функции во время выполнения.
Variables -> (отображение)
Пары ключ-значение переменных среды. Дополнительная информация в разделе Использование переменных среды Lambda .
key -> (строка)
value -> (строка)
Краткий синтаксис:
Variables={KeyName1=string,KeyName2=string}
Синтаксис JSON:
{
"Variables": {"string": "string"
...}
}
--kms-key-arn (строка)
ARN управляемого клиентом ключа Key Management Service (KMS), который используется для шифрования следующих ресурсов:
- Переменные среды функции.
- Снимки Lambda SnapStart функции.
- При использовании с
SourceKMSKeyArn, распакованная версия пакета развертывания .zip, используемая для вызовов функций. Дополнительная информация в разделе Указание управляемого клиентом ключа для Lambda . - Оптимизированная версия образа контейнера, используемая для вызовов функций. Обратите внимание, что это не тот же ключ, который используется для защиты вашего образа контейнера в Amazon Elastic Container Registry (Amazon ECR). Дополнительная информация в разделе Жизненный цикл функции .
Если вы не предоставляете управляемый клиентом ключ, Lambda использует ключ, принадлежащий Amazon Web Services, или управляемый Amazon Web Services ключ.
--tracing-config (структура)
Установите Mode в Active, чтобы проанализировать и отследить подмножество входящих запросов с помощью X-Ray.
Mode -> (строка)
Краткий синтаксис:
Mode=string
Синтаксис JSON:
{
"Mode": "Active"|"PassThrough"
}
--tags (отображение)
Список тегов для применения к функции.
key -> (строка)
value -> (строка)
Краткий синтаксис:
KeyName1=string,KeyName2=string
Синтаксис JSON:
{"string": "string"
...}
--layers (список)
Список слоёв функций для добавления в среду выполнения функции. Укажите каждый слой по его ARN, включая версию.
(строка)
Синтаксис:
"string" "string" ...
--file-system-configs (список)
Настройки подключения для файловой системы Amazon EFS.
(структура)
Подробная информация о подключении между функцией Lambda и файловой системой Amazon EFS.
Arn -> (строка)
LocalMountPath -> (строка)
/mnt/ .Краткий синтаксис:
Arn=string,LocalMountPath=string ...
Синтаксис JSON:
[
{
"Arn": "string",
"LocalMountPath": "string"
}
...
]
--image-config (структура)
Значения конфигурации образа контейнера, которые переопределяют значения в Dockerfile образа контейнера.
EntryPoint -> (список)
Указывает точку входа в приложение, которая обычно является расположением исполняемого файла среды выполнения.
(строка)
Command -> (список)
Указывает параметры, которые вы хотите передать с ENTRYPOINT.
(строка)
WorkingDirectory -> (строка)
Краткий синтаксис:
EntryPoint=string,string,Command=string,string,WorkingDirectory=string
Синтаксис JSON:
{
"EntryPoint": ["string", ...],
"Command": ["string", ...],
"WorkingDirectory": "string"
}
--code-signing-config-arn (строка)
--architectures (список)
Архитектура набора команд, которую поддерживает функция. Введите строковый массив с одним из допустимых значений (arm64 или x86_64). Значение по умолчанию — x86_64 .
(строка)
Синтаксис:
"string" "string" ...
Where valid values are:
x86_64
arm64
--ephemeral-storage (структура)
Размер каталога /tmp функции в МБ. Значение по умолчанию 512, но может быть любым целым числом от 512 до 10240 МБ. Дополнительная информация в разделе Настройка временного хранилища (консоль) .
Size -> (целое число)
/tmp функции.Краткий синтаксис:
Size=integer
Синтаксис JSON:
{
"Size": integer
}
--snap-start (структура)
Настройка параметра SnapStart функции.
ApplyOn -> (строка)
PublishedVersions, чтобы создать моментальный снимок начальной среды выполнения при публикации версии функции.Сокращенная синтаксическая запись:
ApplyOn=string
Синтаксис JSON:
{
"ApplyOn": "PublishedVersions"|"None"
}
--logging-config (структура)
Настройки конфигурации журналов Amazon CloudWatch для функции.
LogFormat -> (строка)
ApplicationLogLevel -> (строка)
TRACE — наивысший уровень, а FATAL — наинизший.SystemLogLevel -> (строка)
DEBUG — наивысший уровень, а WARN — наинизший.LogGroup -> (строка)
/aws/lambda/<function name>. Чтобы использовать другую группу журналов, укажите существующую группу журналов или введите имя новой группы.Сокращенная синтаксическая запись:
LogFormat=string,ApplicationLogLevel=string,SystemLogLevel=string,LogGroup=string
Синтаксис JSON:
{
"LogFormat": "JSON"|"Text",
"ApplicationLogLevel": "TRACE"|"DEBUG"|"INFO"|"WARN"|"ERROR"|"FATAL",
"SystemLogLevel": "DEBUG"|"INFO"|"WARN",
"LogGroup": "string"
}
--zip-file (блоб)
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON следует формату, предоставленному --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения с помощью предоставленного значения JSON, так как строка будет интерпретироваться буквально. Этот параметр не может быть указан вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит каркас JSON в стандартный вывод без отправки запроса к API. Если параметр не указан или имеет значение input, выводит пример входного JSON, который может быть использован как аргумент для --cli-input-json. Аналогично, если указано yaml-input, выводится пример входного YAML, который может быть использован с --cli-input-yaml. Если указано значение output, выполняется валидация входных данных команды и возвращается пример выходного JSON для этой команды. Сгенерированный каркас JSON не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном каркасе JSON.
Глобальные параметры
--debug (булево)
Включить отладочную запись в журнал.
--endpoint-url (строка)
Переопределить URL по умолчанию команды на указанный URL.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.
--no-paginate (булево)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования вывода команды.
- json
- текст
- таблица
- yaml
- yaml-поток
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из файла учетных данных.
--region (строка)
Используемая область. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/отключить цветной вывод.
- включено
- выключено
- автоматически
--no-sign-request (булево)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент указан.
--ca-bundle (строка)
Файл сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение равно 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (строка)
Стиль форматирования двоичных блобов. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блобы будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого файла, отображающего двоичный блоб, fileb:// всегда будет рассматриваться как двоичный и будет использовать содержимое файла напрямую независимо от настроек cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключить тулбар AWS CLI для вывода.
--cli-auto-prompt (булево)
Автоматически запрашивать параметры входных данных CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическую запрос параметров входных данных CLI.
Примеры
Примечание
Чтобы использовать следующие примеры, вам необходимо установить и настроить AWS CLI. Подробности см. в руководстве «Начало работы» в «Руководстве пользователя AWS CLI».
Если не указано иное, во всех примерах используются правила цитирования Unix. Вам потребуется адаптировать эти примеры к правилам цитирования вашей оболочки. См. раздел «Использование кавычек со строками» в «Руководстве пользователя AWS CLI».
Создание функции Lambda
Следующий create-function пример создает функцию Lambda под названием my-function.
aws lambda create-function \
--function-name my-function \
--runtime nodejs18.x \
--zip-file fileb://my-function.zip \
--handler my-function.handler \
--role arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-tges6bf4
Содержимое my-function.zip:
This file is a deployment package that contains your function code and any dependencies.
Вывод:
{
"TracingConfig": {
"Mode": "PassThrough"
},
"CodeSha256": "PFn4S+er27qk+UuZSTKEQfNKG/XNn7QJs90mJgq6oH8=",
"FunctionName": "my-function",
"CodeSize": 308,
"RevisionId": "873282ed-4cd3-4dc8-a069-d0c647e470c6",
"MemorySize": 128,
"FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function",
"Version": "$LATEST",
"Role": "arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-zgur6bf4",
"Timeout": 3,
"LastModified": "2023-10-14T22:26:11.234+0000",
"Handler": "my-function.handler",
"Runtime": "nodejs18.x",
"Description": ""
}
Дополнительную информацию см. в разделе «Настройка функции AWS Lambda» в «Руководстве разработчика AWS Lambda».
Вывод
ИмяФункции -> (строка)
FunctionArn -> (строка)
Runtime -> (строка)
Идентификатор среды выполнения функции. Среда выполнения требуется, если пакет развертывания — архив .zip. Указание среды выполнения приводит к ошибке, если вы развертываете функцию с помощью образа контейнера.
В следующем списке перечислены устаревшие среды выполнения. Lambda прекращает создание новых функций и обновление существующих функций вскоре после того, как каждая среда выполнения устареет. Дополнительную информацию см. в разделе Использование среды выполнения после устаревания .
Список всех поддерживаемых сред выполнения см. в разделе Поддерживаемые среды выполнения .
Роль -> (строка)
Обработчик -> (строка)
РазмерКода -> (целое)
Описание -> (строка)
Таймаут -> (целое)
РазмерПамяти -> (целое)
ПоследнееОбновление -> (строка)
CodeSha256 -> (строка)
Версия -> (строка)
VpcConfig -> (структура)
Настройка сети функции.
SubnetIds -> (список)
Список идентификаторов подсетей VPC.
(строка)
SecurityGroupIds -> (список)
Список идентификаторов групп безопасности VPC.
(строка)
VpcId -> (строка)
Ipv6AllowedForDualStack -> (булево)
DeadLetterConfig -> (структура)
Очередь сообщений об ошибках функции.
TargetArn -> (строка)
Environment -> (структура)
Переменные среды функции. Исключаются из журналов CloudTrail.
Variables -> (массив)
Ключевые-значения переменных среды. Исключаются из журналов CloudTrail.
ключ -> (строка)
значение -> (строка)
Ошибка -> (структура)
Сообщения об ошибках для переменных среды, которые не удалось применить.
КодОшибки -> (строка)
Сообщение -> (строка)
KMSKeyArn -> (строка)
ARN управляемого клиентом ключа Key Management Service (KMS), используемого для шифрования следующих ресурсов:
- Переменных среды функции.
- Снимков Lambda SnapStart функции.
- При использовании с
SourceKMSKeyArn, распакованной версии пакета развертывания .zip, используемой для вызовов функций. Дополнительную информацию см. в разделе Указание управляемого клиентом ключа для Lambda . - Оптимизированной версии образа контейнера, используемой для вызовов функций. Обратите внимание, что это не тот ключ, который используется для защиты вашего образа контейнера в Amazon Elastic Container Registry (Amazon ECR). Дополнительную информацию см. в разделе Жизненный цикл функции .
Если вы не предоставите управляемый клиентом ключ, Lambda будет использовать ключ, принадлежащий Amazon Web Services, или управляемый Amazon Web Services ключ.
TracingConfig -> (структура)
Настройка отслеживания X-Ray функции.
Режим -> (строка)
MasterArn -> (строка)
RevisionId -> (строка)
Слои -> (список)
Слои функции.
(структура)
Слой Lambda.
Arn -> (строка)
РазмерКода -> (целое)
SigningProfileVersionArn -> (строка)
SigningJobArn -> (строка)
Состояние -> (строка)
Inactive , вы можете повторно активировать функцию, вызвав её.ПричинаСостояния -> (строка)
КодПричиныСостояния -> (строка)
Creating , вы не можете вызывать или изменять функцию.СтатусПоследнегоОбновления -> (строка)
Successful после завершения создания функции.ПричинаПоследнегоОбновления -> (строка)
КодПричиныПоследнегоОбновления -> (строка)
FileSystemConfigs -> (список)
Параметры подключения к файловой системе Amazon EFS.
(структура)
Подробная информация о подключении между функцией Lambda и файловой системой Amazon EFS.
Arn -> (строка)
LocalMountPath -> (строка)
/mnt/ .ТипПакет -> (строка)
Image для образа контейнера и Zip для архива .zip.ImageConfigResponse -> (структура)
Значения конфигурации образа функции.
ImageConfig -> (структура)
Значения конфигурации, которые переопределяют Dockerfile образа контейнера.
EntryPoint -> (список)
Указывает точку входа в приложение, которая обычно является расположением исполняемого файла среды выполнения.
(строка)
Команда -> (список)
Указывает параметры, которые вы хотите передать с ENTRYPOINT.
(строка)
РабочаяДиректория -> (строка)
Ошибка -> (структура)
Ответ об ошибке для GetFunctionConfiguration .
КодОшибки -> (строка)
Сообщение -> (строка)
SigningProfileVersionArn -> (строка)
SigningJobArn -> (строка)
Architectures -> (список)
Архитектура набора инструкций, которую поддерживает функция. Архитектура — это строковый массив с одним из допустимых значений. Значение по умолчанию для архитектуры — x86_64 .
(строка)
EphemeralStorage -> (структура)
Размер каталога /tmp функции в МБ. Значение по умолчанию равно 512, но может быть любым целым числом от 512 до 10240 МБ. Дополнительную информацию см. в разделе Настройка временного хранилища (консоль) .
Размер -> (целое)
/tmp функции.SnapStart -> (структура)
Установите ApplyOn на PublishedVersions, чтобы создать снимок инициализированной среды выполнения при публикации версии функции. Дополнительную информацию см. в разделе Улучшение производительности запуска с помощью Lambda SnapStart .
ПрименитьК -> (строка)
PublishedVersions Lambda создаёт снимок среды выполнения при публикации версии функции.СтатусОптимизации -> (строка)
RuntimeVersionConfig -> (структура)
ARN среды выполнения и любые возникшие ошибки.
RuntimeVersionArn -> (строка)
Ошибка -> (структура)
Ответ об ошибке, когда Lambda не может получить версию среды выполнения для функции.
КодОшибки -> (строка)
Сообщение -> (строка)
LoggingConfig -> (структура)
Параметры конфигурации журнала Amazon CloudWatch функции.
ФорматЖурнала -> (строка)
УровеньПодробностиПриложения -> (строка)
TRACE — самый высокий уровень, а FATAL — самый низкий.УровеньПодробностиСистемы -> (строка)
DEBUG — самый высокий уровень, а WARN — самый низкий.ГруппаЖурналов -> (строка)
/aws/lambda/<function name> . Чтобы использовать другую группу журналов, введите существующее имя группы журналов или введите новое имя группы журналов.
© Copyright 2025, Amazon Web Services. Created using Sphinx.