如何在 Appian Web API 中获取数据库行数



我正在尝试在 Appian 中编写一个自定义 web-api,它将 [除其他外] 返回数据库表中行数的计数。 为此,我在 api 代码中添加了这个局部变量。

local!countOfRows: a!queryEntity(
entity: cons!MY_DATABASE_TABLE_DS,
query: a!query(
pagingInfo: a!pagingInfo(
startIndex: 1,
batchSize: -1
)
),
fetchTotalCount: true
).totalCount,

这个想法是,然后我将把这个值作为 json 中的输出之一包含在内。 例如:

local!dataBaseCasesWithDocs: {
numRecs: local!countOfRows,
recList: local!listOfRecords
}

到目前为止,recList 项运行良好 - 从我的表中生成一个不错的数据行 json 列表 [尽管一次 10 个]。 但是,当我使用 numRecs 字段添加 countOfRows 的代码时,该函数失败并显示错误 500。

有什么想法吗?

[添加了额外的细节]

我 [也] 尝试编写一个单独的 api,它 [仅] 返回我的实体的行计数,但它 [也] 返回错误 500...

a!localVariables(
local!entities: a!queryEntity(
entity: cons!MY_DATABASE_TABLE_DS,
query: a!query(
pagingInfo: a!pagingInfo(
startIndex: 1,
batchSize: -1
)
),
fetchTotalCount: true
).totalCount,
a!httpResponse(
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson(value: local!entities)
)
)

谢谢堆,

大卫。

with(
local!entities: a!queryEntity(
entity: cons!MY_DATABASE_TABLE_DS,
query: a!query(
pagingInfo: a!pagingInfo(
startIndex: 1,
batchSize: 0
)
),
fetchTotalCount: true
).totalCount,
a!httpResponse(
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson({count: local!entities})
)
)

唯一的区别是我添加了 10 的批大小。 它 [尽管如此] 返回数据库中正确的行数...

我让 [原始] 代码也正常工作,通过类似地将批大小更改为较小的数字 [而不是 -1 来检索所有记录]。 事实证明,检索所有记录对于获取此 totalCount 字段的正确值不是必需的:

local!countOfRows: a!queryEntity(
entity: cons!MY_DATABASE_TABLE_DS,
query: a!query(
pagingInfo: a!pagingInfo(
startIndex: 1,
batchSize: 0
)
),
fetchTotalCount: true
).totalCount,   

实际上,将 batchsize 设置为 0 [对于此应用程序] 是最佳选择,因为这会获取元数据(包括 totalCount(,而不会实际浪费任何处理时间来检索数据行(在此实例中未使用( - 从而提高性能(感谢 Mike Schmitt 对此的提示(。

相关内容

  • 没有找到相关文章

最新更新