interface NotificationConfigurationProperty
| Language | Type name |
|---|---|
.NET | Amazon.CDK.Mixins.Preview.AWS.S3.Mixins.CfnBucketPropsMixin.NotificationConfigurationProperty |
Go | github.com/aws/aws-cdk-go/awscdkmixinspreview/v2/awss3/mixins#CfnBucketPropsMixin_NotificationConfigurationProperty |
Java | software.amazon.awscdk.mixins.preview.services.s3.mixins.CfnBucketPropsMixin.NotificationConfigurationProperty |
Python | aws_cdk.mixins_preview.aws_s3.mixins.CfnBucketPropsMixin.NotificationConfigurationProperty |
TypeScript | @aws-cdk/mixins-preview » aws_s3 » mixins » CfnBucketPropsMixin » NotificationConfigurationProperty |
Describes the notification configuration for an Amazon S3 bucket.
If you create the target resource and related permissions in the same template, you might have a circular dependency.
For example, you might use the
AWS::Lambda::Permissionresource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function ( AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.
For more information on permissions, see AWS::Lambda::Permission and Granting Permissions to Publish Event Notification Messages to a Destination .
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { mixins as s3_mixins } from '@aws-cdk/mixins-preview/aws-s3';
const notificationConfigurationProperty: s3_mixins.CfnBucketPropsMixin.NotificationConfigurationProperty = {
eventBridgeConfiguration: {
eventBridgeEnabled: false,
},
lambdaConfigurations: [{
event: 'event',
filter: {
s3Key: {
rules: [{
name: 'name',
value: 'value',
}],
},
},
function: 'function',
}],
queueConfigurations: [{
event: 'event',
filter: {
s3Key: {
rules: [{
name: 'name',
value: 'value',
}],
},
},
queue: 'queue',
}],
topicConfigurations: [{
event: 'event',
filter: {
s3Key: {
rules: [{
name: 'name',
value: 'value',
}],
},
},
topic: 'topic',
}],
};
Properties
| Name | Type | Description |
|---|---|---|
| event | IResolvable | Event | Enables delivery of events to Amazon EventBridge. |
| lambda | IResolvable | (IResolvable | Lambda)[] | Describes the AWS Lambda functions to invoke and the events for which to invoke them. |
| queue | IResolvable | (IResolvable | Queue)[] | The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages. |
| topic | IResolvable | (IResolvable | Topic)[] | The topic to which notifications are sent and the events for which notifications are generated. |
eventBridgeConfiguration?
Type:
IResolvable | Event
(optional)
Enables delivery of events to Amazon EventBridge.
lambdaConfigurations?
Type:
IResolvable | (IResolvable | Lambda)[]
(optional)
Describes the AWS Lambda functions to invoke and the events for which to invoke them.
queueConfigurations?
Type:
IResolvable | (IResolvable | Queue)[]
(optional)
The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.
topicConfigurations?
Type:
IResolvable | (IResolvable | Topic)[]
(optional)
The topic to which notifications are sent and the events for which notifications are generated.

.NET
Go
Java
Python
TypeScript