AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Creates a new Lambda function. The function metadata is created from the request parameters, and the code for the function is provided by a .zip file in the request body. If the function name already exists, the operation will fail. Note that the function name is case-sensitive.

If you are using versioning, you can also publish a version of the Lambda function you are creating using the Publish parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:CreateFunction action.


For .NET Core, PCL and Unity this operation is only available in asynchronous form. Please refer to CreateFunctionAsync.

Namespace: Amazon.Lambda
Assembly: AWSSDK.Lambda.dll
Version: 3.x.y.z


public virtual CreateFunctionResponse CreateFunction(
         CreateFunctionRequest request
Type: Amazon.Lambda.Model.CreateFunctionRequest

Container for the necessary parameters to execute the CreateFunction service method.

Return Value
The response from the CreateFunction service method, as returned by Lambda.


CodeStorageExceededException You have exceeded your maximum total code size per account. Limits
InvalidParameterValueException One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.
ResourceConflictException The resource already exists.
ResourceNotFoundException The resource (for example, a Lambda function or access policy statement) specified in the request does not exist.
ServiceException The AWS Lambda service encountered an internal error.


This example creates a Lambda function.


var response = client.CreateFunction(new CreateFunctionRequest 
    Code = new FunctionCode {  },
    Description = "",
    FunctionName = "MyFunction",
    Handler = "souce_file.handler_name", // is of the form of the name of your source file and then name of your function handler
    MemorySize = 128,
    Publish = true,
    Role = "arn:aws:iam::123456789012:role/service-role/role-name", // replace with the actual arn of the execution role you created
    Runtime = "nodejs4.3",
    Timeout = 15,
    VpcConfig = new VpcConfig {  }

string codeSha256 = response.CodeSha256;
long codeSize = response.CodeSize;
string description = response.Description;
string functionArn = response.FunctionArn;
string functionName = response.FunctionName;
string handler = response.Handler;
string lastModified = response.LastModified;
integer memorySize = response.MemorySize;
string role = response.Role;
string runtime = response.Runtime;
integer timeout = response.Timeout;
string version = response.Version;
VpcConfigDetail vpcConfig = response.VpcConfig;


Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

Supported Versions: 4.6 and above
Supported Platforms: Android, iOS, Standalone

See Also