Skip to content

Instantly share code, notes, and snippets.

@igrishaev
Created December 21, 2023 08:43
Show Gist options
  • Save igrishaev/552366543c938e7e8a46013ad762af17 to your computer and use it in GitHub Desktop.
Save igrishaev/552366543c938e7e8a46013ad762af17 to your computer and use it in GitHub Desktop.
(.withCredentials cred-wrapper)
(.build))))
(defn ctx->client ^AmazonS3 [ctx]
(let [{:keys [aws]}
ctx
{:keys [aws-access-key-id
aws-secret-access-key
region]}
aws]
(create-client aws-access-key-id
aws-secret-access-key
region)))
#_
(defn list-streams [^AmazonS3 s3 ^String bucket]
(->> bucket
(S3Objects/inBucket s3)
(pmap (fn [^S3ObjectSummary summary]
(->> summary
(.getKey)
(.getObject s3 bucket)
(.getObjectContent))))))
(defn list-edn [^AmazonS3 s3 ^String bucket ^String prefix]
(->> (S3Objects/withPrefix s3 bucket prefix)
(pmap (fn [^S3ObjectSummary summary]
(->> summary
(.getKey)
(.getObject s3 bucket)
(.getObjectContent)
(util/to-edn))))))
(defn command
[ctx {:keys [id]}]
(let [{:keys [aws
service-name
environment-name-lower]}
ctx
{:keys [account-id]}
aws
s3
(ctx->client ctx)
bucket
(format "%s-%s-aggregates"
account-id
environment-name-lower)
_
(log/infof "bucket: %s" bucket)
realm
(some-> ctx :meta :realm name)
prefix
(format "aggregates/%s/latest/glms-dimension-svc" realm)
_
(log/infof "prefix: %s" prefix)
rows
(list-edn s3 bucket prefix)
ids
(util/d-time
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment