Hello good people.
Please can I have some assistance, I am trialing out a test flask app which takes a file input and uploads it to S3.
I am having great difficulty in setting the S3 endpoint URL.
Below is the connection parameters of my code:
NB: Something strange, I must note, the variable below “LOCALSTACK_HOSTNAME”, in the commented out line, This variable refuses to resolve. However I dnt think this is a problem, as when I type the full URL(http://localhost:4566) in my CLI, it does work…So theoretically the URL is correct if I type it without using variables.
ENDPOINT_URL_ = 'http://localhost.localstack.cloud:4566'
#ENDPOINT_URL_ = "http://localhost:4566"
#ENDPOINT_URL_ = f"http://{os.getenv("LOCALSTACK_HOSTNAME")}:{os.getenv("EDGE_PORT")}"
s3client = boto3.client("s3", region_name="us-east-1", endpoint_url = ENDPOINT_URL_,aws_access_key_id="test",
aws_secret_access_key="test")
As you can see the commented out URL’s is the different variations I have tried, However none works. Please shed some light on what I am doing wrong.
To confirm, I do know it is the correct URL, as if I run the below code in my cli, I get a successful return of my buckets. This proves I guess I have my setup and the URL is indeed correct. To that fact, it refuses to work in my flask app.
awslocal s3 --endpoint-url http://localhost.localstack.cloud:4566 ls