def _get_stream_kwargs(self, config: ConnectorConfig) -> Mapping[str, Any]: endpoint, marketplace_id, region = get_marketplaces(config.aws_environment)[config.region] boto3_client = boto3.client("sts", aws_access_key_id=config.aws_access_key, aws_secret_access_key=config.aws_secret_key) role = boto3_client.assume_role(RoleArn=config.role_arn, RoleSessionName="guid") role_creds = role["Credentials"] aws_signature = AWSSignature( service="execute-api", aws_access_key_id=role_creds.get("AccessKeyId"), aws_secret_access_key=role_creds.get("SecretAccessKey"), aws_session_token=role_creds.get("SessionToken"), region=region, ) auth = AWSAuthenticator( token_refresh_endpoint="https://api.amazon.com/auth/o2/token", client_secret=config.lwa_client_secret, client_id=config.lwa_app_id, refresh_token=config.refresh_token, host=endpoint.replace("https://", ""), ) stream_kwargs = { "url_base": endpoint, "authenticator": auth, "aws_signature": aws_signature, "replication_start_date": config.replication_start_date, "marketplace_ids": [marketplace_id], } return stream_kwargs
def reports_stream(): aws_signature = AWSSignature( service="execute-api", aws_access_key_id="AccessKeyId", aws_secret_access_key="SecretAccessKey", aws_session_token="SessionToken", region="US", ) stream = MerchantListingsReports( url_base="https://test.url", aws_signature=aws_signature, replication_start_date="2017-01-25T00:00:00Z", marketplace_ids=["id"], authenticator=NoAuth(), ) return stream
def reports_stream(marketplace_id): aws_signature = AWSSignature( service="execute-api", aws_access_key_id="AccessKeyId", aws_secret_access_key="SecretAccessKey", aws_session_token="SessionToken", region="Mars", ) stream = SellerFeedbackReports( url_base="https://test.url", aws_signature=aws_signature, replication_start_date="2010-01-25T00:00:00Z", marketplace_id=marketplace_id, authenticator=None, period_in_days=0, report_options=None, max_wait_seconds=0, ) return stream
def _internal(start_date: str = START_DATE_1, end_date: str = END_DATE_1): aws_signature = AWSSignature( service="execute-api", aws_access_key_id="AccessKeyId", aws_secret_access_key="SecretAccessKey", aws_session_token="SessionToken", region="US", ) stream = ListFinancialEvents( url_base="https://test.url", aws_signature=aws_signature, replication_start_date=start_date, replication_end_date=end_date, marketplace_id="id", authenticator=None, period_in_days=0, report_options=None, max_wait_seconds=500, ) return stream
def reports_stream(): aws_signature = AWSSignature( service="execute-api", aws_access_key_id="AccessKeyId", aws_secret_access_key="SecretAccessKey", aws_session_token="SessionToken", region="US", ) stream = MerchantListingsReports( url_base="https://test.url", aws_signature=aws_signature, replication_start_date="2017-01-25T00:00:00Z", replication_end_date="2017-02-25T00:00:00Z", marketplace_id="id", authenticator=None, period_in_days=0, report_options=None, max_wait_seconds=500, ) return stream
def _get_stream_kwargs( self, config: AmazonSellerPartnerConfig) -> Mapping[str, Any]: endpoint, marketplace_id, region = get_marketplaces( config.aws_environment)[config.region] sts_credentials = self.get_sts_credentials(config) role_creds = sts_credentials["Credentials"] aws_signature = AWSSignature( service="execute-api", aws_access_key_id=role_creds.get("AccessKeyId"), aws_secret_access_key=role_creds.get("SecretAccessKey"), aws_session_token=role_creds.get("SessionToken"), region=region, ) auth = AWSAuthenticator( token_refresh_endpoint="https://api.amazon.com/auth/o2/token", client_id=config.lwa_app_id, client_secret=config.lwa_client_secret, refresh_token=config.refresh_token, host=endpoint.replace("https://", ""), refresh_access_token_headers={ "Content-Type": "application/x-www-form-urlencoded" }, ) stream_kwargs = { "url_base": endpoint, "authenticator": auth, "aws_signature": aws_signature, "replication_start_date": config.replication_start_date, "marketplace_id": marketplace_id, "period_in_days": config.period_in_days, "report_options": config.report_options, "max_wait_seconds": config.max_wait_seconds, "replication_end_date": config.replication_end_date, } return stream_kwargs