Add to SQS from Lambda without SNS?










0















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.










share|improve this question



















  • 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 '18 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 '18 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 '18 at 17:21















0















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.










share|improve this question



















  • 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 '18 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 '18 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 '18 at 17:21













0












0








0








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.










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 16 '18 at 17:21







James Wierzba

















asked Nov 13 '18 at 16:59









James WierzbaJames Wierzba

6,64742861




6,64742861







  • 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 '18 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 '18 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 '18 at 17:21












  • 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 at 17:21












2 Answers
2






active

oldest

votes


















0














You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.






share|improve this answer























  • That is only one part to my question.

    – James Wierzba
    Nov 14 '18 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 '18 at 17:22


















0














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 "";








share|improve this answer

























  • 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 '18 at 17:23











  • I use a nuget package for AWSSDK.SQS on .Net Core

    – Kid_Nick
    Nov 19 '18 at 6:29










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
);



);













draft saved

draft discarded


















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









0














You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.






share|improve this answer























  • That is only one part to my question.

    – James Wierzba
    Nov 14 '18 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 '18 at 17:22















0














You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.






share|improve this answer























  • That is only one part to my question.

    – James Wierzba
    Nov 14 '18 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 '18 at 17:22













0












0








0







You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.






share|improve this answer













You can just use the AWS SDK to send your messages to your SQS queue. There is no magic here.







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 13 '18 at 22:38









yorotoyoroto

692




692












  • That is only one part to my question.

    – James Wierzba
    Nov 14 '18 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 '18 at 17:22

















  • That is only one part to my question.

    – James Wierzba
    Nov 14 '18 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 '18 at 17:22
















That is only one part to my question.

– James Wierzba
Nov 14 '18 at 15:56





That is only one part to my question.

– James Wierzba
Nov 14 '18 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 '18 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 '18 at 17:22













0














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 "";








share|improve this answer

























  • 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 '18 at 17:23











  • I use a nuget package for AWSSDK.SQS on .Net Core

    – Kid_Nick
    Nov 19 '18 at 6:29















0














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 "";








share|improve this answer

























  • 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 '18 at 17:23











  • I use a nuget package for AWSSDK.SQS on .Net Core

    – Kid_Nick
    Nov 19 '18 at 6:29













0












0








0







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 "";








share|improve this answer















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 "";









share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 15 '18 at 10:03

























answered Nov 15 '18 at 9:57









Kid_NickKid_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 '18 at 17:23











  • I use a nuget package for AWSSDK.SQS on .Net Core

    – Kid_Nick
    Nov 19 '18 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 '18 at 17:23











  • I use a nuget package for AWSSDK.SQS on .Net Core

    – Kid_Nick
    Nov 19 '18 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 '18 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 '18 at 17:23













I use a nuget package for AWSSDK.SQS on .Net Core

– Kid_Nick
Nov 19 '18 at 6:29





I use a nuget package for AWSSDK.SQS on .Net Core

– Kid_Nick
Nov 19 '18 at 6:29

















draft saved

draft discarded
















































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.




draft saved


draft discarded














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





















































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







這個網誌中的熱門文章

Barbados

How to read a connectionString WITH PROVIDER in .NET Core?

Node.js Script on GitHub Pages or Amazon S3