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

Типа 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
AWS:Lamdba pipeline
    #39745058
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
AWS:Lamdba pipeline
    #39745060
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

Опять же, зависит от масштаба, если реально две лямбды то проще через sns, если нечто масштабное и управляемое то можно ещё сюда посмотреть https://aws.amazon.com/ru/api-gateway/features/
...
Рейтинг: 0 / 0
AWS:Lamdba pipeline
    #39745064
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник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
AWS:Lamdba pipeline
    #39745070
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ощущаю некую нехватку обучающего материала. В амазоновских доках описаны общие принципы
но мало примеров простых практик. Как много параметров надо чтобы послать сообщение?
В моём понимании - один 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
AWS:Lamdba pipeline
    #39745327
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОщущаю некую нехватку обучающего материала
Это стандартно. Гугловый app engine тоже не ахти как документирован, опять же их ведроид, не смотря на уже десятилетний с плюсом возраст. Плюс архитектурно всё довольно убого.

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

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

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

SNS

Amazon Kinesis Stream.

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

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

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

...
Рейтинг: 0 / 0
AWS:Lamdba pipeline
    #39745595
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
AWS:Lamdba pipeline
    #39745599
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут вроде задача ясна -- первая лямбда процессит документ полученный из топика А, выплевывает результат в топик Б, вторая лямбда высасывает всё из топика Б и складывает в С3 - этакий аркайвер. вот вроде и всё.

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

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

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

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

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

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


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