A Job Queue represents an Amazon SQS queue. Amazon Simple Queue Service (SQS) allows you to host a pull-based message queue for services in your distributed systems to poll for messages. These queues are used in a serverless architecture to provide resilient, scalable messaging.
Key Features of Amazon SQS include:
- Fully managed by AWS
- Cost-effective scaling on demand
- Uses server side encryption (SSE) to encrypt all your data
A Job Queue differs from a Topic, in the way that the consuming resource receives a message. A Job Queue requires their consumer resources to poll or "pull" messages from a queue, where as a Topic "pushes" messages instantaneously to subscribed consumer resources.
Event subscription wires (solid line) connect two or more resources and are required to accomplish certain tasks or improve performance within an application's flow.
The following resources can be subscribed to a Job Queue:
Service discovery wires (dashed line) provide compute resources (Function, Edge Function, Docker Task) with the permissions and environment variables required to perform actions using cloud resources within the stack. This resource is can be on the receiving end of a service discovery wire originating from compute resources.
The following compute resources can use a service discovery wire to access a Job Queue resource:
Human readable name for this resource that is displayed on the Stackery Dashboard and Stackery CLI output.
The unique identifier used to reference this resource in the stack template. Defining a custom Logical ID is recommended, as it allows you to quickly identify a resource and any associated sub-resources when working with your stack in AWS, or anywhere outside of the Stackery Dashboard. As a project grows, it becomes useful in quickly spotting this resource in
template.yaml or while viewing a stack in Template View mode.
The Logical ID of all sub-resources associated with this Queue will be prefixed with this value.
The identifier you provide must only contain alphanumeric characters (A-Za-z0-9) and be unique within the stack.
Default Logical ID Example:
IMPORTANT : AWS uses the Logical ID of each resource to coordinate and apply updates to the stack when deployed. On any update of a resource's logical ID (or any modification that results in one), CloudFormation will delete the currently deployed resource and create a new one in it's place when the updated stack is deployed.
Use Existing SQS Queue
When enabled, this feature provides you with a field to specify the Amazon Resource Name (ARN) of an existing SQS Queue to reference in your application.
You may reference an environment parameter in order to conditionally reference existing infrastructure based on environment.
When connected by a service discovery wire (dashed wire), a Function or Docker Task will add the following IAM statement/policy to its role and gain permission to access this resource.
Grants a Function or Docker Task permission to send messages to your Job Queue in the stack, or an existing SQS Queue outside of the current stack.
When connected by a service discovery wire (dashed wire), a Function or Docker Task will automatically populate and reference the following environment variables in order to interact with this resource.
The Logical ID of the Queue resource.
The Amazon Resource Name of your Queue.
The URL of your Queue.
Related AWS Documentation
AWS Documentation: AWS::SQS::Queue