gpt4 book ai didi

amazon-web-services - 如何让未经身份验证的 Cognito 用户访问 AWS 上的 Dynamobdb?

转载 作者:行者123 更新时间:2023-12-04 18:00:41 25 4
gpt4 key购买 nike

与 Parse 相比,AWS 有一些学习曲线:)

  • 我在 dynamodb 中创建了一个名为“dynamotest”的表
  • IAM 显示我定义了以下角色 (policygen-Cognito_awst1Unauth_Role-201603071632):

{ "版本": "2012-10-17", “陈述”: [ { "Sid": "Stmt1457368244000", "效果": "允许", “行动”: [ “动态模块:*” ], “资源”:[ “arn:aws:dynamodb:eu-west-1:579313493028:table/dynamotest” ] } ]

在 Xamarin 应用程序中,我有以下代码:

//测试对 Dynamo 的访问

        var client = new AmazonDynamoDBClient(credentials, RegionEndpoint.EUWest1);

Table table = Table.LoadTable(client, "dynamotest");

var book = new Document();
book["Id"] = 101;
book["Title"] = "Book 101 Title";
book["ISBN"] = "11-11-11-11";
book["Authors"] = new List<string> { "Author 1", "Author 2" };
book["InStock"] = new DynamoDBBool(true);
book["QuantityOnHand"] = new DynamoDBNull();


table.PutItemAsync(book);

“凭据”是使用 Cognito 身份池 ID 创建的未经身份验证的用户的 Cognito 凭据。 Cognito-Synching 与这些凭据工作正常。

运行这段代码,表中没有数据。我也尝试使用对象持久化模型得到相同的结果。

我错过了什么步骤?没有错误 - 如果表中没有丢失数据,我什至不知道出了什么问题。

所以两个问题:1/如何为未经身份验证的 Cognito 用户启用对 Dynamodb 的访问。我是否需要创建一些任意用户并附加角色/策略??? Regionpoint 有问题吗(因为我在欧洲)?

2/如何使用适用于 Xamarin 的 AWS 开发工具包检查错误/问题?

请帮忙 - 谢谢!!

最佳答案

使用具有未经身份验证的 Cogntio 身份的 dynamodb 的一般流程是您创建一个身份池并将自动生成的 unauth 策略修改为允许访问您的 dynamodb 表的新策略。然后,您可以将 Cogntio 凭据用于未经身份验证的身份,以对 dynamodb 执行操作。

如果您可以将“table.PutItemAsync(book)”更改为“await table.PutItemAsync(book)”,然后将该代码包装在 try/catch block 中,它将捕获服务异常,然后您可以记录和调试实际错误是什么。

以下是一些特定于您的用例的文档,用于将 DynamoDb 与 Cogntio 结合使用

http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/dynamodb_om.html http://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/dynamodb-integration-docmodel.html

关于amazon-web-services - 如何让未经身份验证的 Cognito 用户访问 AWS 上的 Dynamobdb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35850806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com