Add to SQS from Lambda without SNS?
Is there a simple way for me to add to an AWS SQS queue from an AWS lambda?
From my google search research findings, it seems that the suggested workflow is to publish to an SNS topic, which can then push the message to the queue.
Question: Is there a reason to use SNS
on top of SQS
instead of using SQS
only?
Context (FYI):
My scenario is that I am using SQS as a logger queue. I need to push logs to this queue from a lambda.
amazon-web-services aws-lambda amazon-sqs amazon-sns
add a comment |
Is there a simple way for me to add to an AWS SQS queue from an AWS lambda?
From my google search research findings, it seems that the suggested workflow is to publish to an SNS topic, which can then push the message to the queue.
Question: Is there a reason to use SNS
on top of SQS
instead of using SQS
only?
Context (FYI):
My scenario is that I am using SQS as a logger queue. I need to push logs to this queue from a lambda.
amazon-web-services aws-lambda amazon-sqs amazon-sns
1
Yes, you can do that. You have to send a message to SQS via lambda. You don't need to set up SNS -> SQS. If you want to do that with node js sdk then I can provide a snippet. Just let me know!
– Nikolay Vetrov
Nov 13 at 20:14
I thought that SNS on top of the SQS is just to improve the flexibility. The SNS can send the message to multiple AWS services (SQS) at once.
– ChouW
Nov 16 at 7:50
@ChouW Yeah that is certainly a benefit, without adding too much complexity. In fact, considering how simple it is to send SNS from Lambda compared to pushing messages directly to SQS (requires explicit authN), using SNS might even be a simpler approach
– James Wierzba
Nov 16 at 17:21
add a comment |
Is there a simple way for me to add to an AWS SQS queue from an AWS lambda?
From my google search research findings, it seems that the suggested workflow is to publish to an SNS topic, which can then push the message to the queue.
Question: Is there a reason to use SNS
on top of SQS
instead of using SQS
only?
Context (FYI):
My scenario is that I am using SQS as a logger queue. I need to push logs to this queue from a lambda.
amazon-web-services aws-lambda amazon-sqs amazon-sns
Is there a simple way for me to add to an AWS SQS queue from an AWS lambda?
From my google search research findings, it seems that the suggested workflow is to publish to an SNS topic, which can then push the message to the queue.
Question: Is there a reason to use SNS
on top of SQS
instead of using SQS
only?
Context (FYI):
My scenario is that I am using SQS as a logger queue. I need to push logs to this queue from a lambda.
amazon-web-services aws-lambda amazon-sqs amazon-sns
amazon-web-services aws-lambda amazon-sqs amazon-sns
edited Nov 16 at 17:21
asked Nov 13 at 16:59
James Wierzba
6,48742761
6,48742761
1
Yes, you can do that. You have to send a message to SQS via lambda. You don't need to set up SNS -> SQS. If you want to do that with node js sdk then I can provide a snippet. Just let me know!
– Nikolay Vetrov
Nov 13 at 20:14
I thought that SNS on top of the SQS is just to improve the flexibility. The SNS can send the message to multiple AWS services (SQS) at once.
– ChouW
Nov 16 at 7:50
@ChouW Yeah that is certainly a benefit, without adding too much complexity. In fact, considering how simple it is to send SNS from Lambda compared to pushing messages directly to SQS (requires explicit authN), using SNS might even be a simpler approach
– James Wierzba
Nov 16 at 17:21
add a comment |
1
Yes, you can do that. You have to send a message to SQS via lambda. You don't need to set up SNS -> SQS. If you want to do that with node js sdk then I can provide a snippet. Just let me know!
– Nikolay Vetrov
Nov 13 at 20:14
I thought that SNS on top of the SQS is just to improve the flexibility. The SNS can send the message to multiple AWS services (SQS) at once.
– ChouW
Nov 16 at 7:50
@ChouW Yeah that is certainly a benefit, without adding too much complexity. In fact, considering how simple it is to send SNS from Lambda compared to pushing messages directly to SQS (requires explicit authN), using SNS might even be a simpler approach
– James Wierzba
Nov 16 at 17:21
1
1
Yes, you can do that. You have to send a message to SQS via lambda. You don't need to set up SNS -> SQS. If you want to do that with node js sdk then I can provide a snippet. Just let me know!
– Nikolay Vetrov
Nov 13 at 20:14
Yes, you can do that. You have to send a message to SQS via lambda. You don't need to set up SNS -> SQS. If you want to do that with node js sdk then I can provide a snippet. Just let me know!
– Nikolay Vetrov
Nov 13 at 20:14
I thought that SNS on top of the SQS is just to improve the flexibility. The SNS can send the message to multiple AWS services (SQS) at once.
– ChouW
Nov 16 at 7:50
I thought that SNS on top of the SQS is just to improve the flexibility. The SNS can send the message to multiple AWS services (SQS) at once.
– ChouW
Nov 16 at 7:50
@ChouW Yeah that is certainly a benefit, without adding too much complexity. In fact, considering how simple it is to send SNS from Lambda compared to pushing messages directly to SQS (requires explicit authN), using SNS might even be a simpler approach
– James Wierzba
Nov 16 at 17:21
@ChouW Yeah that is certainly a benefit, without adding too much complexity. In fact, considering how simple it is to send SNS from Lambda compared to pushing messages directly to SQS (requires explicit authN), using SNS might even be a simpler approach
– James Wierzba
Nov 16 at 17:21
add a comment |
2 Answers
2
active
oldest
votes
You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.
That is only one part to my question.
– James Wierzba
Nov 14 at 15:56
I am asking what benefits are there to using SNS on top of SQS, and are these benefits worth the added complexity in the architecture
– James Wierzba
Nov 16 at 17:22
add a comment |
It is possible to push from Lambda to SQS, you can try and make sense of the code below not sure if its gonna help or not
public async Task<string> FunctionHandler(ILambdaContext context, int count )
{
{
StringBuilder sb = new StringBuilder(1024);
using (StringWriter sr = new StringWriter(sb))
{
try
{
var credentials = new BasicAWSCredentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY");
var client = new AmazonSQSClient(credentials, RegionEndpoint.EUWest1);
SendMessageRequest request = new SendMessageRequest();
request.DelaySeconds = 0;
request.QueueUrl = "queue url";
request.MessageBody = "text of what you logging to SQS";
for (int i = 0; i < count; i++)
{
SendMessageResponse response = client.SendMessageAsync(request);
}
}
catch (Exception e)
{
throw e;
}
return "";
}
}
}
Do you have to import a library manually? Or is the library for sending messages to SQS already available in the lambda sandbox environment?
– James Wierzba
Nov 16 at 17:23
I use a nuget package for AWSSDK.SQS on .Net Core
– Kid_Nick
Nov 19 at 6:29
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53286032%2fadd-to-sqs-from-lambda-without-sns%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.
That is only one part to my question.
– James Wierzba
Nov 14 at 15:56
I am asking what benefits are there to using SNS on top of SQS, and are these benefits worth the added complexity in the architecture
– James Wierzba
Nov 16 at 17:22
add a comment |
You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.
That is only one part to my question.
– James Wierzba
Nov 14 at 15:56
I am asking what benefits are there to using SNS on top of SQS, and are these benefits worth the added complexity in the architecture
– James Wierzba
Nov 16 at 17:22
add a comment |
You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.
You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.
answered Nov 13 at 22:38
yoroto
692
692
That is only one part to my question.
– James Wierzba
Nov 14 at 15:56
I am asking what benefits are there to using SNS on top of SQS, and are these benefits worth the added complexity in the architecture
– James Wierzba
Nov 16 at 17:22
add a comment |
That is only one part to my question.
– James Wierzba
Nov 14 at 15:56
I am asking what benefits are there to using SNS on top of SQS, and are these benefits worth the added complexity in the architecture
– James Wierzba
Nov 16 at 17:22
That is only one part to my question.
– James Wierzba
Nov 14 at 15:56
That is only one part to my question.
– James Wierzba
Nov 14 at 15:56
I am asking what benefits are there to using SNS on top of SQS, and are these benefits worth the added complexity in the architecture
– James Wierzba
Nov 16 at 17:22
I am asking what benefits are there to using SNS on top of SQS, and are these benefits worth the added complexity in the architecture
– James Wierzba
Nov 16 at 17:22
add a comment |
It is possible to push from Lambda to SQS, you can try and make sense of the code below not sure if its gonna help or not
public async Task<string> FunctionHandler(ILambdaContext context, int count )
{
{
StringBuilder sb = new StringBuilder(1024);
using (StringWriter sr = new StringWriter(sb))
{
try
{
var credentials = new BasicAWSCredentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY");
var client = new AmazonSQSClient(credentials, RegionEndpoint.EUWest1);
SendMessageRequest request = new SendMessageRequest();
request.DelaySeconds = 0;
request.QueueUrl = "queue url";
request.MessageBody = "text of what you logging to SQS";
for (int i = 0; i < count; i++)
{
SendMessageResponse response = client.SendMessageAsync(request);
}
}
catch (Exception e)
{
throw e;
}
return "";
}
}
}
Do you have to import a library manually? Or is the library for sending messages to SQS already available in the lambda sandbox environment?
– James Wierzba
Nov 16 at 17:23
I use a nuget package for AWSSDK.SQS on .Net Core
– Kid_Nick
Nov 19 at 6:29
add a comment |
It is possible to push from Lambda to SQS, you can try and make sense of the code below not sure if its gonna help or not
public async Task<string> FunctionHandler(ILambdaContext context, int count )
{
{
StringBuilder sb = new StringBuilder(1024);
using (StringWriter sr = new StringWriter(sb))
{
try
{
var credentials = new BasicAWSCredentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY");
var client = new AmazonSQSClient(credentials, RegionEndpoint.EUWest1);
SendMessageRequest request = new SendMessageRequest();
request.DelaySeconds = 0;
request.QueueUrl = "queue url";
request.MessageBody = "text of what you logging to SQS";
for (int i = 0; i < count; i++)
{
SendMessageResponse response = client.SendMessageAsync(request);
}
}
catch (Exception e)
{
throw e;
}
return "";
}
}
}
Do you have to import a library manually? Or is the library for sending messages to SQS already available in the lambda sandbox environment?
– James Wierzba
Nov 16 at 17:23
I use a nuget package for AWSSDK.SQS on .Net Core
– Kid_Nick
Nov 19 at 6:29
add a comment |
It is possible to push from Lambda to SQS, you can try and make sense of the code below not sure if its gonna help or not
public async Task<string> FunctionHandler(ILambdaContext context, int count )
{
{
StringBuilder sb = new StringBuilder(1024);
using (StringWriter sr = new StringWriter(sb))
{
try
{
var credentials = new BasicAWSCredentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY");
var client = new AmazonSQSClient(credentials, RegionEndpoint.EUWest1);
SendMessageRequest request = new SendMessageRequest();
request.DelaySeconds = 0;
request.QueueUrl = "queue url";
request.MessageBody = "text of what you logging to SQS";
for (int i = 0; i < count; i++)
{
SendMessageResponse response = client.SendMessageAsync(request);
}
}
catch (Exception e)
{
throw e;
}
return "";
}
}
}
It is possible to push from Lambda to SQS, you can try and make sense of the code below not sure if its gonna help or not
public async Task<string> FunctionHandler(ILambdaContext context, int count )
{
{
StringBuilder sb = new StringBuilder(1024);
using (StringWriter sr = new StringWriter(sb))
{
try
{
var credentials = new BasicAWSCredentials("AWS_ACCESS_KEY", "AWS_SECRET_KEY");
var client = new AmazonSQSClient(credentials, RegionEndpoint.EUWest1);
SendMessageRequest request = new SendMessageRequest();
request.DelaySeconds = 0;
request.QueueUrl = "queue url";
request.MessageBody = "text of what you logging to SQS";
for (int i = 0; i < count; i++)
{
SendMessageResponse response = client.SendMessageAsync(request);
}
}
catch (Exception e)
{
throw e;
}
return "";
}
}
}
edited Nov 15 at 10:03
answered Nov 15 at 9:57
Kid_Nick
4210
4210
Do you have to import a library manually? Or is the library for sending messages to SQS already available in the lambda sandbox environment?
– James Wierzba
Nov 16 at 17:23
I use a nuget package for AWSSDK.SQS on .Net Core
– Kid_Nick
Nov 19 at 6:29
add a comment |
Do you have to import a library manually? Or is the library for sending messages to SQS already available in the lambda sandbox environment?
– James Wierzba
Nov 16 at 17:23
I use a nuget package for AWSSDK.SQS on .Net Core
– Kid_Nick
Nov 19 at 6:29
Do you have to import a library manually? Or is the library for sending messages to SQS already available in the lambda sandbox environment?
– James Wierzba
Nov 16 at 17:23
Do you have to import a library manually? Or is the library for sending messages to SQS already available in the lambda sandbox environment?
– James Wierzba
Nov 16 at 17:23
I use a nuget package for AWSSDK.SQS on .Net Core
– Kid_Nick
Nov 19 at 6:29
I use a nuget package for AWSSDK.SQS on .Net Core
– Kid_Nick
Nov 19 at 6:29
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53286032%2fadd-to-sqs-from-lambda-without-sns%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Yes, you can do that. You have to send a message to SQS via lambda. You don't need to set up SNS -> SQS. If you want to do that with node js sdk then I can provide a snippet. Just let me know!
– Nikolay Vetrov
Nov 13 at 20:14
I thought that SNS on top of the SQS is just to improve the flexibility. The SNS can send the message to multiple AWS services (SQS) at once.
– ChouW
Nov 16 at 7:50
@ChouW Yeah that is certainly a benefit, without adding too much complexity. In fact, considering how simple it is to send SNS from Lambda compared to pushing messages directly to SQS (requires explicit authN), using SNS might even be a simpler approach
– James Wierzba
Nov 16 at 17:21