AWSSNSHandler is a Throwable handler for use in Catcher, a Throwable and error handling library for PHP. It sends throwables and errors to Amazon SNS topics. Right now AWSSNSHandler only supports sending to standard topics.
- PHP >= 8.1
- mensbeam/catcher ^2.1.2
- aws/aws-sdk-php ^3.283
composer require mensbeam/catcher-awssnshandler
For most use cases this library requires no configuration and little effort to integrate into non-complex environments:
use MensBeam\Catcher,
MensBeam\Catcher\AWSSNSHandler,
Aws\Sns\SnsClient;
$client = new SnsClient([
'version' => 'latest',
'region' => 'us-west-2',
'credentials' => [
'key' => '<AWS KEY>',
'secret' => '<AWS SECRET>'
]
]);
$catcher = new Catcher(new AWSSNSHandler($client, 'arn:aws:sns:us-west-2:701867229025:ook_eek'));
That's it. It will automatically register Catcher as an exception, error, and shutdown handler and use AWSSNSHandler
as its sole handler. Like other Catcher handlers, AWSSNSHandler can be configured with a logger. When logging it behaves identically to JSONHandler. See the Catcher documentation for more info on how to configure a logger.
namespace MensBeam\Catcher;
use Aws\Sns\SnsClient;
class AWSSNSHandler extends JSONHandler {
protected SnsClient $client;
protected string $topicARN;
public function __construct(SnsClient $client, string $topicARN, array $options = []);
public function getClient(): SnsClient;
public function setClient(SnsClient $client): void;
public function getTopicARN(): string;
public function setTopicARN(string $topicARN): void;
}
Returns the Aws\Sns\SnsClient
the handler uses
Returns the AWS SNS topic ARN the handler sends messages to
Replaces the Aws\Sns\SnsClient
the handler uses with one specified
Replaces the AWS SNS topic ARN the handler sends messages to with one specified