AWS Lambda FAQs

AWS SnapStart can improve startup performance from several seconds to as low as sub-second for latency sensitive applications. SnapStart works by snapshotting your function's initialized memory (and disk) state and caching this snapshot for low-latency access. When your function is subsequently invoked, Lambda resumes execution environments from this pre-initialized snapshot instead of initializing them from scratch, improving startup latency. For resiliency, Lambda maintains cached copies of your snapshot and automatically applies software updates, such as runtime upgrades and security patches to them."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-snapstart","name":"lambda-snapstart","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-snapstart","metadata":{}}]}},{"fields":{"topic":"Q: What advanced logging controls are supported on Lambda?","id":"product-faqs#what-advanced-logging-controls-are-supported-on-lambda","customSortOrder":"1","content":"

To provide you a simplified and enhanced logging experience by default, AWS Lambda offers advanced logging controls such as the ability to natively capture Lambda function logs in JSON structured format, control the log level filtering of Lambda function logs without making any code changes, and customize the Amazon CloudWatch log group Lambda sends logs to."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#advanced-logging-controls","name":"advanced-logging-controls","namespaceId":"product-faqs#lambda-faqs","description":"

advanced-logging-controls","metadata":{}}]}},{"fields":{"topic":"Q: Which versions of Amazon Linux, Node.js, Python, JDK, .NET Core, SDKs, and additional libraries does AWS Lambda support?","id":"product-faqs#section-22-t1-faq-lambda","customSortOrder":"1","content":"

