1

自 7 月 3 日以来,每次我运行批处理作业以使用.net SDK将文件从 S3 上传到 Keen 时,我都开始收到此错误消息“一个或多个事件在批量添加操作期间被拒绝” 。

我不确定这个错误是来自 Keen IO 的服务器还是其他地方。

你知道我为什么会收到这条消息吗?

提前致谢。

4

2 回答 2

4

I have figured the root cause of the issue. Hopefully this can help others too.

I have one analytics envelop (AnalyticsEnvelope) which contains 20 activities (S3ToKeen.Activity). There are three of these activity objects (S3ToKeen.Activity) which contain a really long gibberish text (9241 chars each).

Someone (it can also be a bot because of the structure of the text) entered this text in one of our textbox. Our JavaScript captured and stored it in our analytics file in S3. To prevent, please put a limit on how many characters the user can enter in your website's textboxes.

It was hard to figure this out at the beginning, because we are sending the data in bulk of 100 item (S3ToKeen.AnalyticsItem). So I had to configure the batch job slightly and send the item one-by-one.

于 2017-07-06T02:28:01.017 回答
0

.net sdk 引发了该错误,因为您在异步上传期间遇到了某种 API 错误。您是否可以检查 Keen API 引发的错误?如果您可以从 API 中获得详细的错误响应,则可以更好地隔离问题。以下是您在发布活动时会遇到的最常见错误:

  1. 缺少或无效的参数。错误消息通常会包含更多信息,以帮助您找出问题所在。通常在您的一个事件中它是无效的 JSON。
  2. 你的要求太大了。如果您的活动有数百个属性并且异常大,则您的批次可能太大而无法发布。您可以减少批量大小来解决这个问题。

故障排除的一些后续步骤是:

  1. 看看你是否能找到 Keen API 抛出的错误信息。它将详细说明请求失败的原因。
  2. 检查您的事件,看看是否有任何明显的原因导致它们失败。
于 2017-07-05T23:31:11.700 回答