[ aws . greengrass ]
create-function-definition
Описание
Создаёт определение Lambda-функции, содержащее список Lambda-функций и их конфигураций, которые будут использоваться в группе. Вы можете создать начальную версию определения, предоставив список Lambda-функций и их конфигураций сейчас или использовать «CreateFunctionDefinitionVersion» позже.
См. также: Документацию API AWS
Синтаксис
create-function-definition
[--amzn-client-token <value>]
[--initial-version <value>]
[--name <value>]
[--tags <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]
Параметры
--amzn-client-token (строка) Токен клиента, используемый для корреляции запросов и ответов.
--initial-version (структура) Информация о начальной версии определения функции.DefaultConfig -> (структура)
Базовая конфигурация, которая применяется ко всем Lambda-функциям в этой версии определения функции. Индивидуальные Lambda-функции могут переопределять эти настройки.
Execution -> (структура)
Конфигурационная информация, определяющая, как выполняется Lambda-функция.
IsolationMode -> (строка)
RunAs -> (структура)
Определяет пользователя и группу, права которых используются при выполнении Lambda-функции. Вы можете указать одно или оба значения для переопределения значений по умолчанию. Мы рекомендуем избегать запуска от root, если это не абсолютно необходимо, чтобы минимизировать риск непреднамеренных изменений или вредоносных атак. Для запуска от root необходимо установить «IsolationMode» в «NoContainer» и обновить config.json в «greengrass-root/config», чтобы установить «allowFunctionsToRunAsRoot» в «yes».
Gid -> (целое число)
Uid -> (целое число)
Functions -> (список)
Список Lambda-функций в этой версии определения функции.
(структура)
Информация о Lambda-функции.
FunctionArn -> (строка)
FunctionConfiguration -> (структура)
Конфигурация Lambda-функции.
EncodingType -> (строка)
Environment -> (структура)
Конфигурация среды функции.
AccessSysfs -> (булево)
Execution -> (структура)
Конфигурация, связанная с выполнением Lambda-функции
IsolationMode -> (строка)
RunAs -> (структура)
Определяет пользователя и группу, права которых используются при выполнении Lambda-функции. Вы можете указать одно или оба значения для переопределения значений по умолчанию. Мы рекомендуем избегать запуска от root, если это не абсолютно необходимо, чтобы минимизировать риск непреднамеренных изменений или вредоносных атак. Для запуска от root необходимо установить «IsolationMode» в «NoContainer» и обновить config.json в «greengrass-root/config», чтобы установить «allowFunctionsToRunAsRoot» в «yes».
Gid -> (целое число)
Uid -> (целое число)
ResourceAccessPolicies -> (список)
Список ресурсов с разрешениями, к которым Lambda-функция получит доступ. Lambda-функция может иметь не более 10 ресурсов. ResourceAccessPolicies применяются только при запуске Lambda-функции в контейнере Greengrass.
(структура)
Политика, используемая функцией для доступа к ресурсу.
Permission -> (строка)
ResourceId -> (строка)
Variables -> (массив)
Переменные среды для конфигурации Lambda-функции.
key -> (строка)
value -> (строка)
ExecArgs -> (строка)
Executable -> (строка)
MemorySize -> (целое число)
Pinned -> (булево)
Timeout -> (целое число)
FunctionRuntimeOverride -> (строка)
Id -> (строка)
Синтаксис JSON:
{
"DefaultConfig": {
"Execution": {
"IsolationMode": "GreengrassContainer"|"NoContainer",
"RunAs": {
"Gid": integer,
"Uid": integer
}
}
},
"Functions": [
{
"FunctionArn": "string",
"FunctionConfiguration": {
"EncodingType": "binary"|"json",
"Environment": {
"AccessSysfs": true|false,
"Execution": {
"IsolationMode": "GreengrassContainer"|"NoContainer",
"RunAs": {
"Gid": integer,
"Uid": integer
}
},
"ResourceAccessPolicies": [
{
"Permission": "ro"|"rw",
"ResourceId": "string"
}
...
],
"Variables": {"string": "string"
...}
},
"ExecArgs": "string",
"Executable": "string",
"MemorySize": integer,
"Pinned": true|false,
"Timeout": integer,
"FunctionRuntimeOverride": "string"
},
"Id": "string"
}
...
]
}
--name (строка) Имя определения функции.
--tags (массив) Тег(и), добавляемый к новому ресурсу.key -> (строка)
Краткая запись:
KeyName1=string,KeyName2=string
Синтаксис JSON:
{"string": "string"
...}
--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
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Используйте определённый профиль из вашего файла с данными учетных записей.
--region (строка)
Область, которую нужно использовать. Переопределяет настройки из конфигурации/среды.
--version (строка)
Выводит версию этого инструмента.
--color (строка)
Включает/выключает цветной вывод.
- on
- off
- auto
--no-sign-request (булево)
Не подписывать запросы. Данные учетных записей не будут загружены, если предоставлен этот аргумент.
--ca-bundle (строка)
Файл сертификатов CA для проверки сертификатов SSL. Переопределяет настройки из конфигурации/среды.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения к сокету в секундах. Если значение установлено в 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 (булево)
Отключить вывод пейджера CLI.
--cli-auto-prompt (булево)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическое запросов параметров ввода CLI.
Примеры
Примечание
Чтобы использовать следующие примеры, у вас должен быть установлен и настроен AWS CLI. Дополнительную информацию см. в руководстве «Начало работы» в руководстве пользователя AWS CLI.
Если не указано иное, во всех примерах используются правила цитирования в стиле Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в руководстве пользователя AWS CLI.
Для создания определения функции Lambda
Следующий create-function-definition пример создает определение функции Lambda и начальную версию, предоставив список функций Lambda (в данном случае список из одной функции с именем TempMonitorFunction) и их конфигурации. Прежде чем вы сможете создать определение функции, вам понадобится ARN функции Lambda. Чтобы создать функцию и ее псевдоним, используйте команды Lambda create-function и publish-version. Команда Lambda create-function требует ARN роли выполнения, хотя AWS IoT Greengrass не использует эту роль, так как разрешения указаны в роли группы Greengrass. Вы можете использовать команду IAM create-role для создания пустой роли, чтобы получить ARN для использования с командой Lambda create-function, или вы можете использовать существующую роль выполнения.
aws greengrass create-function-definition \
--name MyGreengrassFunctions \
--initial-version "{\"Functions\": [{\"Id\": \"TempMonitorFunction\", \"FunctionArn\": \"arn:aws:lambda:us-west-2:123456789012:function:TempMonitor:GG_TempMonitor\", \"FunctionConfiguration\": {\"Executable\": \"temp_monitor.function_handler\", \"MemorySize\": 16000,\"Timeout\": 5}}]}"
Вывод:
{
"Arn": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/functions/3b0d0080-87e7-48c6-b182-503ec743a08b",
"CreationTimestamp": "2019-06-19T22:24:44.585Z",
"Id": "3b0d0080-87e7-48c6-b182-503ec743a08b",
"LastUpdatedTimestamp": "2019-06-19T22:24:44.585Z",
"LatestVersion": "67f918b9-efb4-40b0-b87c-de8c9faf085b",
"LatestVersionArn": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/functions/3b0d0080-87e7-48c6-b182-503ec743a08b/versions/67f918b9-efb4-40b0-b87c-de8c9faf085b",
"Name": "MyGreengrassFunctions"
}
Дополнительную информацию см. в разделе «Настройка локального доступа к ресурсам с помощью командной строки AWS» в руководстве разработчика AWS IoT Greengrass.
Вывод
Arn -> (строка)
CreationTimestamp -> (строка)
Id -> (строка)
LastUpdatedTimestamp -> (строка)
LatestVersion -> (строка)
LatestVersionArn -> (строка)
Name -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.