AWS SDK for Ruby
Developer Guide

Enabling a Resource to Publish to a Queue in Amazon SQS

The following example enables the resource with the ARN my-resource-arn to publish to the queue with the ARN my-queue-arn and URL my-queue-url in the us-west-2 region.

require 'aws-sdk-sqs' # v2: require 'aws-sdk' sqs = Aws::SQS::Client.new(region: 'us-west-2') policy = '{ "Version":"2008-10-17", "Id":' + my-queue-arn + '/SQSDefaultPolicy", "Statement":[{ "Sid":"__default_statement_ID", "Effect":"Allow", "Principal":{ "AWS":"*" }, "Action":["SQS:SendMessage"], "Resource":"' + my-queue-arn + '", "Condition":{ "ArnEquals":{ "AWS:SourceArn":"' + my-resource-arn + '"} } }] }' sqs.set_queue_attributes({ queue_url: my-queue-url, attributes: { Policy: policy } })