Lambda manager - AWS IoT Greengrass

Lambda manager

The Lambda manager component (aws.greengrass.LambdaManager) manages work items and interprocess communication for AWS Lambda functions that run on the Greengrass core device.

Note

When you deploy a Lambda function component to a core device, the deployment also includes this component. For more information, see Run AWS Lambda functions.

Versions

This component has the following versions:

  • 2.2.x

  • 2.1.x

  • 2.0.x

Operating system

This component can be installed on Linux core devices only.

Type

This component is a plugin component (aws.greengrass.plugin). The Greengrass nucleus runs this component in the same Java Virtual Machine (JVM) as the nucleus. The nucleus restarts when you change this component's version on the core device.

This component uses the same log file as the Greengrass nucleus. For more information, see Monitor AWS IoT Greengrass logs.

For more information, see Component types.

Requirements

This component has the following requirements:

  • Your core device must meet the requirements to run Lambda functions. If you want the core device to run containerized Lambda functions, the device must meet the requirements to do so. For more information, see Lambda function requirements.

Dependencies

When you deploy a component, AWS IoT Greengrass also deploys compatible versions of its dependencies. This means that you must meet the requirements for the component and all of its dependencies to successfully deploy the component. This section lists the dependencies for the released versions of this component and the semantic version constraints that define the component versions for each dependency. You can also view the dependencies for each version of the component in the AWS IoT Greengrass console. On the component details page, look for the Dependencies list.

2.2.5

The following table lists the dependencies for version 2.2.5 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.8.0 Soft
2.2.4

The following table lists the dependencies for version 2.2.4 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.7.0 Soft
2.2.1 - 2.2.3

The following table lists the dependencies for versions 2.2.1 to 2.2.3 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.6.0 Soft
2.2.0

The following table lists the dependencies for version 2.2.0 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.5.0 <2.6.0 Soft
2.1.3 and 2.1.4

The following table lists the dependencies for versions 2.1.3 and 2.1.4 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.5.0 Soft
2.1.2

The following table lists the dependencies for version 2.1.2 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.4.0 Soft
2.1.1

The following table lists the dependencies for version 2.1.1 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.3.0 Soft
2.1.0

The following table lists the dependencies for version 2.1.0 of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.0 <2.2.0 Soft
2.0.x

The following table lists the dependencies for version 2.0.x of this component.

Dependency Compatible versions Dependency type
Greengrass nucleus >=2.0.3 <2.1.0 Soft

For more information about component dependencies, see the component recipe reference.

Configuration

This component provides the following configuration parameters that you can customize when you deploy the component.

getResultTimeoutInSecond

(Optional) The maximum amount of time in seconds that Lambda functions can run before they time out.

Default: 60

Local log file

This component uses the same log file as the Greengrass nucleus component.

/greengrass/v2/logs/greengrass.log

To view this component's logs

  • Run the following command on the core device to view this component's log file in real time. Replace /greengrass/v2 with the path to the AWS IoT Greengrass root folder.

    sudo tail -f /greengrass/v2/logs/greengrass.log

Changelog

The following table describes the changes in each version of the component.

Version

Changes

2.2.5

New features
  • Adds support for MQTT topic wildcards in event sources where you subscribe to local publish/subscribe messages.

    This feature requires v2.6.0 or later of the Greengrass nucleus component.

  • Version updated for Greengrass nucleus version 2.7.0 release.

2.2.4

Version updated for Greengrass nucleus version 2.6.0 release.

2.2.3

Bug fixes and improvements
  • Fixes an issue where multiple instances of a Lambda function share a single cgroup. This component uses cgroups to manage resource usage for Lambda functions.

2.2.2

Bug fixes and improvements
  • Fixes an issue where pinned Lambda function components restart unexpectedly in certain scenarios.

2.2.1

Bug fixes and improvements
  • Changes this component's Greengrass nucleus dependency version constraints to fix a dependency resolution issue.

2.2.0

Bug fixes and improvements
  • Fixes an issue where Lambda functions couldn't write logs after a restart.

  • Fixes an issue where the legacy subscription router sends duplicate messages when there are wildcards in the topic.

  • Fixes an issue where non-pinned Lambda functions couldn't use the Greengrass interprocess communication (IPC) library in the AWS IoT Device SDK.

2.1.4

Bug fixes and improvements
  • Fixes an issue that caused Lambda functions that use NodeJS runtimes to process only one message.

  • Version updated for Greengrass nucleus version 2.5.0 release.

2.1.3

Version updated for Greengrass nucleus version 2.4.0 release.

2.1.2

Version updated for Greengrass nucleus version 2.3.0 release.

2.1.1

Version updated for Greengrass nucleus version 2.2.0 release.

2.1.0

Version updated for Greengrass nucleus version 2.1.0 release.

2.0.3

Initial version.