模拟摩托车数据库实例未从 EnableIAMDatabaseAuthentication 参数读取
Posted
技术标签:
【中文标题】模拟摩托车数据库实例未从 EnableIAMDatabaseAuthentication 参数读取【英文标题】:Mocked moto rds DB instance is not reading from the EnableIAMDatabaseAuthentication parameter 【发布时间】:2020-01-13 21:05:20 【问题描述】:我正在尝试检查这个测试,但似乎 EnableIAMDatabaseAuthentication 没有被传递给 moto
@mock_rds
def test_iam_database_authentication_enabled(self):
print(self.client.create_db_instance(
DBInstanceIdentifier='db-master-1',
AllocatedStorage=10,
Engine='postgres',
DBInstanceClass='db.m1.small',
EnableIAMDatabaseAuthentication=True,
MasterUsername='root',
MasterUserPassword='hunter2',
Port=1234,
))
'DBInstance': 'DBInstanceIdentifier': 'db-master-1', 'DBInstanceClass':'db.m1.small','Engine':'postgres', 'DBInstanceStatus':'available','MasterUsername':'root','Endpoint': '地址': 'db-master-1.aaaaaaaaaa.us-east-2.rds.amazonaws.com', '端口':1234,'AllocatedStorage':10,'InstanceCreateTime': datetime.datetime(2020, 1, 13, 13, 1, 10, 665000, tzinfo=tzutc()), 'PreferredBackupWindow': '03:50-04:20', 'BackupRetentionPeriod': 1, 'DBSecurityGroups':[],'VpcSecurityGroups':[],'DBParameterGroups': ['DBParameterGroupName': 'default.postgres9.3', 'ParameterApplyStatus':'同步中'],'PreferredMaintenanceWindow': 'wed:06:38-wed:07:08', 'MultiAZ': False, 'EngineVersion': '9.3.3', “AutoMinorVersionUpgrade”:假,“ReadReplicaDBInstanceIdentifiers”: [], 'LicenseModel': '通用公共许可证', 'OptionGroupMemberships': ['OptionGroupName': 'default.postgres9.3', '状态':'同步'],'PubliclyAccessible':假,'StatusInfos':[], 'StorageType':'gp2','StorageEncrypted':假,'DbiResourceId': 'db-M5ENSHXFPU6XHZ4G4ZEI5QIO2U','CopyTagsToSnapshot':假, 'DBInstanceArn': 'arn:aws:rds:us-east-2:1234567890:db:db-master-1', 'IAMDatabaseAuthenticationEnabled':假,'ResponseMetadata': 'RequestId': '523e3218-afc7-11c3-90f5-f90431260ab4', 'HTTPStatusCode': 200, 'HTTPHeaders': 'server': 'amazon.com', “重试次数”:0
我在尝试传递 EnableIAMDatabaseAuthentication 参数时做错了吗?它应该设置:IAMDatabaseAuthenticationEnabled
【问题讨论】:
【参考方案1】:我可以确认 moto 库本身没有从 this line of code in moto library 传递 EnableIAMDatabaseAuthentication 参数。
但是,我从上面的链接中得出结论,而不是查看 create_db_instance 函数的返回值,因为我查看了boto3 rds reference,它的响应值不返回 EnableIAMDatabaseAuthentication无论如何。
您没有做错任何事情,该值只是在 boto3 的响应中不存在。即使有一天 moto 确实传入了那个参数,它也不会在 boto3 之前出现。其中一个例子是 MasterUserPassword 参数,moto 确实通过了它,但 boto3 没有在响应中包含它。
【讨论】:
啊,我错了,它实际上应该翻转这个参数:IAMDatabaseAuthenticationEnabled以上是关于模拟摩托车数据库实例未从 EnableIAMDatabaseAuthentication 参数读取的主要内容,如果未能解决你的问题,请参考以下文章
需要 Appium-Help:模拟器未从 Appium.app 启动应用程序