我正在尝试从boto3 s3客户端对象模拟一个单一方法来抛出异常.但我需要这个类的所有其他方法正常工作.
这样我可以在执行upload_part_copy时测试单个异常测试并发生错误
第一次尝试
import boto3
from mock import patch
with patch('botocore.client.S3.upload_part_copy', side_effect=Exception('Error Uploading')) as mock:
client = boto3.client('s3')
# Should return actual result
o = client.get_object(Bucket='my-bucket', Key='my-key')
# Should return mocked exception
e = client.upload_part_copy()
Run Code Online (Sandbox Code Playgroud)
但是,这会产生以下错误:
ImportError: No module named S3
Run Code Online (Sandbox Code Playgroud)
第二次尝试
在查看了botocore.client.py源代码后,我发现它正在做一些聪明的事情并且该方法upload_part_copy不存在.我发现它似乎在调用,BaseClient._make_api_call所以我试图嘲笑它
import boto3
from mock import patch
with patch('botocore.client.BaseClient._make_api_call', side_effect=Exception('Error Uploading')) as mock:
client = boto3.client('s3')
# Should return actual result
o = client.get_object(Bucket='my-bucket', Key='my-key')
# Should return mocked exception
e …Run Code Online (Sandbox Code Playgroud) 我在SQL Server中有一个表值函数(TVF),如下所示:
CREATE FUNCTION TVF_xyz(@AuditKey INT)
RETURNS TABLE
AS
RETURN
SELECT *
FROM xyz
WHERE AUDIT_KEY = @AuditKey
GO
Run Code Online (Sandbox Code Playgroud)
现在,我在xyz表中添加了新列。
当我使用查询时TVF_xyz,它不会显示新列(显示除新添加的列以外的所有其他列)。
查询:
SELECT TOP 10 *
FROM TVF_xyz (1543)
Run Code Online (Sandbox Code Playgroud)
我想知道,如何刷新TVF以显示新列。
PS:Select *用于TVF中以获取所有列。
在Python 3.6中创建嵌套目录时,收到以下错误:
AttributeError: 'module' object has no attribute 'mkdirs'
Run Code Online (Sandbox Code Playgroud)
样例代码:
def create_sample_data():
os.mkdirs("/tmp/lambdadir/ProjectTemp/mynewtest")
f=open("/tmp/lambdadir/ProjectTemp/mynewtest/my_copy.txt","w+")
f.write("This is inside a directory")
f.close()
Run Code Online (Sandbox Code Playgroud)
请帮忙。
我正在尝试删除负载均衡器,但收到以下错误:
无法删除,因为它当前与其他服务关联
按照此文档首先拒绝端点连接请求,然后尝试删除负载均衡器,但仍然收到相同的错误。
错误消息和我遵循的步骤的屏幕截图:
想知道我在这里还缺少什么。
我正在尝试寻找除“日期维度”示例之外的半加性事实的实时示例。
即,可以对除时间之外的所有维度的度量进行总结。
我正在寻找半加性事实示例,其中除了时间之外,无法跨维度对度量进行总结。
提前致谢。
-灰
我创建了 2 个胶水作业(gluejob1、gluejob2)。
我想创建一个依赖项,因为gluejob2 应该只在gluejob1 完成后运行。
为了编排这个,我创建了一个具有以下定义的阶跃函数:
{
"gluejob1": {
"Type": "Task",
"Resource": "gluejob1.Arn",
"Comment": "Glue job1.",
"Next": "gluejob2"
},
"gluejob2": {
"Type": "Task",
"Resource": "gluejob2.Arn",
"Comment": "TGlue job2.",
"Next": "Gluejob2 Finished Loading"
},
"Gluejob2 Finished Loading": {
"Type": "Pass",
"Result": "",
"End": true
}
}
Run Code Online (Sandbox Code Playgroud)
当我执行这个 step 函数时,状态函数在它触发 Gluejob1并继续触发gluejob2的那一刻称它为成功。
我想知道是否有可能只有在gluejob1 完成后才运行gluejob2。
amazon-elb ×1
amazon-vpc ×1
aws-glue ×1
aws-lambda ×1
boto ×1
boto3 ×1
botocore ×1
mocking ×1
python ×1
python-3.x ×1
scd ×1
sql-server ×1