2017-02-15 1 views
0

Ich habe versucht, eine Verbindung zu Amazon Boto SDK herzustellen, um einen Connector zu Amazon MWS-Dienst zu erstellen.Amazon Boto.mws-Verbindung mit IAM-Rollen und -Profilen

Wie auch immer, die einzige Möglichkeit, meine Anmeldeinformationen für die MWSConnection-Klasse von boto.mws.connection anzugeben, besteht in der Festcodierung im Zugriffs- und geheimen Schlüssel. Dies ist eindeutig nicht für den Einsatz geeignet.

Wenn ich andere Amazon-Dienste wie SQS verwendet habe, konnte ich mich mithilfe einer IAM-Rolle und eines IAM-Profils verbinden. Zum Beispiel, hier einiger Beispiel-Code, den ich verwendet habe, um SQS mit einem Profil zu verbinden:

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) 

Allerdings habe ich nicht in der Lage gewesen, ein Verfahren zur Verbindung über profile_name für MWS zu finden. Ich habe durch die Methoden MWSConnection Klasse gesucht, und das ist, wie es eine Verbindung instanziiert:

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) 

Es ist klar, den Zugang/geheime Schlüssel sind Keyword-Parameter zu akzeptieren. Gibt es trotzdem eine Verbindung zu MWS mit Amazon Boto SDK mit Profilen und IAM-Rollen?

Antwort

0

Marketplace Web Service (MWS) ist Amazon Einzelhandel. Ich denke nicht, dass es in irgendeiner Weise mit AWS zu tun hat und IAM überhaupt nicht verwendet. Ich bin wirklich überrascht, es in Boto unterstützt zu sehen (es ist not in boto3).