Skip to content
v2.274.0

IQueue Interface ​

Represents an SQS queue.

Properties ​

encryptionMasterKeymay be undefinedIKeyencryption_master_keymay be undefinedIKeyencryptionMasterKeymay be undefinedIKeyEncryptionMasterKeymay be undefinedIKeyEncryptionMasterKeymay be undefinedIKey#
If this queue is server-side encrypted, this is the KMS encryption key.
encryptionTypemay be undefinedQueueEncryptionencryption_typemay be undefinedQueueEncryptionencryptionTypemay be undefinedQueueEncryptionEncryptionTypemay be undefinedQueueEncryptionEncryptionTypemay be undefinedQueueEncryption#
Whether the contents of the queue are encrypted, and by what type of key.
The environment this resource belongs to.
notes

For resources that are created and managed in a Stack (those created by creating new class instances like new Role(), new Bucket(), etc.), this is always the same as the environment of the stack they belong to.

For referenced resources (those obtained from referencing methods like Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be different than the stack they were imported into.

fifobooleanfifoboolfifoBooleanFifoboolFifo*boolrequired#
Whether this queue is an Amazon SQS FIFO queue.

If false, this is a standard queue.

nodeNodenodeNodenodeNodeNodeNodeNodeNoderequired#
The tree node.
queueArnstringqueue_arnstrqueueArnStringQueueArnstringQueueArn*stringrequired#
The ARN of this queue.
queueNamestringqueue_namestrqueueNameStringQueueNamestringQueueName*stringrequired#
The name of this queue.
queueRefQueueReferencequeue_refQueueReferencequeueRefQueueReferenceQueueRefQueueReferenceQueueRefQueueReferencerequired#
A reference to a Queue resource.
queueUrlstringqueue_urlstrqueueUrlStringQueueUrlstringQueueUrl*stringrequired#
The URL of this queue.
stackStackstackStackstackStackStackStackStackStackrequired#
The stack in which this resource is defined.

Methods ​

addToResourcePolicy(statement: PolicyStatement): AddToResourcePolicyResultdef add_to_resource_policy(self, statement: PolicyStatement) -> AddToResourcePolicyResultpublic AddToResourcePolicyResult addToResourcePolicy(PolicyStatement statement)public AddToResourcePolicyResult AddToResourcePolicy(PolicyStatement statement)func AddToResourcePolicy(Statement PolicyStatement) AddToResourcePolicyResult#
Adds a statement to the IAM resource policy associated with this queue.

If this queue was created in this stack (new Queue), a queue policy will be automatically created upon the first call to addToPolicy. If the queue is imported (Queue.import), then this is a no-op.

applyRemovalPolicy(policy: RemovalPolicy): voiddef apply_removal_policy(self, policy: RemovalPolicy) -> Nonepublic void applyRemovalPolicy(RemovalPolicy policy)public void ApplyRemovalPolicy(RemovalPolicy policy)func ApplyRemovalPolicy(Policy RemovalPolicy)#
Apply the given removal policy to this resource.
notes

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

grant(grantee: IGrantable, ...queueActions: string[]): Grantdef grant(self, grantee: IGrantable, queue_actions: str) -> Grantpublic Grant grant(IGrantable grantee, String queueActions)public Grant Grant(IGrantable grantee, string queueActions)func Grant(Grantee IGrantable, QueueActions *string) Grant#
Grant the actions defined in queueActions to the identity Principal given on this SQS queue resource.
2 parameters

Parameters

  • granteegranteegranteegranteeGrantee — Principal to grant right to.
  • queueActionsqueue_actionsqueueActionsqueueActionsQueueActions — The actions to grant.
grantConsumeMessages(grantee: IGrantable): Grantdef grant_consume_messages(self, grantee: IGrantable) -> Grantpublic Grant grantConsumeMessages(IGrantable grantee)public Grant GrantConsumeMessages(IGrantable grantee)func GrantConsumeMessages(Grantee IGrantable) Grant#
Grant permissions to consume messages from a queue.

This will grant the following permissions:

  • sqs:ChangeMessageVisibility
  • sqs:DeleteMessage
  • sqs:ReceiveMessage
  • sqs:GetQueueAttributes
  • sqs:GetQueueUrl
1 parameter

Parameters

  • granteegranteegranteegranteeGrantee — Principal to grant consume rights to.
grantPurge(grantee: IGrantable): Grantdef grant_purge(self, grantee: IGrantable) -> Grantpublic Grant grantPurge(IGrantable grantee)public Grant GrantPurge(IGrantable grantee)func GrantPurge(Grantee IGrantable) Grant#
Grant an IAM principal permissions to purge all messages from the queue.

This will grant the following permissions:

  • sqs:PurgeQueue
  • sqs:GetQueueAttributes
  • sqs:GetQueueUrl
1 parameter

Parameters

  • granteegranteegranteegranteeGrantee — Principal to grant send rights to.
grantSendMessages(grantee: IGrantable): Grantdef grant_send_messages(self, grantee: IGrantable) -> Grantpublic Grant grantSendMessages(IGrantable grantee)public Grant GrantSendMessages(IGrantable grantee)func GrantSendMessages(Grantee IGrantable) Grant#
Grant access to send messages to a queue to the given identity.

This will grant the following permissions:

  • sqs:SendMessage
  • sqs:GetQueueAttributes
  • sqs:GetQueueUrl
1 parameter

Parameters

  • granteegranteegranteegranteeGrantee — Principal to grant send rights to.
metric(metricName: string, props?: MetricOptions): Metricdef metric(self, metric_name: str, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metric(String metricName, MetricOptions props)public Metric Metric(string metricName, MetricOptions? props = null)func Metric(MetricName *string, Props MetricOptions) Metric#
Return the given named metric for this Queue.
metricApproximateAgeOfOldestMessage(props?: MetricOptions): Metricdef metric_approximate_age_of_oldest_message(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricApproximateAgeOfOldestMessage(MetricOptions props)public Metric MetricApproximateAgeOfOldestMessage(MetricOptions? props = null)func MetricApproximateAgeOfOldestMessage(Props MetricOptions) Metric#
The approximate age of the oldest non-deleted message in the queue.

Maximum over 5 minutes

metricApproximateNumberOfMessagesDelayed(props?: MetricOptions): Metricdef metric_approximate_number_of_messages_delayed(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricApproximateNumberOfMessagesDelayed(MetricOptions props)public Metric MetricApproximateNumberOfMessagesDelayed(MetricOptions? props = null)func MetricApproximateNumberOfMessagesDelayed(Props MetricOptions) Metric#
The number of messages in the queue that are delayed and not available for reading immediately.

Maximum over 5 minutes

metricApproximateNumberOfMessagesNotVisible(props?: MetricOptions): Metricdef metric_approximate_number_of_messages_not_visible(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricApproximateNumberOfMessagesNotVisible(MetricOptions props)public Metric MetricApproximateNumberOfMessagesNotVisible(MetricOptions? props = null)func MetricApproximateNumberOfMessagesNotVisible(Props MetricOptions) Metric#
The number of messages that are in flight.

Maximum over 5 minutes

metricApproximateNumberOfMessagesOutstanding(props?: MetricOptions): MathExpressiondef metric_approximate_number_of_messages_outstanding(self, props: typing.Optional[MetricOptions] = None) -> MathExpressionpublic MathExpression metricApproximateNumberOfMessagesOutstanding(MetricOptions props)public MathExpression MetricApproximateNumberOfMessagesOutstanding(MetricOptions? props = null)func MetricApproximateNumberOfMessagesOutstanding(Props MetricOptions) MathExpression#
The number of messages waiting to be picked up plus the number in flight.
notes

ApproximateNumberOfMessagesVisible + ApproximateNumberOfMessagesNotVisible, as a metric math expression. Prefer this over metricApproximateNumberOfMessagesVisible when scaling consumers in: receiving a message lowers Visible, so a policy watching only Visible cannot tell a consumer that just picked up work from one that finished it.

statistic, unit and dimensions apply to both underlying metrics, label, color and period to the expression.

Maximum over 5 minutes

metricApproximateNumberOfMessagesVisible(props?: MetricOptions): Metricdef metric_approximate_number_of_messages_visible(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricApproximateNumberOfMessagesVisible(MetricOptions props)public Metric MetricApproximateNumberOfMessagesVisible(MetricOptions? props = null)func MetricApproximateNumberOfMessagesVisible(Props MetricOptions) Metric#
The number of messages available for retrieval from the queue.

Maximum over 5 minutes

metricNumberOfEmptyReceives(props?: MetricOptions): Metricdef metric_number_of_empty_receives(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfEmptyReceives(MetricOptions props)public Metric MetricNumberOfEmptyReceives(MetricOptions? props = null)func MetricNumberOfEmptyReceives(Props MetricOptions) Metric#
The number of ReceiveMessage API calls that did not return a message.

Sum over 5 minutes

metricNumberOfMessagesDeleted(props?: MetricOptions): Metricdef metric_number_of_messages_deleted(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfMessagesDeleted(MetricOptions props)public Metric MetricNumberOfMessagesDeleted(MetricOptions? props = null)func MetricNumberOfMessagesDeleted(Props MetricOptions) Metric#
The number of messages deleted from the queue.

Sum over 5 minutes

metricNumberOfMessagesReceived(props?: MetricOptions): Metricdef metric_number_of_messages_received(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfMessagesReceived(MetricOptions props)public Metric MetricNumberOfMessagesReceived(MetricOptions? props = null)func MetricNumberOfMessagesReceived(Props MetricOptions) Metric#
The number of messages returned by calls to the ReceiveMessage action.

Sum over 5 minutes

metricNumberOfMessagesSent(props?: MetricOptions): Metricdef metric_number_of_messages_sent(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNumberOfMessagesSent(MetricOptions props)public Metric MetricNumberOfMessagesSent(MetricOptions? props = null)func MetricNumberOfMessagesSent(Props MetricOptions) Metric#
The number of messages added to a queue.

Sum over 5 minutes

metricSentMessageSize(props?: MetricOptions): Metricdef metric_sent_message_size(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricSentMessageSize(MetricOptions props)public Metric MetricSentMessageSize(MetricOptions? props = null)func MetricSentMessageSize(Props MetricOptions) Metric#
The size of messages added to a queue.

Average over 5 minutes

with(...mixins: IMixin[]): IConstructdef with(self, mixins: IMixin) -> IConstructpublic IConstruct with(IMixin mixins)public IConstruct With(IMixin mixins)func With(Mixins IMixin) IConstruct#
Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited.

1 parameter · returns

Parameters

  • mixinsmixinsmixinsmixinsMixins — The mixins to apply.

Returns: This construct for chaining