问题标签 [amazon-kinesis-firehose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9089 浏览

amazon-web-services - AWS Firehose 跨区域/账户策略

我正在尝试创建 Firehose 流,该流可以通过 AWS Lambda 接收来自账户 A 中不同区域的数据,并输出到账户 B 中的红移表中。为此,我在账户 A 上创建了一个 IAM 角色:

我给了它以下权限:

在 Account BI 上,使用此信任策略创建了一个角色:

我为该角色提供了以下访问权限:

我还编辑了 S3 存储桶的访问策略,以授予对我的账户 A 角色的访问权限:

但是,这些都不起作用。当我尝试在账户 A 中创建流时,它没有列出账户 B 中的存储桶,也没有列出 redshift 集群。有什么办法可以使这项工作?

0 投票
1 回答
2777 浏览

amazon-web-services - API 网关 CORS HTTP 415

好的,我一直在这些互联网上寻找对我​​的问题的一些见解;我可能已经经历了 80 多个堆栈溢出线程 RE api gateway 等,但它们似乎都没有帮助或与我的问题足够接近。

我是 API Gateway 和 cors 的新手,但让我们看看我是否可以阐明我所看到的问题:

为 Kinesis firehose 设置 API 网关代理,为 redshift 数据库补充水分。代理、firehose 和 redshift 网关在单独调用时启动并工作,但从我们的一个客户站点调用时,我们收到如下错误:

好的,这强烈暗示需要 CORS,对吧?在资源的控制台中,启用 cors,部署,新错误:

Oooooooooookay,从启用 CORS 功能添加的新 OPTIONS 方法中,在集成响应中,允许的标头,在访问控制下允许的标头添加“$Cookies”,部署。

现在我收到一个新错误,与第一个错误非常相似:

请注意,第一个错误的 HTTP 状态代码为 403,而第三个错误的状态代码为 415。这就是我遇到问题的地方。如果我进入作为代理方法的 GET 方法,身体映射模板,我选择了“当没有定义模板时(推荐)”。

现在,我读到当 API 网关找不到匹配的模板时,它会以 415 错误拒绝,所以我将上述选项更改为“当没有模板与请求 Content-Type 标头匹配时”。这使错误消失了,但是当从源调用时,数据仍然没有被持久化到红移。同样,当我直接从邮递员、失眠或只是一个普通的旧地址栏调用 api 时,记录会很好地添加。

打开 chrome 并查看标题,我看到 cookie 以 text/html 的形式出现。

关于那里的模板映射,我只为 application/json 定义了一个映射;这可能是问题的一部分吗?

此外,从 chrome 的控制台查看的响应标头如下:

我对此比较陌生,所以我看不出云端如何适应这一点,尤其是考虑到它在抱怨媒体类型而控制台抱怨没有访问控制允许来源标头时。

无论如何,对于如何解决第三个错误的任何帮助将不胜感激。

0 投票
1 回答
1097 浏览

amazon-s3 - 从 Oracle 表流式传输到 Redshift

我是 Redshift 和 AWS 生态系统的新手。我正在寻找将数据更改从本地 Oracle EBS 表流式传输到 Redshift 的选项或最佳实践。

  1. 是否应该将 S3 用作暂存区?因此 Oracle->S3->Redshift?这对将 Oracle 表实时流式传输到 Redshift 有好处吗?
  2. 有什么方法可以绕过 S3 分段并执行 Oracle->AWS Kinesis(Firehose)->Redshift?如果是这样,是否有这样的场景我可以阅读?
  3. 使用 Kafka 而不是 AWS Kinesis 怎么样?
  4. AWS Kinesis 或 Kafka 是否可以直接从本地 Oracle 实例中提取?
  5. 是否有其他替代品/组件、ETL 工具可将近实时或近乎实时的数据加载到 Redshift?

有大量表要从本地 Oracle 流式传输。我是 Redshift 的新手,但熟悉 Oracle、SQL Server、PG。对不起,如果我在这里完全被打败了。

请帮助:)任何想法和/或参考将不胜感激......

0 投票
2 回答
1084 浏览

amazon-web-services - Amazon Kinesis Firehose 是否以编程方式支持数据转换?

我有一个用例,我必须验证发送到 Kinesis firehose 的有效负载确实正在发送。

为了做到这一点,我想出了链 Firehose -> Firehose 数据转换(使用 lambda) -> DDB -> 检查 DDB 中的有效负载(有效负载是 DDB 中的哈希键)。我必须以编程方式一次性定义整个链。数据转换与http://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html相同。

我正在做这一切,因为我无法完全控制它所在的 S3 存储桶中的文件名。所以我需要将确切的有效负载发送到一些持久键值存储中。

问题是

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/kinesisfirehose/model/CreateDeliveryStreamRequest.html似乎不支持添加数据转换 lambda。

