Beispiel #1
0
    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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
 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
Beispiel #5
0
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
Beispiel #6
0
    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