AWS Snowball
Developer Guide

This guide is for the Snowball Edge. If you are looking for documentation for the Snowball, see the AWS Snowball User Guide.

Using AWS Lambda with an AWS Snowball Edge

Following, you can find an overview of AWS Lambda powered by AWS Greengrass as used in an AWS Snowball Edge device. With this feature, you can run Lambda functions locally on a Snowball Edge. To use AWS Lambda powered by AWS Greengrass functions with Snowball Edge, you must create your jobs in an AWS Region supported by AWS IoT Greengrass. For a list of valid AWS Regions, see AWS Greengrass in the AWS General Reference.

If you created your job before July 17, 2018, this information doesn't apply to your device. Instead, see Using AWS Lambda with an AWS Snowball Edge.

Note

These features are not supported in the Asia Pacific (Mumbai) AWS Region.

Before You Start

Before you create a Python-language Lambda function to run on your Snowball Edge, we recommend that you familiarize yourself with the following services, concepts, and related topics.

Prerequisites for AWS IoT Greengrass

AWS IoT Greengrass is software that extends AWS Cloud capabilities to local devices. AWS IoT Greengrass makes it possible for local devices to collect and analyze data closer to the source of information, while also securely communicating with each other on local networks. More specifically, developers who use AWS IoT Greengrass can author serverless code (Lambda functions) in the AWS Cloud. They can then conveniently deploy this code to devices for local execution of applications.

The following AWS IoT Greengrass concepts are important to understand when using AWS IoT Greengrass with a Snowball Edge:

  • AWS IoT Greengrass Requirements – For a full list of AWS IoT Greengrass requirements, see Requirements in the AWS IoT Greengrass Developer Guide. AWS IoT Greengrass supports Python version 2.7, and each Lambda function has a minimum RAM requirement of 128 MB.

  • AWS IoT Greengrass Core – Each Snowball Edge has the AWS IoT Greengrass core software. For more information on the AWS IoT Greengrass core software, see Greengrass Core Software in the AWS IoT Greengrass Developer Guide.

  • AWS IoT Greengrass Group – A Snowball Edge is part of an AWS IoT Greengrass group as the group's core device. For more information on groups, see AWS Greengrass Groups in the AWS IoT Greengrass Developer Guide.

  • MQTT – AWS IoT Greengrass uses the industry-standard, lightweight Message Queue Telemetry Transport (MQTT) protocol to communicate within a group. Within a Snowball Edge, there is an IoT device associated with the Amazon S3 Adapter for Snowball. When data is written using Amazon S3 PUT object operations on buckets specified at job creation, these operations trigger MQTT messages. These messages in turn trigger any associated Lambda functions. In addition, any MQTT-compatible device or software in your AWS IoT Greengrass group can trigger the Lambda functions, if you define the related MQTT message to do so.

  • Associated service role – Before you can use AWS IoT Greengrass with a Snowball Edge as a core device, you must associate an AWS IoT Greengrass service role with your account. This association allows AWS IoT Greengrass to access your Lambda functions and AWS IoT resources. For more information, see Associating an AWS IoT Greengrass Service Role with Your Account.

Prerequisites for AWS Lambda

AWS Lambda is a compute service that lets you run code without provisioning or managing servers. The following Lambda concepts are important to understand when using Lambda with a Snowball Edge:

  • Lambda functions – Your custom code, uploaded and published to Lambda and used on a Snowball Edge. For more information, see Lambda Functions in the AWS Lambda Developer Guide.

  • Lambda console – The management console in which you'll upload, update, and publish your Python-language Lambda functions for use on a Snowball Edge. For a sample on how to use the Lambda console, see Step 2: Create a HelloWorld Lambda Function and Explore the Console in the AWS Lambda Developer Guide.

  • Python – The high-level programming language used for your Lambda functions powered by AWS IoT Greengrass on a Snowball Edge. AWS IoT Greengrass supports Python version 2.7.

The following topics are related to running AWS Lambda powered by AWS Greengrass functions on a Snowball Edge:

Next:

Getting Started with Lambda Powered by AWS IoT Greengrass

On this page: