I've just published https://blog.jakubholy.net/2019/secure-repl-for-aws-fargate-services/ Feedback and improvements welcome! Also, Merry 🎄!
@holyjak I enjoyed that, thanks!
Thank you! I've now fixed links to the Tf modules
Trying to use the Cognitect aws-api
project to interact with S3. I can invoke ListBuckets
however if I try anything else like ListObjectsV2
or PutObject
all I get back is:
{:cognitect.anomalies/category :cognitect.anomalies/fault,
:cognitect.aws.client/throwable nil}
Does anyone know how I can get more information to see what’s failing?
Need more info. Can you post your client construction and invocation?
(def s3 (aws/client {:api :s3 |
:credentials-provider (credentials/basic-credentials-provider
creds)}))
(aws/invoke s3 {:op :ListBuckets})
<correct response>
(aws/invoke s3 {:op :ListObjectsV2 :request {:Bucket "valid-bucket-name"}})
{:cognitect.anomalies/category :cognitect.anomalies/fault,
:cognitect.aws.client/throwable nil}
What region is the bucket in?
US West (N. California)
What region is the client/code in?
They have to match
Is AWS_REGION is set in your env?
Alternatively you can pass an option on the client constructor
I have not set the region anywhere, didn’t think I needed to because ListBuckets
worked with out it. I’ll try setting it in the client constructor.
ListBuckets is a global op, the others are bucket (region-bound) ops
but the error is not helpful, I'll see if we can tighten that up
in general if you are running in AWS (EC2, Lambda, ECS) the client ctor doesn't need any options because everything is autodiscovered
locally I set AWS_PROFILE and have the region+creds in ~/.aws/
hope that helps
Adding :region "us-west-1"
to the client constructor did the trick. Thanks @ghadi!