AWS Greengrass
AWS IoT Greengrass is software that extends cloud capabilities to local devices. This enables devices to collect and analyze data closer to the source of information, react autonomously to local events, and communicate securely with each other on local networks. AWS IoT Greengrass developers can use AWS Lambda functions and prebuilt connectors to create serverless applications that are deployed to devices for local execution. More details click here .
The following section explains how to install AWS greengrass in Catalyst 9000.
Complete the AWS Greengrass setup required in AWS IoT Cloud as explained here
Notes:
a. After complete step 1, select Greengrass group, "settings" section and update "Default Lambda function containerization" to "No container" option.

b. Download certificates/key/config from AWS console associated to Greengrass group and root CA certificate from recommended ATS (Amazon Trust Services) location.

Step 2: Create and package Lambda function
Create and deploy a Lambda function on AWS IoT Greengrass core, follow instructions here
Follow this link to configure Lambda function.
Note:
a. On the "Group Specific Lambda Configuration", select "No Container (always)" on Containerization option and select "Make this function long-lived and keep it running indefinitely" on Lambda Lifecycle

Step 4: Deploy on Catalyst 9000
a. Copy Docker image usbflash1
b. Configure Greengrass Application
c. Install the greengrass Docker image and activate it
d. If Catalyst 9000 is in corporate network behind firewall, update config.json file downloaded from AWS console with appropriate HTTP proxy details. If Catalyst 9000 is connected network with accessibility to AWS Cloud, then skip this step.
Here is sample config.json file:
e. Copy certs and config to Greengrass container
Using app-hosting data command copy root CA, Keys and Cerificate to container.
For example:
f. Start Application hosting container
Step 5: Deploy subscription
In AWS IoT console, in Cloud > Select Greengrass group which is used to obtain certs/keys > Select subscriptions section and Deploy subscription.

Step 6: Test
In AWS IoT dashboard, select "Test" and subscribe to a topic "hello/world". Now you should see the messages sent from hello world lambda running on Catalyst 9000 to AWS IoT cloud on topic hello/world.