在AWS CognitoUser类中,可以使用“标识符”属性作为DynamoDB表的主键。以下是使用Node.js的示例代码:
const AWS = require('aws-sdk');
const AmazonCognitoIdentity = require('amazon-cognito-identity-js');
// AWS配置
AWS.config.update({ region: 'us-east-1' });
const dynamodb = new AWS.DynamoDB.DocumentClient();
// Cognito用户池配置
const poolData = {
UserPoolId: 'us-east-1_xxxxxxx',
ClientId: 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
};
const userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
// 获取Cognito用户信息
const userData = {
Username: 'user@example.com',
Pool: userPool,
};
const cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
// 获取Cognito用户的标识符属性值
const identifier = cognitoUser.getUsername();
// 将数据写入DynamoDB表
const params = {
TableName: 'table-name',
Item: {
identifier: identifier,
attribute1: 'value1',
attribute2: 'value2',
},
};
dynamodb.put(params, function(err, data) {
if (err) {
console.error('Error inserting data into DynamoDB', err);
} else {
console.log('Data was successfully inserted into DynamoDB', data);
}
});
在上面的示例中,我们将Cognito用户的“标识符”属性用作DynamoDB表的主键。在将数据写入DynamoDB表时,我们将此属性作为第一个属性传递给DynamoDB put()方法。
请注意,此示例仅支持使用Node.js编写的后端应用程序。在其他编程语言中,可能需要编写不同的代码来访问Cognito用户池和DynamoDB表。