You can view the list of supported versions here."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-other-topics","name":"lambda-other-topics","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-other-topics","metadata":{}}]}},{"fields":{"topic":"Q: How do I deploy AWS Lambda function code written in Ruby? ","id":"product-faqs#section-21-t1-faq-lambda","customSortOrder":"1","content":"To deploy a Lambda function written in Ruby, package your Ruby code and gems as a ZIP. You can upload the ZIP from your local environment, or specify an Amazon S3 location where the ZIP file is located."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-functions-in-ruby","name":"lambda-functions-in-ruby","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-ruby","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I package and deploy an AWS Lambda function in Go? ","id":"product-faqs#section-20-t1-faq-lambda","customSortOrder":"1","content":"

Upload your Go executable artifact as a ZIP file through the AWS CLI or Lambda console and select the go1.x runtime. With Lambda, you can use Go's native tools to build and package your code. For more details, read our documentation. "},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions-in-go","name":"lambda-functions-in-go","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-go","metadata":{}}]}},{"fields":{"topic":"Q: How do I deploy AWS Lambda function code written in PowerShell?","id":"product-faqs#section-19-t1-faq-lambda","customSortOrder":"1","content":"

A PowerShell Lambda deployment package is a ZIP file that contains your PowerShell script, PowerShell modules that are required for your PowerShell script, and the assemblies needed to host PowerShell Core. You then use the AWSLambdaPSCore PowerShell module that you can install from the PowerShell Gallery to create your PowerShell Lambda deployment package."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-functions-powershell","name":"lambda-functions-powershell","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-powershell","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I package and deploy an AWS Lambda function in C#?","id":"product-faqs#section-18-t1-faq-lambda","customSortOrder":"1","content":"You can create a C# Lambda function using the Visual Studio IDE by selecting \"Publish to AWS Lambda\" in the Solution Explorer. Alternatively, you can directly run the \"dotnet lambda publish\" command from the dotnet CLI, which has the [# Lambda CLI tools patch] installed, which creates a ZIP of your C# source code along with all NuGet dependencies as well as your own published DLL assemblies, and automatically uploads it to AWS Lambda using the runtime parameter “dotnetcore1.0”"},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions-in-c","name":"lambda-functions-in-C","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-C","metadata":{}}]}},{"fields":{"topic":"Q: Can I use Python packages with AWS Lambda?","id":"product-faqs#section-17-t1-faq-lambda","customSortOrder":"1","content":"Yes. You can use pip to install any Python packages needed."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions-python","name":"lambda-functions-Python","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-Python","metadata":{}}]}},{"fields":{"topic":"Q: Can I use packages with AWS Lambda?","id":"product-faqs#section-16-t1-faq-lambda","customSortOrder":"1","content":"

Yes. You can use NPM packages as well as custom packages. Learn more here."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions-in-node","name":"lambda-functions-in-node","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-node","metadata":{}}]}},{"fields":{"topic":"Q: How do I compile my AWS Lambda function Java code?","id":"product-faqs#section-15-t1-faq-lambda","customSortOrder":"1","content":"

You can use standard tools like Maven or Gradle to compile your Lambda function. Your build process should mimic the same build process you would use to compile any Java code that depends on the AWS SDK. Run your Java compiler tool on your source files and include the AWS SDK 1.9 or later with transitive dependencies on your classpath. For more details, see our documentation."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions-in-java","name":"lambda-functions-in-Java","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-Java","metadata":{}}]}},{"fields":{"topic":"Q: How do I allow my AWS Lambda function access to other AWS resources?","id":"product-faqs#section-14-t1-faq-lambda","customSortOrder":"1","content":"

You grant permissions to your Lambda function to access other resources using an IAM role. AWS Lambda assumes the role while executing your Lambda function, so you always retain full, secure control of exactly which AWS resources it can use. Visit Setting up AWS Lambda to learn more about roles."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-security-access-control","name":"lambda-security-access-control","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-security-access-control","metadata":{}}]}},{"fields":{"topic":"Q: How available are AWS Lambda functions?","id":"product-faqs#section-13-t1-faq-lambda","customSortOrder":"1","content":"AWS Lambda is designed to use replication and redundancy to provide high availability for both the service itself and for the Lambda functions it operates. There are no maintenance windows or scheduled downtimes for either."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-scalability-availability","name":"lambda-scalability-availability","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-scalability-availability","metadata":{}}]}},{"fields":{"topic":"Q: What is Lambda@Edge?","id":"product-faqs#section-12-t1-faq-lambda","customSortOrder":"1","content":"

Lambda@Edge allows you to run code across AWS locations globally without provisioning or managing servers, responding to end-users at the lowest network latency. You just upload your Node.js or Python code to AWS Lambda and configure your function to be triggered in response to Amazon CloudFront requests (i.e., when a viewer request lands, when a request is forwarded to or received back from the origin, and right before responding back to the end-user). The code is then ready to execute across AWS locations globally when a request for content is received, and scales with the volume of CloudFront requests globally. Learn more in our documentation."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-edge","name":"lambda-Edge","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-Edge","metadata":{}}]}},{"fields":{"topic":"Q: Do AWS Lambda functions support HTTP(S) endpoints?","id":"product-faqs#section-11-t1-faq-lambda","customSortOrder":"1","content":"Yes. Lambda functions can be configured with a function URL, a built-in HTTPS endpoint that can be invoked using the browser, curl, and any HTTP client. Function URLs are an easy way to get started building HTTPS accessible functions."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions-urls","name":"lambda-functions-urls","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-urls","metadata":{}}]}},{"fields":{"topic":"Q: What is Amazon EFS for AWS Lambda?","id":"product-faqs#section-9-t1-faq-lambda","customSortOrder":"1","content":"With Amazon Elastic File System (Amazon EFS) for AWS Lambda, customers can securely read, write and persist large volumes of data at virtually any scale using a fully managed elastic NFS file system that can scale on demand without the need for provisioning or capacity management. Previously, developers added code to their functions to download data from S3 or databases to local temporary storage, limited to 512MB. With EFS for Lambda, developers don't need to write code to download data to temporary storage in order to process it."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-efs-for-aws","name":"lambda-efs-for-aws","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-efs-for-aws","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: What are AWS Lambda functions powered by Graviton2 processors?","id":"product-faqs#section-8-t1-faq-lambda","customSortOrder":"1","content":"AWS Lambda allows you to run your functions on either x86-based or Arm-based processors. AWS Graviton2 processors are custom built by Amazon Web Services using 64-bit Arm Neoverse cores to deliver increased price performance for your cloud workloads. Customers get the same advantages of AWS Lambda, running code without provisioning or managing servers, automatic scaling, high availability, and only paying for the resources you consume."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-powered-by-graviton-processors","name":"lambda-powered-by-graviton-processors","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-powered-by-graviton-processors","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: What is AWS Lambda Provisioned Concurrency?","id":"product-faqs#section-7-t1-faq-lambda","customSortOrder":"1","content":"Provisioned Concurrency gives you greater control over the performance of your serverless applications. When enabled, Provisioned Concurrency keeps functions initialized and hyper-ready to respond in double-digit milliseconds."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-provisioned-concurency","name":"lambda-provisioned-concurency","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-provisioned-concurency","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: What is Container Image Support for AWS Lambda?","id":"product-faqs#section-5-t1-faq-lambda","customSortOrder":"1","content":"AWS Lambda now enables you to package and deploy functions as container images. Customers can leverage the flexibility and familiarity of container tooling, and the agility and operational simplicity of AWS Lambda to build applications."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-container-image-support","name":"lambda-container-image-support","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-container-image-support","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: What is a serverless application?","id":"product-faqs#section-4-t1-faq-lambda","customSortOrder":"1","content":"Lambda-based applications (also referred to as serverless applications) are composed of functions triggered by events. A typical serverless application consists of one or more functions triggered by events such as object uploads to Amazon S3, Amazon SNS notifications, or API actions. These functions can stand alone or leverage other resources such as DynamoDB tables or Amazon S3 buckets. The most basic serverless application is simply a function."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-to-build-applications","name":"lambda-to-build-applications","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-to-build-applications","metadata":{}}]}},{"fields":{"topic":"Q: What is an event source?","id":"product-faqs#section-3-t1-faq-lambda","customSortOrder":"1","content":"An event source is an AWS service or developer-created application that produces events that trigger an AWS Lambda function to run. Some services publish these events to Lambda by invoking the cloud function directly (for example, Amazon S3). Lambda can also poll resources in other services that do not publish events to Lambda. For example, Lambda can pull records from an Amazon Kinesis stream or an Amazon SQS queue and execute a Lambda function for each fetched message.Many other services, such as AWS CloudTrail, can act as event sources simply by logging to Amazon S3 and using S3 bucket notifications to trigger AWS Lambda functions"},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-process-events","name":"lambda-process-events","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-process-events","metadata":{}}]}},{"fields":{"topic":"Q: What is an AWS Lambda function?","id":"product-faqs#section-2-t1-faq-lambda","customSortOrder":"1","content":"The code you run on AWS Lambda is uploaded as a “Lambda function”. Each function has associated configuration information, such as its name, description, entry point, and resource requirements. The code must be written in a “stateless” style i.e. it should assume there is no affinity to the underlying compute infrastructure. Local file system access, child processes, and similar artifacts may not extend beyond the lifetime of the request, and any persistent state should be stored in Amazon S3, Amazon DynamoDB, Amazon EFS, or another Internet-available storage service. Lambda functions can include libraries, even native ones."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-functions","name":"lambda-functions","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: What is AWS Lambda?","id":"product-faqs#section-1-t1-faq-lambda","customSortOrder":"1","content":"AWS Lambda lets you run code without provisioning or managing servers. You pay only for the compute time you consume - there is no charge when your code is not running. With Lambda, you can run code for virtually any type of application or backend service - all with zero administration. Just upload your code, and Lambda takes care of everything required to run and scale your code with high availability. You can set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-general","name":"lambda-general","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-general","metadata":{}}]}},{"fields":{"topic":"Q. How do I configure my Lambda function to use Lambda SnapStart?","id":"product-faqs#section-6-t2-faq-lambda","customSortOrder":"2","content":"

Lambda SnapStart is a simple function level configuration that can be configured for new and existing functions by using Lambda API, the AWS Management Console, AWS Command Line Interface (CLI), AWS SDK, AWS Cloud Development Kit (CDK), AWS CloudFormation, and the AWS Serverless Application Model (SAM). When you configure Lambda SnapStart, every function version that is published thereafter benefits from the improved startup performance offered by Lambda SnapStart. To learn more about Lambda SnapStart, see the documentation."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-snapstart","name":"lambda-snapstart","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-snapstart","metadata":{}}]}},{"fields":{"topic":"Q: What can I use advanced logging controls for?","id":"product-faqs#what-can-i-use-advanced-logging-controls-for","customSortOrder":"2","content":"

You can capture Lambda function logs in JSON structured format without having to use your own logging libraries. JSON structured logs make it easier to search, filter, and analyze large volumes of log entries. You can control the log level filtering of Lambda function logs without making any code changes, which enables you to choose the required logging granularity level for Lambda functions without sifting through large volumes of logs when debugging and troubleshooting errors. You can also set which Amazon CloudWatch log group Lambda sends logs to, making it easier to aggregate logs from multiple functions within an application in one place. You can then apply security, governance, and retention policies to logs at the application level rather than individually to every function."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#advanced-logging-controls","name":"advanced-logging-controls","namespaceId":"product-faqs#lambda-faqs","description":"

advanced-logging-controls","metadata":{}}]}},{"fields":{"topic":"Q: How do I control which Amazon S3 buckets can call which AWS Lambda functions?","id":"product-faqs#section-14-t2-faq-lambda","customSortOrder":"2","content":"

When you configure an Amazon S3 bucket to send messages to an AWS Lambda function, a resource policy rule will be created that grants access. Visit the Lambda Developer Guide to learn more about resource policies and access controls for Lambda functions."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-security-access-control","name":"lambda-security-access-control","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-security-access-control","metadata":{}}]}},{"fields":{"topic":"Q: Can I change the version of Amazon Linux or any language runtime?","id":"product-faqs#section-22-t2-faq-lambda","customSortOrder":"2","content":"

No. AWS Lambda offers a single version of the operating system and managed language runtime to all users of the service. You can bring your own language runtime to use in Lambda."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-other-topics","name":"lambda-other-topics","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-other-topics","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: Can I execute other programs from within my AWS Lambda function written in Node.js?","id":"product-faqs#section-16-t2-faq-lambda","customSortOrder":"2","content":"

Yes. Lambda’s built-in sandbox lets you run batch (“shell”) scripts, other language runtimes, utility routines, and executables. Learn more here."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions-in-node","name":"lambda-functions-in-node","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-node","metadata":{}}]}},{"fields":{"topic":"Q: What is the JVM environment that Lambda uses for executing my function?","id":"product-faqs#section-15-t2-faq-lambda","customSortOrder":"2","content":"Lambda provides the Amazon Linux build of openjdk 1.8."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-functions-in-java","name":"lambda-functions-in-Java","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-Java","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: Do my AWS Lambda functions remain available when I change my code or its configuration?","id":"product-faqs#section-13-t2-faq-lambda","customSortOrder":"2","content":"Yes. When you update a Lambda function, there will be a brief window of time, typically less than a minute, when requests could be served by either the old or the new version of your function."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-scalability-availability","name":"lambda-scalability-availability","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-scalability-availability","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I use Lambda@Edge?","id":"product-faqs#section-12-t2-faq-lambda","customSortOrder":"2","content":"

To use Lambda@Edge, you just upload your code to AWS Lambda and associate a function version to be triggered in response to Amazon CloudFront requests. Your code must satisfy the Lambda@Edge service limits. Lambda@Edge supports Node.js and Python for global invocation by CloudFront events at this time. Learn more in our documentation."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-edge","name":"lambda-Edge","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-Edge","metadata":{}}]}},{"fields":{"topic":"Q: How do I configure a Lambda function URL for my function?","id":"product-faqs#section-11-t2-faq-lambda","customSortOrder":"2","content":"

You can configure a function URL for your function through the AWS Management Console, the AWS Lambda API, the AWS CLI, AWS CloudFormation, and the AWS Serverless Application Model. Function URLs can be enabled on the $LATEST unqualified version of your function, or on any function alias. To learn more about configuring a function URL, see the documentation."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions-urls","name":"lambda-functions-urls","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-urls","metadata":{}}]}},{"fields":{"topic":"Q: How do I set up Amazon EFS for Lambda?","id":"product-faqs#section-9-t2-faq-lambda","customSortOrder":"2","content":"

Developers can easily connect an existing EFS file system to a Lambda function via an EFS Access Point by using the console, CLI, or SDK. When the function is first invoked, the file system is automatically mounted and made available to function code. You can learn more in the documentation."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-efs-for-aws","name":"lambda-efs-for-aws","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-efs-for-aws","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: Why should I use AWS Lambda functions powered by Graviton2 processors?","id":"product-faqs#section-8-t2-faq-lambda","customSortOrder":"2","content":"AWS Lambda functions powered by Graviton2, using an Arm-based processor architecture designed by AWS, are designed to deliver up to 34% better price performance compared to functions running on x86 processors, for a variety of serverless workloads, such as web and mobile backends, data, and stream processing. With lower latency, up to 19% better performance, a 20% lower cost, and the highest power-efficiency currently available at AWS, Graviton2 functions can power mission critical serverless applications. Customers can configure both existing and new functions to target the Graviton2 processor. They can deploy functions running on Graviton2 as either zip files or container images."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-powered-by-graviton-processors","name":"lambda-powered-by-graviton-processors","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-powered-by-graviton-processors","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I set up and manage Provisioned Concurrency?","id":"product-faqs#section-7-t2-faq-lambda","customSortOrder":"2","content":"

You can configure concurrency on your function through the AWS Management Console, the Lambda API, the AWS CLI, and AWS CloudFormation. The simplest way to benefit from Provisioned Concurrency is by using AWS Auto Scaling. You can use Application Auto Scaling to configure schedules, or have Auto Scaling automatically adjust the level of Provisioned Concurrency in real time as demand changes. To learn more about Provisioned Concurrency, see the documentation."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-provisioned-concurency","name":"lambda-provisioned-concurency","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-provisioned-concurency","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How can I use Container Image Support for AWS Lambda?","id":"product-faqs#section-5-t2-faq-lambda","customSortOrder":"2","content":"You can start with either an AWS provided base images for Lambda or by using one of your preferred community or private enterprise images. Then, simply use Docker CLI to build the image, upload it to Amazon ECR, and then create the function by using all familiar Lambda interfaces and tools, such as the AWS Management Console, the AWS CLI, the AWS SDK, AWS SAM, and AWS CloudFormation."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-container-image-support","name":"lambda-container-image-support","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-container-image-support","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I deploy and manage a serverless application?","id":"product-faqs#section-4-t2-faq-lambda","customSortOrder":"2","content":"You can deploy and manage your serverless applications using the AWS Serverless Application Model (AWS SAM). AWS SAM is a specification that prescribes the rules for expressing serverless applications on AWS. This specification aligns with the syntax used by AWS CloudFormation today and is supported natively within AWS CloudFormation as a set of resource types (referred to as \"serverless resources\"). These resources make it easier for AWS customers to use CloudFormation to configure and deploy serverless applications using existing CloudFormation APIs."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-to-build-applications","name":"lambda-to-build-applications","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-to-build-applications","metadata":{}}]}},{"fields":{"topic":"Q: What event sources can be used with AWS Lambda?","id":"product-faqs#section-3-t2-faq-lambda","customSortOrder":"2","content":"

Please see our documentation for a complete list of event sources."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-process-events","name":"lambda-process-events","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-process-events","metadata":{}}]}},{"fields":{"topic":"Q: Will AWS Lambda reuse function instances?","id":"product-faqs#section-2-t2-faq-lambda","customSortOrder":"2","content":"

To improve performance, AWS Lambda may choose to retain an instance of your function and reuse it to serve a subsequent request, rather than creating a new copy. To learn more about how Lambda reuses function instances, visit our documentation. Your code should not assume that this will always happen."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions","name":"lambda-functions","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions","metadata":{}}]}},{"fields":{"topic":"Q: What is serverless computing?","id":"product-faqs#section-1-t2-faq-lambda","customSortOrder":"2","content":"

Serverless computing allows you to build and run applications and services without thinking about servers. With serverless computing, your application still runs on servers, but all the server management is done by AWS. At the core of serverless computing is AWS Lambda, which lets you run your code without provisioning or managing servers."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-general","name":"lambda-general","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-general","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q. How do I choose between Lambda SnapStart and Provisioned Concurrency (PC)?","id":"product-faqs#section-6-t3-faq-lambda","customSortOrder":"3","content":"

Lambda SnapStart is a performance optimization that helps your functions to achieve faster start-up times by reducing the variable latency incurred during execution of one-time initialization code. While Lambda SnapStart reduces startup latency, it works as a best-effort optimization, and does not guarantee elimination of cold starts. If your application has strict latency requirements and requires double-digit millisecond startup times, we recommend you use PC."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-snapstart","name":"lambda-snapstart","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-snapstart","metadata":{}}]}},{"fields":{"topic":"Q: Is there a limit to the number of AWS Lambda functions I can execute at once?","id":"product-faqs#section-13-t3-faq-lambda","customSortOrder":"3","content":"

No. AWS Lambda is designed to run many instances of your functions in parallel. However, AWS Lambda has a default safety throttle, for the number of concurrent executions per account per region (visit here for info on default safety throttle limits). You can also control the maximum concurrent executions for individual AWS Lambda functions, which you can use to reserve a subset of your account concurrency limit for critical functions, or cap traffic rates to downstream resources.

If you wish to submit a request to increase the concurrent execution limit, you can use
Service Quotas to request a limit increase request."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-scalability-availability","name":"lambda-scalability-availability","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-scalability-availability","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q. How do I use advanced logging controls?","id":"product-faqs#how-do-i-use-advanced-logging-controls","customSortOrder":"3","content":"

You can specify advanced logging controls for your Lambda functions using AWS Lambda API, AWS Lambda console, AWS CLI, AWS Serverless Application Model (SAM), and AWS CloudFormation. To learn more, visit the launch blog post for advanced logging controls or the Lambda Developer Guide."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#advanced-logging-controls","name":"advanced-logging-controls","namespaceId":"product-faqs#lambda-faqs","description":"

advanced-logging-controls","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How can I record and audit calls made to the AWS Lambda API?","id":"product-faqs#section-22-t3-faq-lambda","customSortOrder":"3","content":"AWS Lambda is integrated with AWS CloudTrail. AWS CloudTrail can record and deliver log files to your Amazon S3 bucket describing the API usage of your account."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-other-topics","name":"lambda-other-topics","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-other-topics","metadata":{}}]}},{"fields":{"topic":"Q: Is it possible to use native modules with AWS Lambda functions written in Node.js?","id":"product-faqs#section-16-t3-faq-lambda","customSortOrder":"3","content":"

Yes. Any statically linked native module can be included in the ZIP file you upload, as well as dynamically linked modules compiled with an rpath pointing to your Lambda function root directory. Learn more here."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-functions-in-node","name":"lambda-functions-in-node","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-node","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I control which Amazon DynamoDB table or Amazon Kinesis stream an AWS Lambda function can poll?","id":"product-faqs#section-14-t3-faq-lambda","customSortOrder":"3","content":"

Access controls are managed through the Lambda function role. The role you assign to your Lambda function also determines which resource(s) AWS Lambda can poll on its behalf. Visit the Lambda Developer Guide to learn more."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-security-access-control","name":"lambda-security-access-control","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-security-access-control","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: When should I use Lambda@Edge?","id":"product-faqs#section-12-t3-faq-lambda","customSortOrder":"3","content":"

Lambda@Edge is optimized for latency-sensitive use cases where your end viewers are distributed globally. All the information you need to make a decision should be available at the CloudFront edge, within the function and the request. This means that use cases where you are looking to make decisions on how to serve content based on user characteristics (e.g., location, client device, etc.) can now be executed and served close to your users without having to be routed back to a centralized server."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-edge","name":"lambda-Edge","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-Edge","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I secure my Lambda function URL?","id":"product-faqs#section-11-t3-faq-lambda","customSortOrder":"3","content":"Lambda function URLs are secured with IAM authorization by default. You can choose to disable IAM authorization to create a public endpoint or if you plan to implement custom authorization as part of the function’s business logic."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-functions-urls","name":"lambda-functions-urls","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-urls","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: Do I need to configure my function with VPC settings before I can use my Amazon EFS file system?","id":"product-faqs#section-9-t3-faq-lambda","customSortOrder":"3","content":"Yes. Mount targets for Amazon EFS are associated with a subnet in a VPC. The AWS Lambda function needs to be configured to access that VPC."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-efs-for-aws","name":"lambda-efs-for-aws","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-efs-for-aws","metadata":{}}]}},{"fields":{"topic":"Q: How do I configure my functions to run on Graviton2 processors?","id":"product-faqs#section-8-t3-faq-lambda","customSortOrder":"3","content":"You can configure functions to run on Graviton2 through the AWS Management Console, the AWS Lambda API, the AWS CLI, and AWS CloudFormation by setting the architecture flag to ‘arm64’ for your function."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-powered-by-graviton-processors","name":"lambda-powered-by-graviton-processors","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-powered-by-graviton-processors","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: Do I need to change my code if I want to use Provisioned Concurrency?","id":"product-faqs#section-7-t3-faq-lambda","customSortOrder":"3","content":"You don’t need to make any changes to your code to use Provisioned Concurrency. It works seamlessly with all existing functions and runtimes. There is no change to the invocation and execution model of Lambda when using Provisioned Concurrency."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-provisioned-concurency","name":"lambda-provisioned-concurency","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-provisioned-concurency","metadata":{}}]}},{"fields":{"topic":"Q: Which container image types are supported?","id":"product-faqs#section-5-t3-faq-lambda","customSortOrder":"3","content":"You can deploy third-party Linux base images (e.g. Alpine or Debian) to Lambda in addition to the Lambda provided images. AWS Lambda will support all images based on the following image manifest formats: Docker Image Manifest V2 Schema 2 (used with Docker version 1.10 and newer) or Open Container Initiative (OCI) Spec (v1.0 and up). Lambda supports images with a size of up to 10GB."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-container-image-support","name":"lambda-container-image-support","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-container-image-support","metadata":{}}]}},{"fields":{"topic":"Q: How can I discover existing serverless applications developed by the AWS community?","id":"product-faqs#section-4-t3-faq-lambda","customSortOrder":"3","content":"

You can choose from a collection of serverless applications published by developers, companies, and partners in the AWS community with the AWS Serverless Application Repository. After finding an application, you can configure and deploy it straight from the Lambda console."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-to-build-applications","name":"lambda-to-build-applications","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-to-build-applications","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How are events represented in AWS Lambda?","id":"product-faqs#section-3-t3-faq-lambda","customSortOrder":"3","content":"

Events are passed to a Lambda function as an event input parameter. For event sources where events arrive in batches, such as Amazon SQS, Amazon Kinesis, and Amazon DynamoDB Streams, the event parameter may contain multiple events in a single call, based on the batch size you request. To learn more about Amazon S3 event notifications, visit Configuring Notifications for Amazon S3 Events. To learn more about Amazon DynamoDB Streams, visit the DynamoDB Stream Developers Guide. To learn more about invoking Lambda functions using Amazon SNS, visit the Amazon SNS Developers Guide. For more information on Amazon Cognito events, visit Amazon Cognito. For more information on AWS CloudTrail logs and auditing API calls across AWS services, see AWS CloudTrail."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-process-events","name":"lambda-process-events","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-process-events","metadata":{}}]}},{"fields":{"topic":"Q: What if I need scratch space on disk for my AWS Lambda function?","id":"product-faqs#section-2-t3-faq-lambda","customSortOrder":"3","content":"

You can configure each Lambda function with its own ephemeral storage between 512MB and 10,240MB, in 1MB increments. The ephemeral storage is available in each function’s /tmp directory.\n

Each function has access to 512MB of storage at no additional cost. When configuring your functions with more than 512MB of ephemeral storage, you will be charged based on the amount of storage you configure, and how long your function runs, metered in 1ms increments. For comparison, in the US East (Ohio) region, the AWS Fargate ephemeral storage price is $0.000111 per GB-hour, or $0.08 per GB-month. Amazon EBS gp3 storage volume pricing in US East (Ohio) is $0.08 per GB-month. AWS Lambda ephemeral storage pricing is $0.0000000309 per GB-second, or $0.000111 per GB-hour and $0.08 per GB-month. To learn more, see AWS Lambda Pricing."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions","name":"lambda-functions","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions","metadata":{}}]}},{"fields":{"topic":"Q: What events can trigger an AWS Lambda function?","id":"product-faqs#section-1-t3-faq-lambda","customSortOrder":"3","content":"

Please see our documentation for a complete list of event sources."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-general","name":"lambda-general","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-general","metadata":{}}]}},{"fields":{"topic":"Q. Which runtimes does Lambda SnapStart support?","id":"product-faqs#section-6-t4-faq-lambda","customSortOrder":"4","content":"

Lambda SnapStart supports multiple runtimes, including Java 11 (and newer), Python 3.12 (and newer) and .NET 8 (and newer). Future versions of runtimes will be supported after they are released. For all runtimes supported by Lambda, see the Lambda runtimes documentation."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-snapstart","name":"lambda-snapstart","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-snapstart","metadata":{}}]}},{"fields":{"topic":"Q: What happens if my account exceeds the default throttle limit on concurrent executions?","id":"product-faqs#section-13-t4-faq-lambda","customSortOrder":"4","content":"

On exceeding the maximum concurrent executions limit, AWS Lambda functions being invoked synchronously will return a throttling error (429 error code). Lambda functions being invoked asynchronously can absorb reasonable bursts of traffic for approximately 15-30 minutes, after which incoming events will be rejected as throttled. In case the Lambda function is being invoked in response to Amazon S3 events, events rejected by AWS Lambda may be retained and retried by S3 for 24 hours. Events from Amazon Kinesis streams and Amazon DynamoDB streams are retried until the Lambda function succeeds or the data expires. Amazon Kinesis and Amazon DynamoDB Streams retain data for 24 hours."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-scalability-availability","name":"lambda-scalability-availability","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-scalability-availability","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q. Can I use my own logging libraries to generate JSON structured logs for my Lambda function?","id":"product-faqs#can-i-use-my-own-logging-libraries-to-generate-json-structured-logs-for-my-lambda-function","customSortOrder":"4","content":"

Yes, you can use your own logging libraries to generate Lambda logs in JSON structured format. To ensure your logging libraries work seamlessly with Lambda’s native JSON structured logging capability, Lambda will not double-encode any logs generated by your function that are already JSON encoded. You can also use Powertools for AWS Lambda library to capture Lambda logs in JSON structured format."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#advanced-logging-controls","name":"advanced-logging-controls","namespaceId":"product-faqs#lambda-faqs","description":"

advanced-logging-controls","metadata":{}}]}},{"fields":{"topic":"Q: How do I coordinate calls between multiple Lambda functions?","id":"product-faqs#section-22-t4-faq-lambda","customSortOrder":"4","content":"

You can use Amazon Step Functions to coordinate multiple invoking Lambda functions. You can invoke multiple Lambda functions serially, passing the output of one to the other, or in parallel. See our documentation for more details."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-other-topics","name":"lambda-other-topics","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-other-topics","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: Can I execute binaries with AWS Lambda written in Node.js?","id":"product-faqs#section-16-t4-faq-lambda","customSortOrder":"4","content":"

Yes. You can use Node.js' child_process command to execute a binary that you included in your function or any executable from Amazon Linux that is visible to your function. Alternatively several NPM packages exist that wrap command line binaries such as node-ffmpeg. Learn more here."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-functions-in-node","name":"lambda-functions-in-node","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-node","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I control which Amazon SQS queue an AWS Lambda function can poll?","id":"product-faqs#section-14-t4-faq-lambda","customSortOrder":"4","content":"Access controls can be managed by the Lambda function role or a resource policy setting on the queue itself. If both policies are present, the more restrictive of the two permissions will be applied."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-security-access-control","name":"lambda-security-access-control","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-security-access-control","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: Can I deploy my existing Lambda functions for global invocation?","id":"product-faqs#section-12-t4-faq-lambda","customSortOrder":"4","content":"

You can associate existing Lambda functions with CloudFront events for global invocation if the function satisfies the Lambda@Edge service requirements and limits. Read more here on how to update your function properties."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-edge","name":"lambda-Edge","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-Edge","metadata":{}}]}},{"fields":{"topic":"Q: How do I invoke my function with a Lambda function URL?","id":"product-faqs#section-11-t4-faq-lambda","customSortOrder":"4","content":"You can easily invoke your function from your web browser by navigating to the Lambda URL, from your client application’s code using an HTTP library, or from the command line using curl."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-functions-urls","name":"lambda-functions-urls","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-urls","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: Who should use Amazon EFS for Lambda?","id":"product-faqs#section-9-t4-faq-lambda","customSortOrder":"4","content":"Using EFS for Lambda is ideal for building machine learning applications or loading large reference files or models, processing or backing up large amounts of data, hosting web content, or developing internal build systems. Customers can also use EFS for Lambda to keep state between invocations within a stateful microservice architecture, in a Step Functions workflow, or sharing files between serverless applications and instance or container-based applications."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-efs-for-aws","name":"lambda-efs-for-aws","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-efs-for-aws","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I deploy my application built using functions powered by Graviton2 processors?","id":"product-faqs#section-8-t4-faq-lambda","customSortOrder":"4","content":"There is no change between x86-based and Arm-based functions. Simply upload your code via the AWS Management Console, zip file, or container image, and AWS Lambda automatically runs your code when triggered, without requiring you to provision or manage infrastructure."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-powered-by-graviton-processors","name":"lambda-powered-by-graviton-processors","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-powered-by-graviton-processors","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How will I be charged for Provisioned Concurrency?","id":"product-faqs#section-7-t4-faq-lambda","customSortOrder":"4","content":"

Provisioned Concurrency adds a pricing dimension, of ‘Provisioned Concurrency’, for keeping functions initialized. When enabled, you pay for the amount of concurrency that you configure and for the period of time that you configure it. When your function executes while Provisioned Concurrency is configured on it, you also pay for Requests and execution Duration. To learn more about the pricing of Provisioned Concurrency, see AWS Lambda Pricing."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-provisioned-concurency","name":"lambda-provisioned-concurency","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-provisioned-concurency","metadata":{}}]}},{"fields":{"topic":"Q: What base images can I use?","id":"product-faqs#section-5-t4-faq-lambda","customSortOrder":"4","content":"AWS Lambda provides a variety of base images customers can extend, and customers can also use their preferred Linux-based images with a size of up to 10GB."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-container-image-support","name":"lambda-container-image-support","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-container-image-support","metadata":{}}]}},{"fields":{"topic":"Q: How do I automate deployment for a serverless application?","id":"product-faqs#section-4-t4-faq-lambda","customSortOrder":"4","content":"

You can automate your serverless application release process using AWS CodePipeline and AWS CodeDeploy. CodePipeline is a continuous delivery service that enables you to model, visualize and automate the steps required to release your serverless application. CodeDeploy provides a deployment automation engine for your Lambda-based applications. CodeDeploy lets you orchestrate deployments according to established best-practice methodologies such as canary and linear deployments, and helps you establish the necessary guardrails to verify that newly-deployed code is safe, stable, and ready to be fully released to production.
 \n

To learn more about serverless CI/CD, visit our documentation."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-to-build-applications","name":"lambda-to-build-applications","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-to-build-applications","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: How do I make an AWS Lambda function respond to changes in an Amazon S3 bucket?","id":"product-faqs#section-3-t4-faq-lambda","customSortOrder":"4","content":"From the AWS Lambda console, you can select a function and associate it with notifications from an Amazon S3 bucket. Alternatively, you can use the Amazon S3 console and configure the bucket’s notifications to send to your AWS Lambda function. This same functionality is also available through the AWS SDK and CLI."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-process-events","name":"lambda-process-events","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-process-events","metadata":{}}]}},{"fields":{"topic":"Q: How do I configure my application to use AWS Lambda ephemeral storage?","id":"product-faqs#section-2-t4-faq-lambda","customSortOrder":"4","content":"You can configure each Lambda function with its own ephemeral storage between 512MB and 10,240MB, in 1MB increments by using the AWS Lambda console, AWS Lambda API, or AWS CloudFormation template during function creation or update."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions","name":"lambda-functions","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions","metadata":{}}]}},{"fields":{"topic":"Q: When should I use AWS Lambda versus Amazon EC2?","id":"product-faqs#section-1-t4-faq-lambda","customSortOrder":"4","content":"

Amazon Web Services offers a set of compute services to meet a range of needs.\n

Amazon EC2 offers flexibility, with a wide range of instance types and the option to customize the operating system, network and security settings, and the entire software stack, allowing you to easily move existing applications to the cloud. With Amazon EC2 you are responsible for provisioning capacity, monitoring fleet health and performance, and designing for fault tolerance and scalability. AWS Elastic Beanstalk offers an easy-to-use service for deploying and scaling web applications in which you retain ownership and full control over the underlying EC2 instances. Amazon EC2 Container Service is a scalable management service that supports Docker containers and allows you to easily run distributed applications on a managed cluster of Amazon EC2 instances.\n

AWS Lambda makes it easy to execute code in response to events, such as changes to Amazon S3 buckets, updates to an Amazon DynamoDB table, or custom events generated by your applications or devices. With Lambda, you do not have to provision your own instances; Lambda performs all the operational and administrative activities on your behalf, including capacity provisioning, monitoring fleet health, applying security patches to the underlying compute resources, deploying your code, running a web service front end, and monitoring and logging your code. AWS Lambda provides easy scaling and high availability to your code without additional effort on your part."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-general","name":"lambda-general","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-general","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: Are default maximum concurrent execution limits applied on a per function level?","id":"product-faqs#section-13-t5-faq-lambda","customSortOrder":"5","content":"

The default maximum concurrent execution limit is applied at the account level. However, you can also set limits on individually functions as well (visit here for info on Reserved Concurrency)."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-scalability-availability","name":"lambda-scalability-availability","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-scalability-availability","metadata":{}}]}},{"fields":{"topic":"Q. How will I be charged for using the advanced logging controls?","id":"product-faqs#how-will-i-be-charged-for-using-the-advanced-logging-controls","customSortOrder":"5","content":"

There is no additional charge for using advanced logging controls on Lambda. You will continue to be charged for ingestion and storage of your Lambda logs by Amazon CloudWatch Logs. See CloudWatch pricing page for log pricing details."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#advanced-logging-controls","name":"advanced-logging-controls","namespaceId":"product-faqs#lambda-faqs","description":"

advanced-logging-controls","metadata":{}}]}},{"fields":{"topic":"Q: Does AWS Lambda support Advanced Vector Extensions 2 (AVX2)?","id":"product-faqs#section-22-t5-faq-lambda","customSortOrder":"5","content":"Yes, AWS Lambda supports the Advanced Vector Extensions 2 (AVX2) instruction set. To learn more about how to compile your application code to target this instruction set for improved performance, visit the AWS Lambda developer documentation."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-other-topics","name":"lambda-other-topics","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-other-topics","metadata":{}}]}},{"fields":{"topic":"Q: How do I deploy AWS Lambda function code written in Node.js?","id":"product-faqs#section-16-t5-faq-lambda","customSortOrder":"5","content":"

To deploy a Lambda function written in Node.js, simply package your Javascript code and dependent libraries as a ZIP. You can upload the ZIP from your local environment, or specify an Amazon S3 location where the ZIP file is located. For more details, see our documentation."},"metadata":{"tags":[{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}},{"id":"product-faqs#lambda-faqs#lambda-functions-in-node","name":"lambda-functions-in-node","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-functions-in-node","metadata":{}}]}},{"fields":{"topic":"Q: How do I access resources in Amazon VPC from my AWS Lambda function?","id":"product-faqs#section-14-t5-faq-lambda","customSortOrder":"5","content":"

You can enable Lambda functions to access resources in your VPC by specifying the subnet and security group as part of your function configuration. Lambda functions configured to access resources in a particular VPC will not have access to the internet as a default configuration. To grant internet to these functions, use internet gateways. By default, Lambda functions communicate with resources in a dual-stack VPC over IPv4. You can configure your functions to access resources in a dual-stack VPC over IPv6. For more details on Lambda functions configured with VPC, see Lambda Private Networking with VPC."},"metadata":{"tags":[{"id":"product-faqs#lambda-faqs#lambda-security-access-control","name":"lambda-security-access-control","namespaceId":"product-faqs#lambda-faqs","description":"

lambda-security-access-control","metadata":{}},{"id":"GLOBAL#product#lambda","name":"AWS Lambda","namespaceId":"GLOBAL#product","description":"AWS Lambda","metadata":{}}]}},{"fields":{"topic":"Q: What Amazon CloudFront events can be used to trigger my functions?","id":"product-faqs#section-12-t5-faq-lambda","customSortOrder":"5","content":"

Your functions will automatically trigger in response to the following Amazon CloudFront events:\n