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.

Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource policies to grant permissions to event sources that use push model. In a push model, event sources (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource policy allows an event source, permission to invoke the Lambda function.

For information about the push model, see AWS Lambda: How it Works.

If you are using versioning, the permissions you add are specific to the Lambda function version or alias you specify in the AddPermission request via the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:AddPermission action.

Note:

For PCL and Unity this operation is only available in asynchronous form. Please refer to AddPermissionAsync.

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

Syntax

C#
public abstract AddPermissionResponse AddPermission(
         AddPermissionRequest request
)
Parameters
request
Type: Amazon.Lambda.Model.AddPermissionRequest

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

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

Exceptions

ExceptionCondition
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. You will also get this exception if you have selected a deprecated runtime, such as Node v0.10.42.
PolicyLengthExceededException Lambda function access policy is limited to 20 KB.
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.
TooManyRequestsException

Examples

This example adds a permission for an S3 bucket to invoke a Lambda function.

add-permission


var response = client.AddPermission(new AddPermissionRequest 
{
    Action = "lambda:InvokeFunction",
    FunctionName = "MyFunction",
    Principal = "s3.amazonaws.com",
    SourceAccount = "123456789012",
    SourceArn = "arn:aws:s3:::examplebucket/*",
    StatementId = "ID-1"
});

string statement = response.Statement;

            

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

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

See Also