如何解决如何从 Android 或 iOS 模拟器访问本地 DynamoDB 实例?
大家早上好。
我目前正在使用 Xamarin.Forms 开发跨平台应用程序,对于我的第一次测试,我使用的是 DynamoDB 的本地实例而不是 AWS 在线实例(因为担心被收费)。
但是,我找不到从模拟器(Android 和 iOS)访问该实例的方法。
我正在按如下方式运行本地 dynamoDB 实例java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -port 8000 -sharedDb
我还下载并成功启动了 example project from AWS,其中创建了一个名为“Movies”的表,然后填充了数千行:执行了所有 CRUD 操作并且一切正常。
从这里开始,我开发了我的应用程序如下: 我首先检查端口 8000 上的 dynamoDB 实例:
using (var tcpClient = new TcpClient()) {
var result = tcp_client.BeginConnect("10.0.2.2",8000,null,null);
localFound = result.AsyncWaitHandle.WaitOne(3000); // Wait 3 seconds
tcpClient.EndConnect(result);
}
验证后,我创建了一个客户端:
var ddbConfig = new AmazonDynamoDBConfig {
ServiceURL = "http://10.0.2.2:8000",};
var credentials = new BasicAWSCredentials("mvAwsAccessKeyId","mvAwsSecretAccessKey");
var client = new AmazonDynamoDBClient(credentials,ddbConfig);
最后,我使用该客户端连接到数据库中的表:
try {
ListTablesResponse tblResponse = await client.ListTablesAsync();
}
然而,应用程序无限期地停止在最后一条指令上,就好像 IP 地址不正确一样。
我已经按照 Android documentation 关于如何设置模拟器网络以查找地址 10.0.2.2,并且我还通过在我的 PC 上运行的基本 python http 服务器验证了该应用程序实际上与该 IP 地址通信,所以我真的无法指出为什么这不起作用。
希望有人已经发现并解决了这个问题
问候
马泰奥
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。