属性 'ExclusiveStartKey' 不存在于类型 '{ TableName: any; }'
Property 'ExclusiveStartKey' does not exist on type '{ TableName: any; }'
我正在尝试扫描可能超过 1 MB 的 DynamoDB table,因此我正在使用 ExclusiveStartKey
。我一直在浏览 中的所有示例,但在这一行中出现错误:scanParams.ExclusiveStartKey = items.LastEvaluatedKey;
src/services/DynamoDB.ts:33:18 - error TS2339: Property 'ExclusiveStartKey' does not exist on type '{ TableName: any; }'.
33 scanParams.ExclusiveStartKey = items.LastEvaluatedKey;
~~~~~~~~~~~~~~~~~
Found 1 error.
这种方式是有道理的,因为 scanParams
通常只有 table 名称而没有其他键。那么,我该如何摆脱这个错误呢?
将 params
的形状提示到 Typescript:
const params = {
TableName: tableName,
ExclusiveStartKey: undefined, // <-- add this
};
或者,如果您真的很喜欢,可以导入并使用库的定义类型。如果您使用的是 doc client from SDK v3,例如:
import {ScanCommandInput} from '@aws-sdk/lib-dynamodb'
const params: ScanCommandInput = {
TableName: tableName,
};
我正在尝试扫描可能超过 1 MB 的 DynamoDB table,因此我正在使用 ExclusiveStartKey
。我一直在浏览 scanParams.ExclusiveStartKey = items.LastEvaluatedKey;
src/services/DynamoDB.ts:33:18 - error TS2339: Property 'ExclusiveStartKey' does not exist on type '{ TableName: any; }'.
33 scanParams.ExclusiveStartKey = items.LastEvaluatedKey;
~~~~~~~~~~~~~~~~~
Found 1 error.
这种方式是有道理的,因为 scanParams
通常只有 table 名称而没有其他键。那么,我该如何摆脱这个错误呢?
将 params
的形状提示到 Typescript:
const params = {
TableName: tableName,
ExclusiveStartKey: undefined, // <-- add this
};
或者,如果您真的很喜欢,可以导入并使用库的定义类型。如果您使用的是 doc client from SDK v3,例如:
import {ScanCommandInput} from '@aws-sdk/lib-dynamodb'
const params: ScanCommandInput = {
TableName: tableName,
};