ac-support-connector
v0.1.1
Published
This module sends unified support payloads to SQS. A dedicated service (not part of the connector) then processes those SQS messages and delivers the support messages to different channels (e.g. Teams, a helpdesk, etc)
Downloads
3
Readme
AC Support Connector
This module sends unified support payloads to SQS. A dedicated service (not part of the connector) then processes those SQS messages and delivers the support messages to different channels (e.g. Teams, a helpdesk, etc)
Prerequisites
Create a SQS queue (e.g. supportQueue) and use a policy that allows all (or selected) IAM users from the account to send messages to the queue:
{
"Sid": "Statement1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNTID:root"
},
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:eu-central-1:ACCOUNTID:supportQueue"
}
The function itself uses the default AWS profile on the machine or a set profile. You can set the profile using export profile=PROFILE_NAME.
Usage
// Init during bootstrap
const supportConnector = require('ac-support-connector')
await supportConnector.init({
serviceName: 'my-service',
instanceId: 'abc123' // optional unique identifier (for the instance the service is running on)
sqsQueue: 'mySupportList' // optional SQS queue name, if none set, defaults to 'supportQueue'
})
// now send logs like this
await supportConnector.createMessage({
subject: 'Operation failed',
text: 'The operation ABC failed due to missing parameter',
level: 'warn' // optional, if none is set, the level is info
})
Parameters
Init
|Parameter|Type|Usage| |---|---|---| |serviceName|string|Name of the service sending the support ticket |region|string OPTIONAL|AWS region |instanceId|string OPTIONAL|Unique identifier, if service runs on multiple machines |sqsQueue|string OPTIONAL|Name of AWS SQS queue. If not send, defaults to 'supportQueue'
Create Message
|Parameter|Type|Usage| |---|---|---| |subject|string|Subject of the message |text|string|Text of the message |level|string|Level of the message, if not set defaults to info. Available: error, warn, debug, verbose, info |block|integer|Seconds before the message is sent again (if the error occurs again). If Redis is not available, memory is used.
Links
License
Copyright AdmiralCloud AG, Mark Poepping