Слово «доступно» относится к способности SNS связываться со службой Lambda и отправлять один запрос для вызова функции.
Ключ к пониманию этого требует, чтобы вы сначала знали, что SNS вызывает лямбда-функции асинхронно , а затем вы понимаете последствия этого.
Запрос асинхронного вызова не предоставляет никакой обратной связи вызывающей стороне (в данном случае SNS), независимо от того, была ли функция запущена немедленно или была ограничена, или она успешно выполнила или вызвала исключение.
SNS >> Lambda: "Hi, run this Lambda function asynchronously, with this payload."
Lambda >> SNS: "Okay, I received your request and will do that as soon as it is possible. Goodbye."
Абонент (SNS) не заботится о деталях, которые следуют ниже. После успешного выполнения запроса SNS завершает обработку этого сообщения, и теперь служба Lambda должна немедленно вызвать функцию и / или принять участие в задокументированном поведении Lambda Retry.
SNS фактически связывается со службой Lambda только один раз за сообщение. Когда он не может этого сделать, лямбда не «доступна». Это должно происходить очень, очень редко ... но если SNS не может установить контакт, то есть тогда, когда SNS участвует в поведении, описанном в FAQ по SNS, - пытается отправить запрос для вызова функции. Как только это будет выполнено, роль SNS будет завершена, а остальное будет обработано службой Lambda.
Каждое сообщение обрабатывается независимо через интеграцию SNS / Lambda, причем SNS обрабатывает каждое сообщение как можно скорее, при этом SNS не осознает, что вызовы функций впоследствии удушаются.