在AWS Mobile Hub for iOS中查找用户ID



我正在使用AWS Mobile Hub作为应用程序。我已经实现了一个正常工作的登录屏幕。我需要将客户端ID添加到DynamoDB上的数据库中。然而,我似乎无法在我的应用程序中实现这一点。

以下是AWS文档中的示例代码。打印结果时有一个明显的错误,因为它认为我们正在保存到NoSQL表中,但请忽略这一点。

@IBAction函数readButton(_ sender:任意){

let dynamoDbObjectMapper = AWSDynamoDBObjectMapper.default()
//Create data object using data models you downloaded from Mobile Hub
let newsItem: News = News();
dynamoDbObjectMapper.load(
// Use AWSIdentityManager.default().identityId here to get the user identity id.
newsItem.setUserId("us-east-1:01234567-89ab-123c-4de5-fab678cde901"),
News.self,
hashKey: userId,
rangeKey: rangeKey,
completionHandler: {
(error: Error?) -> Void in
if let error = error {
print("Amazon DynamoDB Save Error: (error)")
return
}
print("An item was saved.")
})

}

这是我在ViewController中实现的:

let dynamoDbObjectMapper=AWSDynamoDBObjectMapper.default()let user:Users=Users();

dynamoDbObjectMapper.load(
let userId = AWSIdentityManager.default().identityId,
User.setUserId(userId),
Users.self,
hashKey: userId,
completionHandler: {
(error: Error?) -> Void in
if let error = error {
print("Amazon DynamoDB Save Error: (error)")
return
}
print("An item was saved.")
})
}

不确定如何找到用户ID。请帮助

在代码片段中,userId指的是从AWSIdentityManager获取的IdentityId。IdentityId由AWS Cognito Federated Identities提供,它是用户连接到AWS服务的唯一标识符。

@IBAction func readButton(_ sender: Any) {
let dynamoDbObjectMapper = AWSDynamoDBObjectMapper.default()
//Create data object using data models you downloaded from Mobile Hub
let newsItem: News = News();
dynamoDbObjectMapper.load(
// Use AWSIdentityManager.default().identityId here to get the user identity id.
let userId = AWSIdentityManager.default().identityId
newsItem.setUserId(userId),
News.self,
hashKey: userId,
rangeKey: rangeKey,
completionHandler: {
(error: Error?) -> Void in
if let error = error {
print("Amazon DynamoDB Save Error: (error)")
return
}
print("An item was saved.")
})
}

最新更新