- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在从 AWS Lambda 对 DynamoDB 表执行查询。使用 AWS.DynamoDB.DocumentClient 时,它似乎无法正确转换“N”数据类型。我收到错误“ValidationException:一个或多个参数值无效:条件参数类型与架构类型不匹配”。当我使用 AWS.DynamoDB 并显式指定“N”类型时,查询有效。两个“事件”值都是字符串。
我更愿意使用 AWS.DynamoDB.DocumentClient。有什么建议么?
--> 不工作
let dynamodb = new AWS.DynamoDB.DocumentClient({apiVersion: '2012-08-10'});
let params2 = {
TableName: "TABLENAME",
KeyConditionExpression: "#o = :owner and #s = :sortkey",
ExpressionAttributeNames: {
"#o" : "owner",
"#s" : "sortkey
},
ExpressionAttributeValues: {
":owner" : event.userId,
":sortkey" : event.objPartitionKey
}
};
const data = await dynamodb.query(params2).promise();
--> 工作中
let ddb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
// configure the dynamoDb query parameters
let params = {
TableName: "TABLENAME",
KeyConditionExpression: "#o = :owner and #s = :sortkey",
ExpressionAttributeNames: {
"#o" : "owner",
"#s" : "sortkey"
},
ExpressionAttributeValues: {
":owner" : {S: event.userId},
":sortkey" : {N: event.objPartitionKey}
}
};
const data = await ddb.query(params).promise();
最佳答案
DynamoDB DocumentClient 使用 javascript 类型来确定要编码到的 DynamoDB 类型。我只能假设 event.objPartitionKey 是一个 javascript 字符串。它需要是一个 JavaScript 数字才能正确编码到 dynamoDB“N”类型字段。要使第一个代码片段正常工作,请首先使用以下方法将 event.objPartitionKey 转换为数字: parseInt(event.objPartitionKey)
请参阅 AWS 文档以了解 DocumentClient 如何将 JS 类型编码为 dynamodb 类型: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html
关于node.js - 如何使用 AWS.DynamoDB.DocumentClient 在 ExpressionAttributeValues 中表达数字类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54246389/
如果我直接在桌面应用程序中使用 DocumentClient,则会暴露与构建文档客户端时使用的 api key 相关的安全问题。似乎没有办法保护 key 。将 key 带入客户端可能会导致黑客完全控制
我遇到一种情况,我需要检索特定文档,但我不知道它是 PartitionKey。 该方法如下所示: public async Task GetItemAsyncNoGroupId(string
我遇到一种情况,我需要检索特定文档,但我不知道它是 PartitionKey。 该方法如下所示: public async Task GetItemAsyncNoGroupId(string
DocumentClient 线程安全吗? 我收到了混合消息: 来自 MSDN https://msdn.microsoft.com/library/azure/microsoft.azure.doc
为什么没有 CreateDocumentQuery 的异步版本? 这个方法例如可以是异步的: using (var client = new DocumentClient(new Uri(en
我正在尝试遵循 azure DocumentDb 快速启动项目。我将要开发的应用程序将在 WPF 中而不是在控制台中,因此为了加快 documentdb 的速度,我创建了一个新的 wpf 项目 (.N
我在本地使用 DynamoDB,可以创建和删除表。我创建了一个只有一个键的表,如下所示 const tablePromise = dynamodb.listTables({}) .promis
我有一个 Azure Function v2,它调用一个实用程序库,该库又实例化一个 DocumentClient。当在本地运行我的函数时,它会在此行引发异常: _client = new Docum
Cosmos 入门和文档 db/sql。为什么这不起作用?我可以看到,没有抛出任何错误。有数据应该返回。 private const string EndpointUri = "some ur
我可能在这里遗漏了一些明显的东西,但是...我正在尝试使用 DocumentClient.UpsertDocumentAsync(...) 更新插入到 CosmosDB 中。问题是,我无法创建 Doc
我正在 F# 中编写一个 http 触发器 Azure 函数,我想绑定(bind)一个 DocumentClient 类型的参数,以便更好地控制在 Cosmos DB 中执行的查询。这是我到目前为止所
如何在 docClient.get() 之外获取 data.Item.Name 以便在其他函数中进一步使用它。 const docClient = new awsSDK.DynamoDB.Docume
祝大家感恩节快乐!我正在编写一个调用 DynamoDB 的 lambda 函数,但我遇到了设计/实现问题。 我有以下代码结构: exports.handler = function(event, co
所以我正在运行一些单元测试,我想从根本上消除 promise ,以便它在我想要的时候解决或拒绝。这是我的代码的样子。 getStatusForPromiseID = async (promiseId,
我尝试从 aws-sdk 使用 Amazons DocumentClient for AWS.dynamodb。我还使用 Amazon 的标准 node.js 虚拟机:“64 位 Amazon Lin
我正在使用 AWS.DynamoDB.DocumentClient,在本地使用 Dynamodb(端口 8080)。当我执行放置时,回调中的 data 变量是一个空对象。我错过了什么吗? import
我正在为下面的代码编写单元测试,它使用带有 where(filter) 条件的文档客户端 CreateDocumentQuery 方法。 var documentQuery = ReadOnlyDo
我的哈希键是一个名为 pid 的数字 这是代码 app.get('/register', (req, res) => { var params = { TableName:"passengers"
我是 DynamoDB 的新手。 当我使用 AWS.DynamoDB.DocumentClient 类从表中读取数据时,查询有效,但我得到的结果格式错误。 询问: { TableName: "us
这个问题与 DocumentClient 中的 Microsoft.Azure.DocumentDB.Core v2.11.2 相关。 (更新:该错误也存在于 Microsoft.Azure.Cosm
我是一名优秀的程序员,十分优秀!