Caching

For private buckets, it's recommended to cache the query endpoint via /api/s3/query/** route rules.

nuxt.config.ts
  routeRules: {
    "/api/s3/query/**": { isr: true },
  },

For public buckets, it's recommended to directly serve objects from the service provider.

Given the bucket's public_bucket_url, the key can be extracted from the object's url via getKey function of useS3Object. Then the public URL would be {public_bucket_url}/{key}