public interface AWSLambda
Overview
Lambda is a compute service that lets you run code without provisioning or managing servers. Lambda runs your code on a high-availability compute infrastructure and performs all of the administration of the compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, code monitoring and logging. With Lambda, you can run code for virtually any type of application or backend service. For more information about the Lambda service, see What is Lambda in the Lambda Developer Guide.
The Lambda API Reference provides information about each of the API methods, including details about the parameters in each API request and response.
You can use Software Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command line tools to access the API. For installation instructions, see Tools for Amazon Web Services.
For a list of Region-specific endpoints that Lambda supports, see Lambda endpoints and quotas in the Amazon Web Services General Reference..
When making the API calls, you will need to authenticate your request by providing a signature. Lambda supports signature version 4. For more information, see Signature Version 4 signing process in the Amazon Web Services General Reference..
CA certificates
Because Amazon Web Services SDKs use the CA certificates from your computer, changes to the certificates on the Amazon Web Services servers can cause connection failures when you attempt to use an SDK. You can prevent these failures by keeping your computer's CA certificates and operating system up-to-date. If you encounter this issue in a corporate environment and do not manage your own computer, you might need to ask an administrator to assist with the update process. The following list shows minimum operating system and Java versions:
Microsoft Windows versions that have updates from January 2005 or later installed contain at least one of the required CAs in their trust list.
Mac OS X 10.4 with Java for Mac OS X 10.4 Release 5 (February 2007), Mac OS X 10.5 (October 2007), and later versions contain at least one of the required CAs in their trust list.
Red Hat Enterprise Linux 5 (March 2007), 6, and 7 and CentOS 5, 6, and 7 all contain at least one of the required CAs in their default trusted CA list.
Java 1.4.2_12 (May 2006), 5 Update 2 (March 2005), and all later versions, including Java 6 (December 2006), 7, and 8, contain at least one of the required CAs in their default trusted CA list.
When accessing the Lambda management console or Lambda API endpoints, whether through browsers or programmatically, you will need to ensure your client machines support any of the following CAs:
Amazon Root CA 1
Starfield Services Root Certificate Authority - G2
Starfield Class 2 Certification Authority
Root certificates from the first two authorities are available from Amazon trust services, but keeping your computer up-to-date is the more straightforward solution. To learn more about ACM-provided certificates, see Amazon Web Services Certificate Manager FAQs.
Modifier and Type | Method and Description |
---|---|
com.amazonaws.ResponseMetadata |
getCachedResponseMetadata(com.amazonaws.AmazonWebServiceRequest request)
Returns additional metadata for a previously executed successful request,
typically used for debugging issues where a service isn't acting as
expected.
|
InvokeResult |
invoke(InvokeRequest invokeRequest)
Invokes a Lambda function.
|
void |
setEndpoint(java.lang.String endpoint)
Overrides the default endpoint for this client
("https://lambda.us-east-1.amazonaws.com").
|
void |
setRegion(com.amazonaws.regions.Region region)
An alternative to
setEndpoint(String) , sets the
regional endpoint for this client's service calls. |
void |
shutdown()
Shuts down this client object, releasing any resources that might be held
open.
|
void setEndpoint(java.lang.String endpoint) throws java.lang.IllegalArgumentException
Callers can pass in just the endpoint (ex:
"lambda.us-east-1.amazonaws.com") or a full URL, including the protocol
(ex: "https://lambda.us-east-1.amazonaws.com"). If the protocol is not
specified here, the default protocol from this client's
ClientConfiguration
will be used, which by default is HTTPS.
For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= 3912
This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
endpoint
- The endpoint (ex: "lambda.us-east-1.amazonaws.com") or a
full URL, including the protocol (ex:
"https://lambda.us-east-1.amazonaws.com") of the region
specific AWS endpoint this client will communicate with.java.lang.IllegalArgumentException
- If any problems are detected with the
specified endpoint.void setRegion(com.amazonaws.regions.Region region) throws java.lang.IllegalArgumentException
setEndpoint(String)
, sets the
regional endpoint for this client's service calls. Callers can use this
method to control which AWS region they want to work with.
By default, all service endpoints in all regions use the https protocol.
To use http instead, specify it in the ClientConfiguration
supplied at construction.
This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
region
- The region this client will communicate with. See
Region.getRegion(com.amazonaws.regions.Regions)
for
accessing a given region.java.lang.IllegalArgumentException
- If the given region is null,
or if this service isn't available in the given region. See
Region.isServiceSupported(String)
Region.getRegion(com.amazonaws.regions.Regions)
,
Region.createClient(Class,
com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
InvokeResult invoke(InvokeRequest invokeRequest) throws com.amazonaws.AmazonClientException, com.amazonaws.AmazonServiceException
Invokes a Lambda function. You can invoke a function synchronously (and
wait for the response), or asynchronously. To invoke a function
asynchronously, set InvocationType
to Event
.
For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.
When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Retry Behavior.
For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.
The status code in the API response doesn't reflect function errors.
Error codes are reserved for errors that prevent your function from
executing, such as permissions errors, limit
errors, or issues with your function's code and configuration. For
example, Lambda returns TooManyRequestsException
if
executing the function would cause you to exceed a concurrency limit at
either the account level (ConcurrentInvocationLimitExceeded
)
or function level (
ReservedFunctionConcurrentInvocationLimitExceeded
).
For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.
This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.
invokeRequest
- ServiceException
ResourceNotFoundException
InvalidRequestContentException
RequestTooLargeException
UnsupportedMediaTypeException
TooManyRequestsException
InvalidParameterValueException
EC2UnexpectedException
SubnetIPAddressLimitReachedException
ENILimitReachedException
EFSMountConnectivityException
EFSMountFailureException
EFSMountTimeoutException
EFSIOException
EC2ThrottledException
EC2AccessDeniedException
InvalidSubnetIDException
InvalidSecurityGroupIDException
InvalidZipFileException
KMSDisabledException
KMSInvalidStateException
KMSAccessDeniedException
KMSNotFoundException
InvalidRuntimeException
ResourceConflictException
ResourceNotReadyException
com.amazonaws.AmazonClientException
- If any internal errors are encountered
inside the client while attempting to make the request or
handle the response. For example if a network connection is
not available.com.amazonaws.AmazonServiceException
- If an error response is returned by AWS
Lambda indicating either a problem with the data in the
request, or a server side issue.void shutdown()
com.amazonaws.ResponseMetadata getCachedResponseMetadata(com.amazonaws.AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing a request.
request
- The originally executed request.