我的问题是,这是否可行而无需触摸控制台一次(完全通过 AWS Kinesis Firehose API)。

或者确实有任何替代建议以某种方式将数据移动到 DDB。

0 投票
0 回答
211 浏览

elasticsearch - 使用 Kenesis Firehouse 和 Lambda 从 DynamoDB 重新加载 Elasticsearch 索引数据

我正在使用 Lambda 将 DynamoDB 流发送到 Kenesis Firehouse,然后再发送到 Elasticsearch。

我想知道是否可以自动从 DynamoDB 重新加载 Elasticsearch 索引数据。我的意思是,如果我删除 de elasticsearch Index 数据。如何在不使用任何 lambda 脚本的情况下再次发送旧的。

view typeDynamoDB 中,我选择了New and old images. 不知道有没有关系。因为有时我在弹性搜索记录中收到一个名为OldImageNewImage包含来自 DynamoDB 的数据的属性。

0 投票
1 回答
1539 浏览

amazon-web-services - AWS Cloudwatch 通过 Kinesis Firehose 记录到 ElasticSeacrh

我正在尝试使用 Kinesis Firehose 将 AWS cloudwatch 日志流式传输到 Amazon ES。但是,我在 ES 错误日志中不断收到以下错误。任何想法?

数据无法解码为 UTF-8,如 {"attemptsMade":0,"arrivalTimestamp":1494910856979,"errorCod‌​e":"InvalidEncodingE‌​xception","errorMess‌​age":"数据无法解码as UTF-8","attemptEndingTimestamp":1494911157268,"rawData":"H4s‌​IAAAAAAAAADWO0QqCMBi‌​FX2XsWiJBQ70LUW8sIYU‌​uQmLpnxvpJttMQnz3Ztr‌​lxzmcQj0RXNBWNMkErmk‌​SKoTfZSrmWQLoV1fBQlW‌​S9ZoLHrNUgFQ5u5a8XvY‌​HrBSfM6rWumdHQpDNjtu‌​M7vr333IPnOtZfbxG4pm‌​jTQ5tegEIK1YvxBlEgra‌​ZIPFFtlhgnyzOKmQQqFO‌​zwXM5fj/HcTewAAAA=",‌​"esDocumentId" :无效的

0 投票
0 回答
145 浏览

amazon-web-services - 将时间序列表与 Firehose 一起使用

我正在尝试将 Redshift 时间序列表与 Kinesis Firehose 一起使用,但没有找到正确设置 Firehose 的方法。 是 AWS 开发人员论坛上的一个类似问题

0 投票
1 回答
827 浏览

amazon-kinesis - Kinesis 代理输入 - 每天创建的日志文件

每天都会创建新的日志文件,并在名称中附加日期。例如,“data_log-2017-05-14”日志文件是为 5 月 14 日创建的。

我需要设置 Kinesis Agent 以从生成的日志中读取数据。但是由于每天都会创建一个新的日志文件,那么在 agent.json 文件中如何处理呢?

对此有何建议?

0 投票
3 回答
1266 浏览

amazon-s3 - 使用 Kinesis 从 S3 加载到 Redshift

我在 S3 中收到我的源文件,我需要将此数据加载到 redshift 中。

源 S3 文件通过 Kinesis Firehose 填充。

资源 :

要求 :

我想知道我是否可以使用 Kinesis 从 S3 加载到红移。

谢谢和问候, Srivignesh KN

0 投票
1 回答
1025 浏览

mysql - AWS Kinesis Firehose 未在 Redshift 中插入数据

我知道这个问题在 Stack Overflow 中已经被问过好几次了,但是我读到的答案都不能解决我遇到的问题。

我有一个 Boto3 脚本来将 MySQL 表复制到 Kinesis Streams。然后在另一端,有一个 KCL Node JS 脚本,用于从 Kinesis Streams 读取流并写入 S3。到现在为止还挺好。

我在同一区域设置了 Kinesis Firehose、Redshift 和 S3。然后我将 Firehose 设置为从 S3 读取并写入 Redshift。使用 Firehose 提供的演示数据进行测试时,一切都很好。

然后我设置了一个 Redshift 表,其中包含 MySQL 表中的所有列。Redshift 不支持某些数据类型,因此我使用了不同的数据类型,但我确信 Firehose 能够毫无问题地写入 Redshift 表。

下面是 MySQL 表截图。

MySQL 表

下面是 Redshift 表格截图。

红移表

如您所见,数据类型并不完全相同。我想知道Redshift对级别是否如此敏感,以至于每个数据类型都必须与MySQL表相同。

顺便说一句,我确实在 Firehost COPY 命令中指定了JSON 'auto'并启用了日志记录。不幸的是,没有记录错误。