pub enum SqsDeliveryError {
QueueNotFound(String),
InvalidArn(String),
InvalidParameter(String),
AccessDenied(String),
TargetUnavailable(String),
Kms(KmsError),
}Expand description
Error returned by fallible SQS delivery. Used by Scheduler’s DLQ
routing, which must distinguish “target queue missing” from
“delivered successfully” to decide whether to send to the
DeadLetterConfig.Arn.
Variants§
QueueNotFound(String)
The target queue ARN did not resolve to any existing queue.
InvalidArn(String)
The ARN could not be parsed into a valid SQS queue identifier.
InvalidParameter(String)
The message violated a constraint required by the target queue (e.g. FIFO send missing MessageDeduplicationId without content-based dedup enabled). Surfaces as a non-retriable failure so the upstream service can route to its configured DLQ.
AccessDenied(String)
The target refused the delivery for lack of authorization (e.g. a Scheduler target bus in another account whose resource policy does not allow the schedule’s role).
The target could not take the delivery right now (e.g. a service’s delivery not wired yet at startup).
Kms(KmsError)
The queue is encrypted and KMS refused to encrypt the message for the
sender (e.g. an AWS service principal delivering into a queue under
the AWS-managed aws/sqs key, whose policy admits only callers of
the account).
Implementations§
Source§impl SqsDeliveryError
impl SqsDeliveryError
Sourcepub fn relayed_message(&self) -> String
pub fn relayed_message(&self) -> String
The message a service that relays SQS’s failure reports (an
EventBridge dead-letter message’s ERROR_MESSAGE), recorded in the
aws-managed-keys fixtures (eventbridge-sqs-target-failures.json):
for a KMS refusal, KMS’s relayed message wrapped in SQS’s own AWS SDK
service suffix; for a missing queue, SQS’s NonExistentQueue. The
other variants are not recorded and report their description.
Trait Implementations§
Source§impl Clone for SqsDeliveryError
impl Clone for SqsDeliveryError
Source§impl Debug for SqsDeliveryError
impl Debug for SqsDeliveryError
Source§impl Display for SqsDeliveryError
impl Display for SqsDeliveryError
impl Eq for SqsDeliveryError
Source§impl Error for SqsDeliveryError
impl Error for SqsDeliveryError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl PartialEq for SqsDeliveryError
impl PartialEq for SqsDeliveryError
impl StructuralPartialEq for SqsDeliveryError
Auto Trait Implementations§
impl Forget for SqsDeliveryError
impl Freeze for SqsDeliveryError
impl Move for SqsDeliveryError
impl RefUnwindSafe for SqsDeliveryError
impl Send for SqsDeliveryError
impl Sync for SqsDeliveryError
impl Unpin for SqsDeliveryError
impl UnsafeUnpin for SqsDeliveryError
impl UnwindSafe for SqsDeliveryError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.