This sample shows you how to blur an image using ImageMagick in a Storage-triggered Cloud Function.
View the source code.
-
Follow the Cloud Functions quickstart guide to setup Cloud Functions for your project.
-
Clone this repository:
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git cd nodejs-docs-samples/functions/imagemagick -
Create a Cloud Storage bucket for storing images (if you already have one you want to use, you can skip this step):
gsutil mb gs://YOUR_BUCKET_NAME- Replace
YOUR_BUCKET_NAMEwith the name of your image Bucket.
- Replace
-
Create a Cloud Storage Bucket to stage our deployment:
gsutil mb gs://YOUR_STAGE_BUCKET_NAME- Replace
YOUR_STAGE_BUCKET_NAMEwith the name of your Cloud Storage Bucket.
- Replace
-
Deploy the
blurOffensiveImagesfunction with a Storage trigger:gcloud alpha functions deploy blurOffensiveImages --trigger-bucket=YOUR_BUCKET_NAME --stage-bucket=YOUR_STAGE_BUCKET_NAME- Replace
YOUR_BUCKET_NAMEwith the name of your image Cloud Storage Bucket. - Replace
YOUR_STAGE_BUCKET_NAMEwith the name of your Cloud Storage Bucket.
- Replace
-
Upload an offensive image to your image Storage bucket, such as this image of a flesh-eating zombie: https://cdn.pixabay.com/photo/2015/09/21/14/24/zombie-949916_1280.jpg
-
Check the logs for the
blurOffensiveImagesfunction:gcloud beta functions get-logs blurOffensiveImagesYou should see something like this in your console:
D ... User function triggered, starting execution I ... `The image zombie.jpg has been detected as inappropriate.` D ... Execution took 1 ms, user function completed successfully