Amazon web services Amazon DynamoDB中是否有类似文件夹的层次结构

Amazon web services Amazon DynamoDB中是否有类似文件夹的层次结构,amazon-web-services,amazon-dynamodb,Amazon Web Services,Amazon Dynamodb,我是Amazon DynamoDB的新用户,当我使用DynamoDB时,我发现我只能创建表,而不能创建数据库(就像MySQL中的数据库) AmazonDynamodb中是否有类似于文件夹或数据库的层次结构系统,以便我可以将一组表放入一个文件夹(或数据库)中,从而使DynamoDB组织良好? 实际上,DynamoDB中没有文件夹,您的AWS将按每个帐户拥有它。但是您可以在不同的区域创建表 如果您计划将DynamoDB用于多个应用程序 创建新帐户(此方法的优点是,如果帐户是新的,您将获得两个应用程序

我是Amazon DynamoDB的新用户,当我使用DynamoDB时,我发现我只能创建表,而不能创建数据库(就像MySQL中的数据库)
AmazonDynamodb中是否有类似于文件夹或数据库的层次结构系统,以便我可以将一组表放入一个文件夹(或数据库)中,从而使DynamoDB组织良好?

实际上,DynamoDB中没有文件夹,您的AWS将按每个帐户拥有它。但是您可以在不同的区域创建表

如果您计划将DynamoDB用于多个应用程序

  • 创建新帐户(此方法的优点是,如果帐户是新的,您将获得两个应用程序的免费层)
  • 在不同的AWS区域中创建表(实际上,您可以看到不同区域中的数据库)
  • 您可以为同一帐户和同一地区的应用程序创建表,在这种情况下,您必须手动知道哪个表属于哪个应用程序

  • DynamoDB本身没有这种层次结构。 无论如何,如果它适合您的目的,您可以将表名设置为“$foldername_$tablename”。如果您以自动化的方式管理表,这是非常容易的,但是我认为如果您需要手动执行此操作,这可能会很麻烦

    例如:

    从boto.dynamodb2导入连接\u到\u区域
    从boto.dynamodb2.table导入表
    
    用户\表=表(用户+表名,方法1有些不切实际,在使用其他AWS服务(如CloudWatch)来监控资源的使用情况时会引起头痛,尤其是在您有多个应用程序的情况下。方法2会导致不同应用程序之间出现不同的延迟,如果应用程序多于区域。更好的方法是@matteo所描述的方法:根据表的用途命名表,如“TestUsers”、“ProdUsers”等@PavelSafronov,这是我在第三点中提到的。问题不是这些方法的优缺点……我看不出有任何理由投反对票。。
    from boto.dynamodb2 import connect_to_region
    from boto.dynamodb2.table import Table
    
    users_table = Table(user+'_'+table_name,  # <---this is what I mean
                            connection = connect_to_region(db_region,
                            aws_access_key_id=id,
                            aws_secret_access_key=key))