J'ai essayé de me connecter au SDK boto d'Amazon pour créer un connecteur au service MWS d'Amazon.Connexion Amazon boto.mws avec des rôles et des profils IAM
Toutefois, à l'heure actuelle, la seule façon dont j'ai pu fournir mes informations d'identification à la classe MWSConnection de boto.mws.connection est de coder en dur dans la clé d'accès et la clé secrète. Clairement, cela ne convient pas au déploiement.
Lorsque j'ai utilisé d'autres services Amazon tels que SQS, j'ai pu me connecter en utilisant un rôle et un profil IAM. Par exemple, voici quelques exemples de code que je l'ai utilisé pour se connecter à SQS avec un profil:
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)
Cependant, je n'ai pas été en mesure de trouver une méthode pour se connecter via profile_name pour MWS. Je l'ai cherché à travers les méthodes de la classe MWSConnection, ce qui est la façon dont il instancie une connexion:
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)
Il est clairement accepter les touches d'accès/secrets sont des paramètres clés. Est-il possible de se connecter à MWS en utilisant le SDK boto d'Amazon en utilisant des profils et des rôles IAM?