запустить локальный тест без изменения кодов - PullRequest
0 голосов
/ 12 февраля 2020

При текущем решении, когда мы запускаем тест с localstack , мне нужно настроить endpoint_url в коде

Используя python boto3 в качестве образца (его следует применить к другим aws sdk, например, nodejs, java, et c)

import boto3

session = boto3.session.Session()

s3_client = session.client(
    service_name='s3',
    aws_access_key_id='aaa',
    aws_secret_access_key='bbb',
    endpoint_url='http://localhost:4572',
)

Это неудобно. Я хочу запустить тест без изменения моих кодов.

Есть ли способы перенаправить все вызовы API aws на локальный хост с разными портами?

Например, это порты локального стека:

API Gateway at http://localhost:4567
Kinesis at http://localhost:4568
DynamoDB at http://localhost:4569
DynamoDB Streams at http://localhost:4570
S3 at http://localhost:4572
...

Могу ли я установить что-то (iptable ??) для перенаправления всех вызовов с https://s3.us-east-1.amazonaws.com на http://localhost: 4572 ?

и то же для другой конечной точки а также?

aws ссылка на конечную точку API: https://docs.aws.amazon.com/general/latest/gr/rande.html

https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html

protocol://service-code.region-code.amazonaws.com
...