Dlaczego AWS SNS rozważa odpowiedź 404 od subskrybenta, jak sukces?

0

Pytanie

Trudno mi zrozumieć, jak SNS przetwarza odpowiedzi. Mój klient SNS-to strona, która może ulec uszkodzeniu lub po prostu zwrócić błąd 4xx.

Jednak z jakiegoś powodu wydaje się, że SNS rozpatruje wnioski, które zwracają kody błędów 4xx, jak udane.

Jak mogę zrobić tak, aby wyszedł z komisji, jeśli kod odpowiedzi jest równy 4xx, a nie tylko 5xx?

Z czasopism widzimy, że klient zwraca kod stanu 404 Nie znaleziono, ale mimo to, status żądania nadal POMYŚLNY.

{
    "notification": {
        "messageMD5Sum": "fd746e97153916fd99bba*********",
        "messageId": "be666c50-8de5-594b-9e77-*********",
        "topicArn": "arn:aws:sns:us-east-1:060758096283:*********,
        "timestamp": "2021-11-23 14:21:23.778"
    },
    "delivery": {
        "deliveryId": "ef278086-2a70-5512-a191-da90d1534d24",
        "redrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:*********:*********-DLQ\"}",
        "destination": "*********/subscriber.php",
        "providerResponse": "Not Found",
        "dwellTimeMs": 80,
        "attempts": 1,
        "statusCode": 404
    },
    "status": "SUCCESS"
}

To powoduje u mnie problemy z monitoringiem, ponieważ bardzo trudno jest określić, czy moje wnioski są skuteczne, czy nie, nie przeglądając ich ręcznie.

amazon-sns
2021-11-23 14:36:00
1

Najlepsza odpowiedź

0

Zadaniem SNS - dostarczyć wiadomość na punkt końcowy. Jeśli punkt końcowy odpowiada ważnym kodem stanu (a nie błąd 5XX), uważa wysyłkę wiadomości sukcesem. Jak będzie odpowiedź na tę wiadomość, zależy od odbierającego API.

Aby być precyzyjnym, tylko kody stanu poza zakresem 200-499 będą traktowane jako błędy i powtarzać zgodnie z twoją polityką ponownych prób zgodnie z https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html. Jak tylko maksymalna liczba ponownych prób się wyczerpie, wiadomość zostanie dostarczona w DLQ, jeśli jest skonfigurowane.

2021-11-23 20:35:09

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................