草庐IT

python - S3 使用 boto 和 SigV4 - 缺少主机参数

在开发时,我在爱尔兰使用了一个S3桶,效果很好。对于生产,我想使用S3的新“法兰克福”位置,但显然新的法兰克福地区使用“SigV4”,它破坏了我的python脚本。将以下block添加到~/.boto时,出现以下错误:~/.boto:[s3]use-sigv4=True错误:File"/usr/lib/python2.6/site-packages/boto/__init__.py",line141,inconnect_s3returnS3Connection(aws_access_key_id,aws_secret_access_key,**kwargs)File"/usr/lib/

python - 使用 boto3 客户端提交时,spark-submit EMR 步骤失败

我正在尝试使用boto3客户端为EMR执行spark-submit。执行下面的代码后,EMR步骤提交,几秒钟后失败。如果在EMR主机上手动执行,来自步骤日志的实际命令行是有效的。Controller日志显示几乎不可读的垃圾,看起来像多个进程同时写入。UPD:尝试过command-runner.jar和EMR版本4.0.0和4.1.0任何想法表示赞赏。代码片段:classProblemExample:defrun(self):session=boto3.Session(profile_name='emr-profile')client=session.client('emr')respo

python - 如何通过 boto 获得当前现货价格?

我正在尝试使用get_spot_price_history()函数通过python中的boto获取当前现货价格。conn=boto.connect_ec2(aws_key,aws_secret)prices=conn.get_spot_price_history("m3.medium",'2017-04-20T21:14:45.000Z','2017-04-20T21:20:45.000Z',"us-east-1")报错Traceback(mostrecentcalllast):File"run.py",line22,inprices=conn.get_spot_price_histo

python - 如何找出 EC2 实例上次停止的时间

有没有办法轻松找出EC2实例上次停止的时间?通过查看launch_time变量,我可以从ec2.get_only_instances()获取启动时间。但是,停止时间似乎没有存储在任何元数据中。我们可能会使用rc#.d关闭脚本来实现这一点,但我只是想知道我是否可以通过boto获取该信息。 最佳答案 您可以使用stopped实例的reason变量:importboto.ec2conn=boto.ec2.connect_to_region("eu-west-1")reservations=conn.get_all_instances()f

python - 使用 boto 设置 hadoop 参数?

我正在尝试在我的AmazonElasticMapReduce作业中启用错误输入跳过。我遵循这里描述的绝妙食谱:http://devblog.factual.com/practical-hadoop-streaming-dealing-with-brittle-code上面的链接说我需要以某种方式在EMR作业上设置以下配置参数:mapred.skip.mode.enabled=truemapred.skip.map.max.skip.records=1mapred.skip.attempts.to.start.skipping=2mapred.map.tasks=1000mapred.m

python - 预签名 URL 和 x-amz-acl

我想创建一个所谓的“预签名”URL,用于将特定对象(PUT)上传到AmazonS3存储桶。到目前为止一切顺利。我正在使用python库boto创建一个包含所有必要内容(过期、签名等)的URL。网址如下所示:https://.s3.amazonaws.com/?Signature=&Expires=&AWSAccessKeyId=&x-amz-acl=public-read注意最后一个参数。至少,据我所知,这限制了使用此URL的任何人将对象上传到特定存储桶中的特定键,并且还限制了将在对象上设置为“公共(public)读取”的固定ACL。虽然我最后的陈述是完全不正确的。事实证明,如果您使用

python - 在 AWS EMR 5.0 上运行的 boto3 中向 MR 作业添加流步骤

我正在尝试将我用Python编写的几个MR作业从AWSEMR2.4迁移到AWSEMR5.0。到目前为止,我一直在使用boto2.4,但它不支持EMR5.0,所以我正在尝试转向boto3。早些时候,在使用boto2.4时,我使用了StreamingStep模块来指定输入位置和输出位置,以及我的mapper和reducer源文件的位置。使用这个模块,我实际上不必创建或上传任何jar来运行我的作业。但是,我无法在boto3文档中的任何地方找到该模块的等效项。如何将boto3中的流式处理步骤添加到我的MR作业中,这样我就不必上传jar文件来运行它? 最佳答案

python - 尝试使用 Paramiko 通过 SSH 连接到新的 EC2 实例时出现问题

我正在编写一个脚本,该脚本使用boto启动一个新的EC2实例,并使用ParamikoSSH客户端在该实例上执行远程命令。无论出于何种原因,Paramiko客户端无法连接,我收到错误消息:Traceback(mostrecentcalllast):File"scripts/sconfigure.py",line29,inssh.connect(instance.ip_address,username='ubuntu',key_filename=os.path.expanduser('~/.ssh/test'))File"build/bdist.macosx-10.3-fat/egg/pa

python - 通过 ec2 迭代描述实例 boto3

我正在尝试获取描述实例调用的特定值。因此,例如,如果我想从输出中获取“管理程序”值或Ebs具有“DeleteOnTermintation”值。以下是我当前用于进行调用和遍历字典输出的当前代码。importboto3importpprintfromdatetimeimportdatetimeimportjsonclient=boto3.client('ec2')filters=[{'Name':'tag:Name','Values':['*']}]classDatetimeEncoder(json.JSONEncoder):defdefault(self,obj):ifisinstanc

python - 将 boto 用于 AWS S3 Buckets for Signature V4

我在为法兰克福地区的S3存储桶使用Python-BotoSDK时遇到问题。根据Amazonlink该区域将仅支持V4。这document说明如何为BotoSDK添加V4支持。我添加了一个新部分:ifnotboto.config.get('s3','use-sigv4'):boto.config.add_section('s3')boto.config.set('s3','use-sigv4','True')然后我创建了新连接并获取了所有存储桶:connection=S3Connection(accesskey,secretkey,host=S3Connection.DefaultHos