我正在Flutter中开发一个消息应用程序,所有消息都存储在AWS DynamoDB中。我没有找到任何直接支持DynamoDB和Dart的文档。因此,我首先将DB连接到NodeJS,并使用flutter应用程序的http req来获取消息。但它不太可靠。只有我能找到一种直接连接它的方法,我才能让应用程序运行得更快。如果有人知道这方面的方法,请帮助。
tyu7yeag1#
此编程语言没有AWS SDK。我唯一能想到的就是用你的编程语言编写代码,使用Rest调用DynamoDB。有一个AWS文档,其中包括一个示例:DynamoDB Low-Level API
72qzrwbm2#
您可以尝试非AWS提供的SDK,如one。它包含一个DynamoDB客户端。我以前没用过,所以我不能担保。
yhived7q3#
正如Richard提到的,https://pub.dev/packages/aws_dynamodb_api是一个很好的解决方案。我在dart中集成了DynamoDB和其他语言:
static var client = DynamoDB(region: 'eu-west-1', endpointUrl: "http://localhost:8000", credentials: AwsClientCredentials(accessKey: "dummy", secretKey: "dummy")); static Future<bool> init() async { var attributeDefinitions = <AttributeDefinition>[ AttributeDefinition(attributeName: "user_id", attributeType: ScalarAttributeType.n) ]; var keySchema = <KeySchemaElement>[ KeySchemaElement(attributeName: "user_id", keyType: KeyType.hash) ]; var throughput = ProvisionedThroughput(readCapacityUnits: 10, writeCapacityUnits: 10); try { var response = await client.createTable(attributeDefinitions: attributeDefinitions, keySchema: keySchema, provisionedThroughput: throughput, tableName: "Users"); print("Created table ${response.tableDescription!.tableName}"); return true; } catch(e) { print("Error: $e"); return false; }
我下载了DynamoDB的docker镜像进行测试:https://hub.docker.com/r/amazon/dynamodb-local/
3条答案
按热度按时间tyu7yeag1#
此编程语言没有AWS SDK。我唯一能想到的就是用你的编程语言编写代码,使用Rest调用DynamoDB。有一个AWS文档,其中包括一个示例:
DynamoDB Low-Level API
72qzrwbm2#
您可以尝试非AWS提供的SDK,如one。它包含一个DynamoDB客户端。我以前没用过,所以我不能担保。
yhived7q3#
正如Richard提到的,https://pub.dev/packages/aws_dynamodb_api是一个很好的解决方案。
我在dart中集成了DynamoDB和其他语言:
我下载了DynamoDB的docker镜像进行测试:https://hub.docker.com/r/amazon/dynamodb-local/