Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / AWS:Lamdba pipeline / 13 сообщений из 13, страница 1 из 1
09.12.2018, 20:16
    #39745008
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
Есть задача. Обеспечить последовательное взаимодействие двух лямбд.

Типа pipeline. Тоесть результат одной лямбды - будет входным параметром для второй.
Реализуют интерфейс RequestStreamHandler.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
/**
 * Low-level request-handling interface, Lambda stream request handlers implement AWS Lambda Function application logic 
 * using input and output stream
 */
public interface RequestStreamHandler {
    /**
     * Handles a Lambda Function request
     * @param input The Lambda Function input stream
     * @param output The Lambda function output stream
     * @param context The Lambda execution environment context object.
     * @throws IOException
     */
    public void handleRequest(InputStream input, OutputStream output, Context context) throws IOException;
}



Решение должно быть в рамках технологий AWS.

Пока я не нашел тот связующий клей который позволяет это сделать. SNS/SQS?
Поднять на первой лямбде Rest клиента? Вобщем нужен совет опытных амазонщиков.
...
Рейтинг: 0 / 0
10.12.2018, 01:05
    #39745058
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
...
Рейтинг: 0 / 0
10.12.2018, 01:36
    #39745060
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
забыл ник,

Опять же, зависит от масштаба, если реально две лямбды то проще через sns, если нечто масштабное и управляемое то можно ещё сюда посмотреть https://aws.amazon.com/ru/api-gateway/features/
...
Рейтинг: 0 / 0
10.12.2018, 02:12
    #39745064
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
забыл никmayton,

Ну да sns, а чем не устраивает? https://aws.amazon.com/ru/blogs/big-data/using-aws-lambda-for-event-driven-data-processing-pipelines/ ну ещё можно посмотреть https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/what-is-datapipeline.html
У меня есть две AWSLamdba которые делают какие-то трансформации с документом.
Например первая читает Excel. Выдает на выход какой-то JSON документ.
Вторая процессит этот документ и складывает результат в Dynamo/S3.

Правильно ли я понимаю, что вы предлагает сделать первую Lamdba
SNS клиентом?
...
Рейтинг: 0 / 0
10.12.2018, 03:19
    #39745070
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
Ощущаю некую нехватку обучающего материала. В амазоновских доках описаны общие принципы
но мало примеров простых практик. Как много параметров надо чтобы послать сообщение?
В моём понимании - один ARN.

Но если шагать от клиента до отправки сообщения - то надо инициализировать много компонентов
и чем и как - ХЗ. По безопасности - пока можно взять 1 user которому разрешено все для простоты.

Кто знаком с AWS - сделайте code-revew и скажите где чего лишнего я написал.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
mport com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestStreamHandler;
import com.amazonaws.services.sqs.AmazonSQS;
import com.amazonaws.services.sqs.AmazonSQSClient;
import com.amazonaws.services.sqs.AmazonSQSClientBuilder;
import com.amazonaws.services.sqs.model.SendMessageRequest;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * https://sdk.amazonaws.com/java/api/latest/
 */
public class SimpleSNSLambda implements RequestStreamHandler {

    static final String queueArn = "arn:aws:sqs:eu-central-1:xxxxxxx:Queue1";

    @Override
    public void handleRequest(InputStream input, OutputStream output, Context context) throws IOException {

        // Processing input.....

        ClientConfiguration clientConfig = new ClientConfiguration();

        // TODO
        AwsClientBuilder.EndpointConfiguration endpointConfig = new AwsClientBuilder.EndpointConfiguration();

        // TODO
        AWSCredentialsProvider creds = new AWSStaticCredentialsProvider(null);

        // TODO
        AmazonSQS amazonSQS = AmazonSQSClient.builder()
                .withRegion(Regions.US_EAST_1)
                .withClientConfiguration(clientConfig)
                .withEndpointConfiguration(endpointConfig)
                .withCredentials(creds).build();

        amazonSQS.sendMessage("https://sqs.eu-central-1.amazonaws.com/xxxxxxx/Queue1","Message");

        amazonSQS.sendMessage(new SendMessageRequest()
                .withQueueUrl("https://sqs.eu-central-1.amazonaws.com/xxxxxxx/Queue1")
                .withMessageBody("Hello")
                .withDelaySeconds(30)
        );
    }

}

...
Рейтинг: 0 / 0
10.12.2018, 14:02
    #39745327
alex55555
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
maytonОщущаю некую нехватку обучающего материала
Это стандартно. Гугловый app engine тоже не ахти как документирован, опять же их ведроид, не смотря на уже десятилетний с плюсом возраст. Плюс архитектурно всё довольно убого.

