2017-02-15 79 views
0

我一直在試圖連接到亞馬遜的boto SDK來構建連接到亞馬遜MWS服務的連接器。Amazon boto.mws與IAM角色和配置文件的連接

但是,現在,我已經能夠向boto.mws.connection的MWSConnection類提供我的憑證的唯一方法是在訪問和密鑰中進行硬編碼。顯然這不適合部署。

當我使用其他亞馬遜服務(如SQS)時,我可以使用IAM角色和配置文件進行連接。例如,下面是一些示例代碼,我已經習慣用曲線連接到SQS:

REGION = "us-west-2" 
PROFILE_NAME = 'my_profile' 

class SQSManager(object): 

    def __init__(self): 
     self.conn = boto.sqs.connect_to_region(region_name=REGION, profile_name=PROFILE_NAME) 

但是,我一直沒能找到通過PROFILE_NAME連接的MWS的方法。我已經通過了MWSConnection類的方法搜查,這是怎麼實例化一個連接:

class MWSConnection(AWSQueryConnection): 

    ResponseFactory = boto.mws.response.ResponseFactory 
    ResponseErrorFactory = boto.mws.exception.ResponseErrorFactory 

    def __init__(self, *args, **kw): 
     kw.setdefault('host', 'mws.amazonservices.com') 
     self._sandboxed = kw.pop('sandbox', False) 
     self.Merchant = kw.pop('Merchant', None) or kw.get('SellerId') 
     self.SellerId = kw.pop('SellerId', None) or self.Merchant 
     kw = self._setup_factories(kw.pop('factory_scopes', []), **kw) 
     super(MWSConnection, self).__init__(*args, **kw) 

這顯然接受訪問/密鑰是關鍵字參數。無論如何要使用配置文件和IAM角色使用Amazon的boto SDK連接到MWS?

回答

0

市場Web服務(MWS)是亞馬遜零售。我認爲它與AWS沒有任何關係,它根本不使用IAM。我真的很驚訝,看到它支持博託(這是not in boto3)。