#amazon-web-services #amazon-kinesis #amazon-kinesis-firehose
#amazon-веб-сервисы #amazon-kinesis #amazon-kinesis-firehose
Вопрос:
У нас есть команда, которая записывает данные в поток Kinesis в своей учетной записи (Acc A). Я хочу использовать эти данные в своей учетной записи (Acc B) в идеале с помощью Kinesis Firehose и просто перенести эти данные в S3.
Я просмотрел страницы документации AWS, но не нашел ответа. Можно ли использовать данные из Kinesis Stream с помощью Firehose, который находится в другой учетной записи AWS. И если да, то как, а если нет, то какое было бы наиболее простым решением для получения этих данных и перемещения их в S3?
Имейте в виду, что владельцы потока отказываются вносить какие-либо изменения в свою архитектуру.
Спасибо за любую помощь.
Ответ №1:
Я бы рекомендовал убедить владельца исходной учетной записи создать поток доставки kinesis на своей стороне, чтобы отправлять данные в корзину S3. Это намного проще.
Тем не менее, если это невозможно, вы можете создать поток аналитики данных Kinesis для использования данных из другой учетной записи, которые затем можно перекачивать в S3 с помощью потока доставки Kinesis.
Аналогичный подход объясняется здесь: https://docs.aws.amazon.com/kinesisanalytics/latest/java/examples-cross.html
Ответ №2:
Подключение потока данных Kinesis напрямую к Kinesis Firehose в другой учетной записи в настоящее время невозможно. Но вы могли бы, например, использовать лямбда-функцию для передачи данных между разными учетными записями — я использую эту настройку, и она работает нормально. Это может быть довольно дорого в зависимости от объема данных.
Здесь доступно руководство — единственное отличие от вашего требования заключается в том, что это лямбда-выражение основано на учетной записи A.