-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
According to this docs (https://www.remotion.dev/docs/lambda/custom-destination#saving-to-another-cloud), we should be able to output a video to any S3-compatible storage.
Tigris is an S3-compatible storage and I've been using the official AWS S3 SDK as they recommend to work with it, no issues.
https://www.tigrisdata.com/docs/api/s3/
When trying to:
renderMediaOnLambda({
functionName: functionName,
region: REGION,
serveUrl: siteName,
composition: compositioName,
inputProps: inputProps,
webhook: webhook,
deleteAfter: "30-days",
timeoutInMilliseconds: 90_000, // 90 seconds
downloadBehavior: {
type: "download",
fileName: null,
},
outName: {
key: generateId(12),
bucketName: "my.bucket.name",
s3OutputProvider: {
endpoint: TIGRIS_ENDPOINT,
accessKeyId: env.TIGRIS_ACCESS_KEY_ID,
secretAccessKey: env.TIGRIS_SECRET_ACCESS_KEY,
},
},
privacy: "no-acl"
});
I get the following error:
{
"message": "Unable to access item \"OYqtngXszMav\" from bucket \"my.bucket.name\" (S3 Endpoint = https://fly.storage.tigris.dev). The Lambda role must have permission for both \"s3:GetObject\" and \"s3:ListBucket\" actions.",
"name": "Error",
"stack": "Error: Unable to access item \"OYqtngXszMav\" from bucket \"my.bucket.name\" (S3 Endpoint = https://fly.storage.tigris.dev). The Lambda role must have permission for both \"s3:GetObject\" and \"s3:ListBucket\" actions.\n at zwn (/var/task/index.js:152:24007)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async IRn (/var/task/index.js:152:47803)\n at async ORn (/var/task/index.js:152:52773)\n at async xAn (/var/task/index.js:153:26375)\n at async Runtime.handleOnceStreaming (file:///var/runtime/index.mjs:1206:26)"
}
As mentioned, I'm able to instantiate and use a standard S3Client
using the following code, with the same endpoint and credentials
new S3Client({
region,
endpoint,
credentials: {
accessKeyId,
secretAccessKey,
},
});
One particularity that's worth mentioning is that the bucket name is actually in the shape of subdomain.domain.tld
because Tigris requires the bucket name to match the CNAME record if you want to use custom domains (which I am using).
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working