2014-06-24 78 views
0

我在AWS上发现,如果我获得IAM角色证书(密钥,秘密,令牌)并将它们设置为Python脚本中适当的环境变量,我可以创建并使用SWF Layer1对象就好了。但是,它看起来像Layer2对象不起作用。举例来说,如果我有伯特和进口的操作系统,并做到:AWS SWF使用IAM角色的问题

test = boto.swf.layer2.ActivityWorker() 
test.domain = 'someDomain' 
test.task_list = 'someTaskList' 
test.poll() 

我得到一个异常的安全令牌是无效的,而事实上,如果我通过对象挖,安全令牌未设置。这甚至与发生:

test = boto.swf.layer2.ActivityWorker(session_token=os.environ.get('AWS_SECURITY_TOKEN')) 

我可以通过做解决这个问题:

test._swf.provider.security_token = os.environ.get('AWS_SECURITY_TOKEN') 
test.poll() 

但似乎很哈克和恼人的,因为我有这个,我做一个新的二层对象都必须这样做。其他人注意到这一点?这种行为是出于某种原因,还是我在这里丢失了什么?

回答