cdk-image-moderation
Event-driven image moderation and notification service with AWS CDK
Sample
This sample create a S3 bucket that will trigger image moderation check on object created and send notification to SNS when specific moderation labels are detected. The SNS2Telegram
creates a Lambda function as the SNS topic subscription which fires the notification to a private Telegram chatroom with the image preview and moderation result.
from cdk_image_moderation import Moderation, SNS2Telegram
app = cdk.App()
env = {
"region": process.env.CDK_DEFAULT_REGION,
"account": process.env.CDK_DEFAULT_ACCOUNT
}
stack = cdk.Stack(app, "moderation-demo", env=env)
mod = Moderation(stack, "Mod",
moderation_labels=[ModerationLabels.EXPLICIT_NUDITY, ModerationLabels.DRUGS, ModerationLabels.TOBACCO, ModerationLabels.ALCOHOL, ModerationLabels.VIOLENCE, ModerationLabels.RUDE_GESTURES
]
)
SNS2Telegram(stack, "SNS2TG",
topic=mod.topic,
chatid="-547476398"
)
Deploy the CDK app
export TELEGRAM_TOKEN=<YOUR_TOKEN>
cdk diff
cdk deploy
Deploy from this repository
export TELEGRAM_TOKEN=<YOUR_TOKEN>
cdk --app lib/integ.default.js diff
cdk --app lib/integ.default.js deploy
On deploy completed, you will get the S3 bucket in the Outputs
. Simply upload any images into this bucket and you should be able to get the notification from the Telegram chatroom.