规则执行时函数“GetDynamodb”执行失败。无法从 dynamo 中检索和/或解析请求的项。

0

【以下的问题经过翻译处理】 我们有一个规则,其条件基于DynamoDB中的数据。我们希望基于给定的键在数据库中是否有条目进行过滤。查询语句如下:

SELECT * FROM '$aws/events/presence/connected/+' WHERE NOT isNull(get_dynamodb(MY_TABLE, 'HashKey', MY_HASHKEY, 'RangeKey', MY_RANGEKEY, MY_ROLE))

当数据存在时,规则按预期工作,但当数据不存在时,我们在云监视器中记录了以下错误:

details: Not able to retrieve and/or parse the requested item from dynamo. ErrorMessage:
eventType: FunctionExecution
logLevel: ERROR

details: Function 'GetDynamodb' failed to execute for rule MY_RULE. Not able to retrieve and/or parse the requested item from dynamo. ErrorMessage:
eventType: RuleExecution
logLevel: ERROR
reason: ExternFunctionException

因此,问题如下:

  1. 我是否可以使用get_dynamodb函数来检查数据库中是否存在项,还是只有在我知道给定键的数据存在时才能使用此函数?
  2. 在上述情况下,我应该期望我的错误操作触发吗?(测试表明我的错误操作没有触发)?
profile picture
エキスパート
質問済み 5ヶ月前36ビュー
1回答
0

【以下的回答经过翻译处理】 你好Magne。

  1. 如果一个条目不存在,你可以使用它,但会引发你目前遇到的“FunctionExecution”错误。所以这可能不是你想要的行为。
  2. 不会。错误操作仅在规则操作遇到错误时触发。你的规则查询未能产生匹配结果(因为错误发生在WHERE子句中),因此没有任何操作被触发。
profile picture
エキスパート
回答済み 5ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