规则执行时函数“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 个月前31 查看次数
1 回答
0

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

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

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则