Skip to content

Lambda

Quick Reference

# List functions matching a prefix
aws lambda list-functions --query "Functions[?starts_with(FunctionName, 'staging-')].[FunctionName,Runtime,MemorySize,Timeout]" --output table

# Get function config (env vars, role, handler)
aws lambda get-function-configuration --function-name staging-EcomIndexerFunction

# Get recent invocations via CloudWatch Logs
aws logs filter-log-events \
  --log-group-name /aws/lambda/staging-EcomIndexerFunction \
  --start-time $(date -v-15M +%s000) \
  --filter-pattern "ERROR"

# Tail logs live
aws logs tail /aws/lambda/staging-EcomIndexerFunction --follow

# Check recent errors
aws logs filter-log-events \
  --log-group-name /aws/lambda/staging-EcomIndexerFunction \
  --start-time $(date -v-1H +%s000) \
  --filter-pattern "?ERROR ?Traceback ?Exception"

# Check event source mappings (SQS triggers, DDB streams)
aws lambda list-event-source-mappings --function-name staging-EcomIndexerFunction

Function Naming Convention

Two naming conventions coexist:

  • Ecom/Admin stack (CDK): {env}-{FunctionName} (e.g., staging-EcomIndexerFunction)
  • Controller stack (CDK): {FunctionName}-{env} (e.g., ControllerAuthLambda-staging)
  • Cognito triggers (CDK): ControllerCognitoStack-{env_prefix}-{Name}{hash} (auto-generated, find via aws lambda list-functions --query "Functions[?contains(FunctionName, 'PostConfirmation')]")

Key Functions by Component

Function Purpose Trigger
{env}-EcomIndexerFunction Index products into Marqo SQS (per-shop queues)
{env}-EcomSettingsExporterLambda Sync settings to Cloudflare KV DDB Stream on IndexSettingsTable
{env}-EcomMetricsWorker Process search metrics SQS (metrics queue)
{env}-EcomMonitoringServiceLambda Check alarms exist for indexes EventBridge (every 10 min)
{env}-ShopifyAppAdminFunction Shopify admin API API Gateway
{env}-ShopifyWebhookWorker Async webhook processing Invoked by Admin Function
{env}-AdminLambda Admin dashboard API API Gateway
MerchandisingExporterLambda-{env} Sync merchandising to CF KV EventBridge (every 5 min)
ControllerAuthLambda-{env} Auth for controller API API Gateway authorizer

What to Look For

Symptom Check
Function errors aws logs filter-log-events with ERROR filter on the function's log group
Timeout Check Timeout in function config vs actual duration in logs
Throttling Check CloudWatch metric Throttles for the function
SQS not draining Check event source mapping state: aws lambda list-event-source-mappings
DDB stream backlog Check IteratorAge metric on the settings exporter