AWS Code Sample
Catalog

Update_Rule.php

Update_Rule.php demonstrates how to change an existing receipt rule that sends incoming messages to an Amazon SNS topic using an AWS Lambda function, but you can also send messages to Amazon S3.

<?php /** * Copyright 2010-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * This file is licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. A copy of * the License is located at * * http://aws.amazon.com/apache2.0/ * * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. * * ABOUT THIS PHP SAMPLE => This sample is part of the SDK for PHP Developer Guide topic at * https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/ses-filters.html * */ require 'vendor/autoload.php'; use Aws\SES\SESClient; use Aws\Exception\AwsException; //Create a SESClient $SesClient = new Aws\SES\SESClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $rule_name = 'Rule_Name'; $rule_set_name = 'Rule_Set_Name'; $lambda_arn = 'Amazon Resource Name (ARN) of the AWS Lambda function'; $sns_topic_arn = 'Amazon Resource Name (ARN) of the Amazon SNS topic'; try { $result = $SesClient->updateReceiptRule([ 'Rule' => [ 'Actions' => [ 'LambdaAction' => [ 'FunctionArn' => $lambda_arn, 'TopicArn' => $sns_topic_arn, ], ], 'Enabled' => true, 'Name' => $rule_name, 'ScanEnabled' => false, 'TlsPolicy' => 'Require', ], 'RuleSetName' => $rule_set_name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Sample Details

Service: ses

Last tested: 2018-09-20

Author: jschwarzwalder (AWS)

Type: full-example

On this page: