Я работаю над созданием автоматизированного процесса, отправляющего PUT в API отдыха, когда объект обнаруживается DeepLens.
DeepLens → IoT → SNS → Lambda → API внешнего отдыха
DeepLens выполняет обнаружение объекта. Я использую правила IoT, которые отправляют сообщение в SNS topi c при обнаружении указанных c объектов. SNS topi c отправляет SMS, электронное письмо и запускает функцию Lambda. Функция Lambda выполняет PUT против внешнего API отдыха.
Я пытаюсь ограничить число раз, когда лямбда-функция может выполнять PUT один раз в 60 секунд. Пример лямбда-кода ниже, если
import http.client
import mimetypes
def lambda_handler(event, context):
conn = http.client.HTTPSConnection("api.who.what")
payload = " {\"id\" : \"SANITIZED\", \"duration\" : 60}"
headers = {
'Authorization': 'Bearer SANITIZED',
'Content-Type': 'text/plain'
}
conn.request("PUT", "/1/get/going/start", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))