我正在尝试设置对 kinesis firehose 的模拟服务调用。我正在从 moto 导入 mock_firehose 并将其引用为 @mock_firehose。在测试方法中,我使用 boto3 创建了一个客户端。
@mock_firehose
def test_push_to_stream(push_record, stream):
ret = app.push_to_stream(push_record, stream)
client = boto3.client('firehose', region_name='us-west-2)
我已导出要使用的 AWS_PROFILE 并检查了凭据是否正确。我遇到的错误是:
botocore.errorfactory.ResourceNotFoundException: An error occurred (ResourceNotFoundException) when calling the PutRecord operation: Firehose sample-name under account 123456789012 not found.
显然,虚拟账户 123456789012 是针对模拟 AWS 服务运行测试的默认测试账户。我不确定是否需要为测试帐户创建一个流,但这是有道理的。如果我注释掉 boto3.client 行并且在方法上方仅使用 @mock_firehose 似乎会失败。是否有我缺少的设置步骤要求我在调用@mock_firehose 之前初始化流?