В общем ради познакомиться с технологией - дерзайте, но как раз в плане знакомства хорошо пойдёт и понимание невысокого качества поделия, включая документацию. Некоторые продукты подобных контор прямо пишут на своих страницах - используйте stakoverflow, мол там все ответы есть. Ну что сказать - отличный подход.

Серьёзно ихние сервисы осваивать вообще не рекомендуется, ибо до сих пор присутствуют косяки, например, финансового плана, когда вдруг ваш счёт возрастает раз эдак в 10 и никакие претензии не принимаются, потому что это ваша задача доказать им, что вы не превысили ихние лимиты. Здесь разве что конторы сопоставимого размера могут какие-то права качать.
...
Рейтинг: 0 / 0
10.12.2018, 14:58
    #39745392
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
Это решение кастомера. Так что я или в деле или иду лесом.

По сабжу. Кто знает разницу между:
SQS

SNS

Amazon Kinesis Stream.

Читаю. Голова идет кругом. Подошла бы сравнительная табличка где по вертикали вышеуказанные поинты а по
горзизонтали типа... назначение. Время жизни сообщения. Поддержка publish-subscr. Протоколы и все прочее подобное.
...
Рейтинг: 0 / 0
10.12.2018, 16:17
    #39745448
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
alex55555maytonОщущаю некую нехватку обучающего материала
Это стандартно. Гугловый app engine тоже не ахти как документирован, опять же их ведроид, не смотря на уже десятилетний с плюсом возраст. Плюс архитектурно всё довольно убого.

В общем ради познакомиться с технологией - дерзайте, но как раз в плане знакомства хорошо пойдёт и понимание невысокого качества поделия, включая документацию. Некоторые продукты подобных контор прямо пишут на своих страницах - используйте stakoverflow, мол там все ответы есть. Ну что сказать - отличный подход.

Серьёзно ихние сервисы осваивать вообще не рекомендуется, ибо до сих пор присутствуют косяки, например, финансового плана, когда вдруг ваш счёт возрастает раз эдак в 10 и никакие претензии не принимаются, потому что это ваша задача доказать им, что вы не превысили ихние лимиты. Здесь разве что конторы сопоставимого размера могут какие-то права качать.

...
Рейтинг: 0 / 0
10.12.2018, 19:42
    #39745595
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
maytonЭто решение кастомера. Так что я или в деле или иду лесом.

По сабжу. Кто знает разницу между:
SQS

SNS

Amazon Kinesis Stream.

Читаю. Голова идет кругом. Подошла бы сравнительная табличка где по вертикали вышеуказанные поинты а по
горзизонтали типа... назначение. Время жизни сообщения. Поддержка publish-subscr. Протоколы и все прочее подобное.

кинезис он тебе не гарантирует вроде что в обозримое время мессадж придет. плюс там ограниченное время жизни сообщения, там какими то часами. да и для другого он. для приема, анализа и складирования потоковых данных.

имхо, вот тут https://stackoverflow.com/questions/13681213/what-is-the-difference-between-amazon-sns-and-amazon-sqs
неплохо написана разница между снс и скс.

насколько я понимаю, тебе всё же скс нужен. представь себе что это тоже самое что кафка с топиками паблишерами субскрайберами и прочим барахлом.
...
Рейтинг: 0 / 0
10.12.2018, 19:46
    #39745599
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
тут вроде задача ясна -- первая лямбда процессит документ полученный из топика А, выплевывает результат в топик Б, вторая лямбда высасывает всё из топика Б и складывает в С3 - этакий аркайвер. вот вроде и всё.

а зачем две лямбды?

мне кстати недавно пришлось дата процессинг пайплайн строить в авсе на кинезисе с его фаерхозом и аналитиксом, редшифте и ец2 со спарком. если честно - не понравились эти гребаные клики в гребаных окошках и совершенно необъяснимое поведение.

щас вот в авсе пишу чатбота на амазон лексе.. ну как пишу.. кликаю мышкой )) и оно падло работает. сразу из коробки.

по мне так барахло какое-то но чот все прям в тренде с этим авсом носятся
...
Рейтинг: 0 / 0
11.12.2018, 02:24
    #39745696
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
Сегодня прилетел update.

Значит будем работать по такой схеме. Источником события будет триггер которые реагирует на создание
файла в S3. Лямбда реагирует на него и начинает процессинг файла. Результат сохраняет тоже в S3.

Pipeline как таковой не существует но будем полагаться на надежность амазоновских триггеров.
...
Рейтинг: 0 / 0
11.12.2018, 11:09
    #39745833
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
мил человек, вопрос.. а как ты лямбду отлаживаешь в авс окружении?
...
Рейтинг: 0 / 0
12.12.2018, 00:59
    #39746361
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AWS:Lamdba pipeline
Пока никак. Разбираюсь. Беря во внимание stateless, думаю что модульных тестов хватит.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / AWS:Lamdba pipeline / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]