Безсерверный (или облегченный сервер) пакет периодических загрузок изображений с веб-камеры Axis IP - PullRequest
0 голосов
/ 03 июля 2018

Я немного над головой.

У меня сейчас есть настройка системы, в которой используется FTP-сервер с поддержкой S3 (s3fs) и лямбда-функция S3 (написанная на Go) для обслуживания, архивирования и создания уменьшенных изображений неподвижных изображений с веб-камер Axis. Однако работа FTP-сервера, поддерживаемого на S3, оказывается проблематичной для S3FS, что имеет смысл, поскольку S3 не является файловой системой.

Я хочу перейти от использования параметра загрузки по FTP в камере к параметру загрузки по HTTP / HTTPS в камере, но я не совсем понимаю, как принимать данные, которые камера выдает, используя свой HTTP запрос. Единственная подсказка - следующий фрагмент кода, который я нашел на веб-сайте Axis, о том, как использовать эти HTTP-данные в скрипте Perl CGI (я не знаю Perl или CGI)

#!/usr/bin/perl -w

my $upload_dir = "/var/www/cgi-bin/upload/";

print "Content-Type: text/plain\r\n\r\n";
print "Upload OK\r\n";

my $file_name = $ENV{'HTTP_CONTENT_DISPOSITION'};
$file_name =~ s/^attachment; filename=\"(.*)\"$/$1/;

open (IMG_FILE, "> $upload_dir$file_name") or die "can't open 
>$upload_dir$file_name";
binmode(IMG_FILE);
while (<STDIN>) {

print IMG_FILE $_;

}
chmod 0666, "$upload_dir$file_name";

exit 0;

Я полагаю, что камера отправляет HTTP-запрос POST (?) С вложением из нескольких форм-данных (?) С изображением в этом вложении, но это предположение.

Я надеюсь, что кто-нибудь может предложить мне простой / легкий способ загрузки этих изображений с некоторой базовой аутентификацией и передачи их либо в прямую функцию Lambda, либо в S3, чтобы позднее она была обнаружена Lambda.

Возможно, я думал о AWS API Gateway, минимальном экземпляре Linux EC2 или, возможно, Lambda @ Edge?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...