Questions tagged with Amazon Simple Notification Service (SNS)
Content language: English
Sort by most recent
Hi all, hope all is well!
I have a domain email address set up using the following architecture:
Incoming Amazon SES email -> Publish to SNS topic -> output is in unreadable JSON format.
I followed [this guide](https://levelup.gitconnected.com/easily-create-email-addresses-for-your-route53-custom-domain-589d099dd0f2) to set it up, but there it seems the unreadable output is the final product.
Comments on the guide talk about using [a script to translate this](https://github.com/wparad/ses-forwarder.js), but I'm lost on how to set it up, and it seems there should be an easier way to do this.
Does anyone have any recommendations for me?
Hi,
I am creating a user via the Cognito console and send an invitation email. Then, I am using a lambda in order to customize the message and sent a link instead of a code (see https://medium.com/@jacobjoy/redirect-user-using-amazon-cognito-confirmation-url-d8ccb11bac75)
However, in the event object I do not get the clientId, that I need to pass to create the link. Any explanation or way to solve this issue?
```
EVENT {
version: '1',
region: 'eu-central-1',
userPoolId: 'eu-central-1_HMCpf6bx0',
userName: 'a7233ead-1d30-4337-984b-a6fc4fb2ab74',
callerContext: {
awsSdkVersion: 'aws-sdk-js-2.1291.0',
clientId: 'CLIENT_ID_NOT_APPLICABLE'
},
triggerSource: 'CustomMessage_AdminCreateUser',
request: {
userAttributes: {
sub: 'a7233ead-1d30-4337-984b-a6fc4fb2ab74',
'cognito:user_status': 'FORCE_CHANGE_PASSWORD',
email: 'rada26@qaenv.it'
},
codeParameter: '{####}',
linkParameter: '{##Click Here##}',
usernameParameter: '{username}'
},
response: { smsMessage: null, emailMessage: null, emailSubject: null }
}
2023-02-13T13:33:22.794Z c375476d-e852-4f5e-8ecf-0eeb0388c878 INFO EVENT { version: '1', region: 'eu-central-1', userPoolId: 'eu-central-1_HMCpf6bx0', userName: 'a7233ead-1d30-4337-984b-a6fc4fb2ab74', callerContext: { awsSdkVersion: 'aws-sdk-js-2.1291.0', clientId: 'CLIENT_ID_NOT_APPLICABLE' }, triggerSource: 'CustomMessage_AdminCreateUser', request: { userAttributes: { sub: 'a7233ead-1d30-4337-984b-a6fc4fb2ab74', 'cognito:user_status': 'FORCE_CHANGE_PASSWORD', email: 'rada26@qaenv.it' }, codeParameter: '{####}', linkParameter: '{##Click Here##}', usernameParameter: '{username}' }, response: { smsMessage: null, emailMessage: null, emailSubject: null } }
```
callerContext
SCENARIO:
I have a cloudwatch alarm action that triggers an SNS topic.
The alarm metric is configured to filter CRITICAL events in a Lambda Log group.
The Lambda (invoked every 15 minutes) checks for CloudFormation stacks in 'error' states and logs the critical event for each stack in the error state.
```
Logs::MetricFilter
FilterPattern: '{$.level="CRITICAL"}'
MetricValue: 1
CloudWatch::Alarm
AlarmActions: Send to SNS Topic
Period: 600
TreatMissingData: notBreaching
ComparisonOperator: GreaterThanOrEqualToThreshold
Threshold: 1
EvaluationPeriods: 1
Statistic: Maximum
```
Cloudwatch alarm works as expected when 1 stack is in the error state:
* Picks the CRITICAL event
* ALARM changes state to 'In Alarm'
* SNS Topic triggered
CHALLENGE:
If any other stack goes into error (like 15 minutes later), and the initial stack is still in error, the Alarm doesn't act on it. i.e. trigger the SNS topic.
I understand from research that this is normal behavior because *" If your metric value is still in breach of your threshold, the alarm will remain in the ALARM state until it no longer breaches the threshold."*
I have also tested this and confirmed - I used boto3 to **set_alarm_state** back to OK, invoked the Lambda manually, the Alarm state was changed back to 'In Alarm', and the SNS topic triggered.
QUESTION:
is there any other suitable configuration or logic I can use to trigger the SNS topic for every stack in the error state?
Hi All- I am trying to create a snowflake pipe and it fails with the following error
`090040 (XX000): Pipe Notifications bind failure "Invalid parameter: TopicArn (Service: Sns, Status Code: 400, Request ID: d7fbc360-1faf-5216-bfab-9f037f6ac63d): AwsErrorDetails(errorMessage=Invalid parameter: TopicArn, errorCode=InvalidParameter, serviceName=Sns)"`
Here is a documentation for reference [https://docs.snowflake.com/en/user-guide/data-load-snowpipe-auto-s3.html#prerequisite-create-an-amazon-sns-topic-and-subscription](Pipe)
Can someone shed light on how to resolve this. Though this is a snowflake error but I believe it has to do with configs on AWS which is causing this error
Hi - I am trying to add SNS topic as event notification to S3 buckets. However, it fails with the following error
```
Unknown Error
An unexpected error occurred.
API response
The ARN failed to satisfy constraint: Member must satisfy regular expression pattern: ^arn:aws[\p{Alpha}\-]*:sns:[\p{Alnum}\-]+:[\p{Digit}]{12}:[\p{Alnum}\-_]{1,256}$
```
Here is my S3 bucket arn:aws:s3:::name and SNS topic arn:aws:sns:us-east-2:accountid:SNSexample.fifo
What are all the best templates and tools out there where I could preview my html template before sending it using ses
I'm trying to set up a code example with the boilerplate SNS Publish Message java code example.
https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/sns/src/main/java/com/example/sns/PublishTopic.java
There are three problems:
1. Even though I've configured my credentials file in the .aws directory with the credentials, I get the following error: "Profile file contained no credentials for profile 'default'", etc.
2. Even if we got point #1 working, this is not how we want to do it. We'd prefer the AWS credentials to be stored in Java Environment variables in a properties file associated with the project, so the code is dependent on the user's setup. (It's supposed to be an example.)
3. There's apparently a problem everyone in my department is having with our AWS credentials, in that the AWS Session Token is only valid for 10 minutes after generation via the AWS Command Line console. We need a way around this.
Thanks in advance
I am trying to create a new Platform Endpoint at my Platform Application and receiving this error message while inputting some device tokens: "Invalid parameter: This endpoint is already registered with a different token".

Currently I've checked and the device tokens inputted were not being used by another existing platform endpoint at the same platform application. If I try to create the same Platform Endpoint at another Platform Application it works fine.
Hi everyone,
I just developed my own django app, in which I use AWS SDK boto3 to use DynamoDB and SNS in my code. Everything worked well on my local machine. I then deployed my app on AWS and my app is running well.
On my web browser, I access my app and when I perform operations that triggers DynamoDB and SNS services, then the app crashed with Internal Server Error(500).
I read some AWS documentation and it says that by default DynamoDB is communicated via HTTPS via internet.
I tried to add inbound rules to my EC2 with a hope to connect to DynamoDB, unfortunately it didn't work.
I would like to ask how we can set up connection between my EC2 and DynamoDB and SNS? I don't need VPC Endpoint, I just need a connection via Internet.
Do I add inbound rules on my EC2's sescurity group, public subnet route table?
OR
I need to add inbound rules on the load balancer?
Thanks a lot for your help
Hello forum,
I have a solutions architect question that need to be solved with some queuing strategy.
An external party sends us bursts of HTTP POST messages in a very quick rate of 15,000 per second. Our backend is not able to process all those messages at that speed. We need to receive them at 10 per second.
What would be the best option to slow down the speed of those messages?
Thank you for any feedback.
I'm looking to collect a list of users who failed to send mail when sending mail using AWS SES.
For example, if I send mail to a list of 100 users, I want to know how many users (need to get the whole mailing list) were sent unsuccessfully or the email does not exist or something error ... etc.
Is this possible with SES and I need help with the solution if so.
Thank you
Are there any performance hits when applying filter to SNS subscriptions (either standard or FIFO)?
Wondering if latency or throughput are affected by having 1+ filters
Thanks!