@remotion/lambda 4.0.0-prefetch.11 → 4.0.0-prefetch.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +7 -7
- package/dist/admin/bundle-lambda.d.ts +0 -0
- package/dist/admin/bundle-lambda.js +0 -0
- package/dist/admin/make-layer-public.d.ts +0 -0
- package/dist/admin/make-layer-public.js +0 -0
- package/dist/api/bucket-exists.d.ts +0 -0
- package/dist/api/bucket-exists.js +1 -1
- package/dist/api/clean-items.d.ts +0 -0
- package/dist/api/clean-items.js +1 -1
- package/dist/api/create-bucket.d.ts +0 -0
- package/dist/api/create-bucket.js +1 -1
- package/dist/api/create-function.d.ts +0 -0
- package/dist/api/create-function.js +0 -0
- package/dist/api/delete-function.d.ts +0 -0
- package/dist/api/delete-function.js +0 -0
- package/dist/api/delete-render.d.ts +19 -0
- package/dist/api/delete-render.js +66 -0
- package/dist/api/delete-site.d.ts +0 -0
- package/dist/api/delete-site.js +0 -5
- package/dist/api/deploy-function.d.ts +0 -0
- package/dist/api/deploy-function.js +0 -0
- package/dist/api/deploy-site.d.ts +2 -0
- package/dist/api/deploy-site.js +2 -0
- package/dist/api/download-media.d.ts +13 -0
- package/dist/api/download-media.js +15 -3
- package/dist/api/enable-s3-website.d.ts +0 -0
- package/dist/api/enable-s3-website.js +1 -1
- package/dist/api/estimate-price.d.ts +0 -0
- package/dist/api/estimate-price.js +0 -0
- package/dist/api/get-aws-client.d.ts +4 -2
- package/dist/api/get-aws-client.js +7 -2
- package/dist/api/get-buckets.d.ts +0 -0
- package/dist/api/get-buckets.js +2 -2
- package/dist/api/get-function-info.d.ts +0 -0
- package/dist/api/get-function-info.js +0 -0
- package/dist/api/get-functions.d.ts +0 -0
- package/dist/api/get-functions.js +0 -0
- package/dist/api/get-or-create-bucket.d.ts +0 -0
- package/dist/api/get-or-create-bucket.js +0 -0
- package/dist/api/get-regions.d.ts +0 -0
- package/dist/api/get-regions.js +0 -0
- package/dist/api/get-render-progress.d.ts +4 -1
- package/dist/api/get-render-progress.js +3 -1
- package/dist/api/get-sites.d.ts +0 -0
- package/dist/api/get-sites.js +0 -0
- package/dist/api/iam-validation/role-permissions.d.ts +0 -0
- package/dist/api/iam-validation/role-permissions.js +0 -0
- package/dist/api/iam-validation/simulate-rule.d.ts +0 -0
- package/dist/api/iam-validation/simulate-rule.js +0 -0
- package/dist/api/iam-validation/simulate.d.ts +0 -0
- package/dist/api/iam-validation/simulate.js +0 -0
- package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
- package/dist/api/iam-validation/suggested-policy.js +0 -0
- package/dist/api/iam-validation/user-permissions.d.ts +0 -0
- package/dist/api/iam-validation/user-permissions.js +0 -0
- package/dist/api/mock-functions.d.ts +0 -0
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +0 -0
- package/dist/api/presign-url.js +1 -1
- package/dist/api/render-media-on-lambda.d.ts +18 -10
- package/dist/api/render-media-on-lambda.js +18 -10
- package/dist/api/render-still-on-lambda.d.ts +0 -0
- package/dist/api/render-still-on-lambda.js +0 -0
- package/dist/api/upload-dir.d.ts +0 -0
- package/dist/api/upload-dir.js +1 -1
- package/dist/api/validate-webhook-signature.d.ts +13 -0
- package/dist/api/validate-webhook-signature.js +32 -0
- package/dist/cli/args.d.ts +4 -2
- package/dist/cli/args.js +1 -5
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +0 -0
- package/dist/cli/commands/functions/index.d.ts +0 -0
- package/dist/cli/commands/functions/index.js +0 -0
- package/dist/cli/commands/functions/ls.d.ts +0 -0
- package/dist/cli/commands/functions/ls.js +0 -0
- package/dist/cli/commands/functions/rm.d.ts +0 -0
- package/dist/cli/commands/functions/rm.js +0 -0
- package/dist/cli/commands/functions/rmall.d.ts +0 -0
- package/dist/cli/commands/functions/rmall.js +0 -0
- package/dist/cli/commands/policies/policies.d.ts +0 -0
- package/dist/cli/commands/policies/policies.js +0 -0
- package/dist/cli/commands/policies/role.d.ts +0 -0
- package/dist/cli/commands/policies/role.js +0 -0
- package/dist/cli/commands/policies/user.d.ts +0 -0
- package/dist/cli/commands/policies/user.js +0 -0
- package/dist/cli/commands/policies/validate.d.ts +0 -0
- package/dist/cli/commands/policies/validate.js +0 -0
- package/dist/cli/commands/quotas/increase.d.ts +0 -0
- package/dist/cli/commands/quotas/increase.js +0 -0
- package/dist/cli/commands/quotas/index.d.ts +0 -0
- package/dist/cli/commands/quotas/index.js +0 -0
- package/dist/cli/commands/quotas/list.d.ts +0 -0
- package/dist/cli/commands/quotas/list.js +0 -0
- package/dist/cli/commands/regions.d.ts +0 -0
- package/dist/cli/commands/regions.js +0 -0
- package/dist/cli/commands/render/progress.d.ts +0 -0
- package/dist/cli/commands/render/progress.js +0 -0
- package/dist/cli/commands/render/render.d.ts +0 -0
- package/dist/cli/commands/render/render.js +24 -8
- package/dist/cli/commands/sites/create.d.ts +0 -0
- package/dist/cli/commands/sites/create.js +0 -0
- package/dist/cli/commands/sites/index.d.ts +0 -0
- package/dist/cli/commands/sites/index.js +0 -0
- package/dist/cli/commands/sites/ls.d.ts +0 -0
- package/dist/cli/commands/sites/ls.js +0 -0
- package/dist/cli/commands/sites/rm.d.ts +0 -0
- package/dist/cli/commands/sites/rm.js +0 -0
- package/dist/cli/commands/sites/rmall.d.ts +0 -0
- package/dist/cli/commands/sites/rmall.js +0 -0
- package/dist/cli/commands/still.d.ts +0 -0
- package/dist/cli/commands/still.js +19 -9
- package/dist/cli/get-aws-region.d.ts +0 -0
- package/dist/cli/get-aws-region.js +0 -0
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.js +0 -0
- package/dist/cli/helpers/confirm.d.ts +0 -0
- package/dist/cli/helpers/confirm.js +0 -0
- package/dist/cli/helpers/date-string.d.ts +0 -0
- package/dist/cli/helpers/date-string.js +0 -0
- package/dist/cli/helpers/find-function-name.d.ts +0 -0
- package/dist/cli/helpers/find-function-name.js +0 -0
- package/dist/cli/helpers/progress-bar.d.ts +0 -0
- package/dist/cli/helpers/progress-bar.js +0 -0
- package/dist/cli/helpers/quit.d.ts +0 -0
- package/dist/cli/helpers/quit.js +0 -0
- package/dist/cli/helpers/yes-or-no.d.ts +0 -0
- package/dist/cli/helpers/yes-or-no.js +0 -0
- package/dist/cli/index.d.ts +0 -0
- package/dist/cli/index.js +1 -1
- package/dist/cli/is-cli.d.ts +0 -0
- package/dist/cli/is-cli.js +0 -0
- package/dist/cli/log.d.ts +0 -0
- package/dist/cli/log.js +0 -0
- package/dist/client.d.ts +4 -2
- package/dist/client.js +3 -1
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +0 -0
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -0
- package/dist/functions/chunk-optimization/can-use-optimization.js +0 -0
- package/dist/functions/chunk-optimization/collect-data.d.ts +0 -0
- package/dist/functions/chunk-optimization/collect-data.js +0 -0
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -0
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -0
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -0
- package/dist/functions/chunk-optimization/get-profile-duration.js +0 -0
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -0
- package/dist/functions/chunk-optimization/is-valid-profile.js +0 -0
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -0
- package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -0
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -0
- package/dist/functions/chunk-optimization/optimize-profile.js +0 -0
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +4 -1
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +0 -0
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -0
- package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -0
- package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -0
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -0
- package/dist/functions/chunk-optimization/sort-by-duration.js +0 -0
- package/dist/functions/chunk-optimization/types.d.ts +0 -0
- package/dist/functions/chunk-optimization/types.js +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
- package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
- package/dist/functions/helpers/calculate-chunk-times.js +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
- package/dist/functions/helpers/check-if-render-exists.d.ts +0 -0
- package/dist/functions/helpers/check-if-render-exists.js +0 -0
- package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
- package/dist/functions/helpers/clean-tmpdir.js +1 -1
- package/dist/functions/helpers/concat-videos.d.ts +3 -1
- package/dist/functions/helpers/concat-videos.js +25 -9
- package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/create-post-render-data.js +0 -0
- package/dist/functions/helpers/delete-chunks.d.ts +0 -0
- package/dist/functions/helpers/delete-chunks.js +0 -0
- package/dist/functions/helpers/expected-out-name.d.ts +4 -2
- package/dist/functions/helpers/expected-out-name.js +26 -5
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +3 -1
- package/dist/functions/helpers/find-output-file-in-bucket.js +12 -10
- package/dist/functions/helpers/format-costs-info.d.ts +0 -0
- package/dist/functions/helpers/format-costs-info.js +0 -0
- package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
- package/dist/functions/helpers/get-browser-instance.js +0 -0
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
- package/dist/functions/helpers/get-chromium-executable-path.js +0 -0
- package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
- package/dist/functions/helpers/get-cleanup-progress.js +0 -0
- package/dist/functions/helpers/get-current-architecture.d.ts +0 -0
- package/dist/functions/helpers/get-current-architecture.js +0 -0
- package/dist/functions/helpers/get-current-region.d.ts +0 -0
- package/dist/functions/helpers/get-current-region.js +0 -0
- package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
- package/dist/functions/helpers/get-custom-out-name.js +31 -0
- package/dist/functions/helpers/get-encoding-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-encoding-metadata.js +0 -0
- package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
- package/dist/functions/helpers/get-files-in-folder.js +0 -0
- package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
- package/dist/functions/helpers/get-files-to-delete.js +0 -0
- package/dist/functions/helpers/get-final-encoding-status.d.ts +0 -0
- package/dist/functions/helpers/get-final-encoding-status.js +0 -0
- package/dist/functions/helpers/get-folder-size.d.ts +0 -0
- package/dist/functions/helpers/get-folder-size.js +0 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +0 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +0 -0
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
- package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
- package/dist/functions/helpers/get-overall-progress.d.ts +0 -0
- package/dist/functions/helpers/get-overall-progress.js +0 -0
- package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +4 -2
- package/dist/functions/helpers/get-progress.js +11 -6
- package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-render-metadata.js +0 -0
- package/dist/functions/helpers/get-retry-stats.d.ts +0 -0
- package/dist/functions/helpers/get-retry-stats.js +0 -0
- package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
- package/dist/functions/helpers/get-time-to-finish.js +0 -0
- package/dist/functions/helpers/inspect-errors.d.ts +0 -0
- package/dist/functions/helpers/inspect-errors.js +0 -0
- package/dist/functions/helpers/io.d.ts +13 -2
- package/dist/functions/helpers/io.js +16 -8
- package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
- package/dist/functions/helpers/is-enosp-err.js +0 -0
- package/dist/functions/helpers/is-warm.d.ts +0 -0
- package/dist/functions/helpers/is-warm.js +0 -0
- package/dist/functions/helpers/min-max.d.ts +0 -0
- package/dist/functions/helpers/min-max.js +0 -0
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +0 -0
- package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
- package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
- package/dist/functions/helpers/print-concurrency-curve.js +0 -0
- package/dist/functions/helpers/read-with-progress.d.ts +3 -1
- package/dist/functions/helpers/read-with-progress.js +2 -2
- package/dist/functions/helpers/timer.d.ts +0 -0
- package/dist/functions/helpers/timer.js +0 -0
- package/dist/functions/helpers/validate-composition.d.ts +0 -0
- package/dist/functions/helpers/validate-composition.js +0 -0
- package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
- package/dist/functions/helpers/write-lambda-error.js +1 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/write-post-render-data.js +1 -0
- package/dist/functions/index.d.ts +0 -0
- package/dist/functions/index.js +2 -2
- package/dist/functions/info.d.ts +0 -0
- package/dist/functions/info.js +0 -0
- package/dist/functions/launch.d.ts +0 -0
- package/dist/functions/launch.js +206 -5
- package/dist/functions/progress.d.ts +1 -1
- package/dist/functions/progress.js +3 -1
- package/dist/functions/renderer.d.ts +0 -0
- package/dist/functions/renderer.js +17 -1
- package/dist/functions/start.d.ts +0 -0
- package/dist/functions/start.js +5 -0
- package/dist/functions/still.d.ts +0 -0
- package/dist/functions/still.js +9 -3
- package/dist/index.d.ts +7 -2
- package/dist/index.js +5 -1
- package/dist/internals.d.ts +0 -0
- package/dist/internals.js +0 -0
- package/dist/pricing/aws-regions.d.ts +0 -0
- package/dist/pricing/aws-regions.js +0 -0
- package/dist/pricing/price-per-1-s.d.ts +0 -0
- package/dist/pricing/price-per-1-s.js +0 -0
- package/dist/regions.d.ts +0 -0
- package/dist/regions.js +0 -0
- package/dist/shared/await.d.ts +0 -0
- package/dist/shared/await.js +0 -0
- package/dist/shared/aws-clients.d.ts +13 -2
- package/dist/shared/aws-clients.js +56 -26
- package/dist/shared/bundle-site.d.ts +2 -1
- package/dist/shared/bundle-site.js +0 -0
- package/dist/shared/call-lambda.d.ts +0 -0
- package/dist/shared/call-lambda.js +0 -0
- package/dist/shared/check-credentials.d.ts +0 -0
- package/dist/shared/check-credentials.js +0 -0
- package/dist/shared/constants.d.ts +26 -1
- package/dist/shared/constants.js +7 -1
- package/dist/shared/content-disposition-header.d.ts +0 -0
- package/dist/shared/content-disposition-header.js +0 -0
- package/dist/shared/convert-to-serve-url.d.ts +0 -0
- package/dist/shared/convert-to-serve-url.js +0 -0
- package/dist/shared/docs-url.d.ts +0 -0
- package/dist/shared/docs-url.js +0 -0
- package/dist/shared/function-zip-path.d.ts +0 -0
- package/dist/shared/function-zip-path.js +0 -0
- package/dist/shared/get-account-id.d.ts +0 -0
- package/dist/shared/get-account-id.js +0 -0
- package/dist/shared/get-cloudwatch-stream-url.d.ts +0 -0
- package/dist/shared/get-cloudwatch-stream-url.js +0 -0
- package/dist/shared/get-function-version.d.ts +0 -0
- package/dist/shared/get-function-version.js +0 -0
- package/dist/shared/get-most-expensive-chunks.d.ts +0 -0
- package/dist/shared/get-most-expensive-chunks.js +0 -0
- package/dist/shared/hosted-layers.d.ts +0 -0
- package/dist/shared/hosted-layers.js +0 -0
- package/dist/shared/invoke-webhook.d.ts +44 -0
- package/dist/shared/invoke-webhook.js +89 -0
- package/dist/shared/is-in-lambda.d.ts +0 -0
- package/dist/shared/is-in-lambda.js +0 -0
- package/dist/shared/lambda-version-string.d.ts +0 -0
- package/dist/shared/lambda-version-string.js +0 -0
- package/dist/shared/make-s3-key.d.ts +0 -0
- package/dist/shared/make-s3-key.js +0 -0
- package/dist/shared/make-s3-url.d.ts +0 -0
- package/dist/shared/make-s3-url.js +0 -0
- package/dist/shared/p-limit.d.ts +0 -0
- package/dist/shared/p-limit.js +0 -0
- package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
- package/dist/shared/parse-lambda-initialized-key.js +0 -0
- package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
- package/dist/shared/parse-lambda-timings-key.js +0 -0
- package/dist/shared/random-hash.d.ts +0 -0
- package/dist/shared/random-hash.js +0 -0
- package/dist/shared/return-values.d.ts +0 -0
- package/dist/shared/return-values.js +0 -0
- package/dist/shared/sleep.d.ts +0 -0
- package/dist/shared/sleep.js +0 -0
- package/dist/shared/stream-to-string.d.ts +0 -0
- package/dist/shared/stream-to-string.js +0 -0
- package/dist/shared/truthy.d.ts +0 -0
- package/dist/shared/truthy.js +0 -0
- package/dist/shared/validate-architecture.d.ts +0 -0
- package/dist/shared/validate-architecture.js +0 -0
- package/dist/shared/validate-aws-region.d.ts +0 -0
- package/dist/shared/validate-aws-region.js +0 -0
- package/dist/shared/validate-bucketname.d.ts +0 -0
- package/dist/shared/validate-bucketname.js +0 -0
- package/dist/shared/validate-custom-role-arn.d.ts +0 -0
- package/dist/shared/validate-custom-role-arn.js +0 -0
- package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
- package/dist/shared/validate-disk-size-in-mb.js +0 -0
- package/dist/shared/validate-download-behavior.d.ts +0 -0
- package/dist/shared/validate-download-behavior.js +0 -0
- package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
- package/dist/shared/validate-frames-per-lambda.js +4 -3
- package/dist/shared/validate-lambda-codec.d.ts +0 -0
- package/dist/shared/validate-lambda-codec.js +0 -0
- package/dist/shared/validate-memory-size.d.ts +0 -0
- package/dist/shared/validate-memory-size.js +0 -0
- package/dist/shared/validate-outname.d.ts +3 -2
- package/dist/shared/validate-outname.js +5 -1
- package/dist/shared/validate-presign-expiration.d.ts +0 -0
- package/dist/shared/validate-presign-expiration.js +0 -0
- package/dist/shared/validate-privacy.d.ts +0 -0
- package/dist/shared/validate-privacy.js +0 -0
- package/dist/shared/validate-retention-period.d.ts +0 -0
- package/dist/shared/validate-retention-period.js +0 -0
- package/dist/shared/validate-retries.d.ts +0 -0
- package/dist/shared/validate-retries.js +0 -0
- package/dist/shared/validate-serveurl.d.ts +0 -0
- package/dist/shared/validate-serveurl.js +0 -0
- package/dist/shared/validate-site-name.d.ts +0 -0
- package/dist/shared/validate-site-name.js +0 -0
- package/dist/shared/validate-timeout.d.ts +0 -0
- package/dist/shared/validate-timeout.js +0 -0
- package/package.json +18 -21
- package/remotionlambda.zip +0 -0
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
- package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
|
@@ -28,6 +28,7 @@ const renderer_1 = require("@remotion/renderer");
|
|
|
28
28
|
const fs_1 = __importStar(require("fs"));
|
|
29
29
|
const path_1 = __importStar(require("path"));
|
|
30
30
|
const constants_1 = require("../../shared/constants");
|
|
31
|
+
const inspect_errors_1 = require("./inspect-errors");
|
|
31
32
|
const io_1 = require("./io");
|
|
32
33
|
const timer_1 = require("./timer");
|
|
33
34
|
const getChunkDownloadOutputLocation = ({ outdir, file, }) => {
|
|
@@ -50,11 +51,11 @@ const downloadS3File = async ({ bucket, key, outdir, region, expectedBucketOwner
|
|
|
50
51
|
.on('close', () => resolve());
|
|
51
52
|
});
|
|
52
53
|
};
|
|
53
|
-
const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expectedBucketOwner, }) => {
|
|
54
|
+
const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expectedBucketOwner, onErrors, }) => {
|
|
54
55
|
const alreadyDownloading = {};
|
|
55
56
|
const downloaded = {};
|
|
56
57
|
const getFiles = async () => {
|
|
57
|
-
const prefix = (0, constants_1.
|
|
58
|
+
const prefix = (0, constants_1.rendersPrefix)(renderId);
|
|
58
59
|
const lsTimer = (0, timer_1.timer)('Listing files');
|
|
59
60
|
const contents = await (0, io_1.lambdaLs)({
|
|
60
61
|
bucketName: bucket,
|
|
@@ -63,13 +64,16 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
|
|
|
63
64
|
expectedBucketOwner,
|
|
64
65
|
});
|
|
65
66
|
lsTimer.end();
|
|
66
|
-
return
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
return {
|
|
68
|
+
filesInBucket: contents
|
|
69
|
+
.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.chunkKey)(renderId)); })
|
|
70
|
+
.map((_) => _.Key),
|
|
71
|
+
errorContents: contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.getErrorKeyPrefix)(renderId)); }),
|
|
72
|
+
};
|
|
69
73
|
};
|
|
70
74
|
return new Promise((resolve, reject) => {
|
|
71
75
|
const loop = async () => {
|
|
72
|
-
const filesInBucket = await getFiles();
|
|
76
|
+
const { filesInBucket, errorContents } = await getFiles();
|
|
73
77
|
const checkFinish = () => {
|
|
74
78
|
const areAllFilesDownloaded = Object.keys(downloaded).length === expectedFiles;
|
|
75
79
|
console.log('Checking for finish... ', Object.keys(downloaded), expectedFiles + ' files expected');
|
|
@@ -79,6 +83,17 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
|
|
|
79
83
|
}
|
|
80
84
|
};
|
|
81
85
|
console.log('Found ', filesInBucket);
|
|
86
|
+
const errors = (await (0, inspect_errors_1.inspectErrors)({
|
|
87
|
+
bucket,
|
|
88
|
+
contents: errorContents,
|
|
89
|
+
expectedBucketOwner,
|
|
90
|
+
region,
|
|
91
|
+
renderId,
|
|
92
|
+
})).filter((e) => e.isFatal);
|
|
93
|
+
if (errors.length > 0) {
|
|
94
|
+
await onErrors(errors);
|
|
95
|
+
// Will die here
|
|
96
|
+
}
|
|
82
97
|
filesInBucket.forEach(async (key) => {
|
|
83
98
|
if (alreadyDownloading[key]) {
|
|
84
99
|
return;
|
|
@@ -105,14 +120,14 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
|
|
|
105
120
|
const areAllFilesDownloading = Object.keys(alreadyDownloading).length === expectedFiles;
|
|
106
121
|
if (!areAllFilesDownloading) {
|
|
107
122
|
setTimeout(() => {
|
|
108
|
-
loop();
|
|
123
|
+
loop().catch((err) => reject(err));
|
|
109
124
|
}, 100);
|
|
110
125
|
}
|
|
111
126
|
};
|
|
112
|
-
loop();
|
|
127
|
+
loop().catch((err) => reject(err));
|
|
113
128
|
});
|
|
114
129
|
};
|
|
115
|
-
const concatVideosS3 = async ({ bucket, expectedFiles, onProgress, numberOfFrames, renderId, region, codec, expectedBucketOwner, fps, numberOfGifLoops, }) => {
|
|
130
|
+
const concatVideosS3 = async ({ bucket, expectedFiles, onProgress, numberOfFrames, renderId, region, codec, expectedBucketOwner, fps, numberOfGifLoops, onErrors, }) => {
|
|
116
131
|
var _a;
|
|
117
132
|
const outdir = (0, path_1.join)(renderer_1.RenderInternals.tmpDir(constants_1.CONCAT_FOLDER_TOKEN), 'bucket');
|
|
118
133
|
if ((0, fs_1.existsSync)(outdir)) {
|
|
@@ -128,6 +143,7 @@ const concatVideosS3 = async ({ bucket, expectedFiles, onProgress, numberOfFrame
|
|
|
128
143
|
renderId,
|
|
129
144
|
region,
|
|
130
145
|
expectedBucketOwner,
|
|
146
|
+
onErrors,
|
|
131
147
|
});
|
|
132
148
|
const outfile = (0, path_1.join)(renderer_1.RenderInternals.tmpDir(constants_1.REMOTION_CONCATED_TOKEN), 'concat.' + renderer_1.RenderInternals.getFileExtensionFromCodec(codec, 'final'));
|
|
133
149
|
const combine = (0, timer_1.timer)('Combine videos');
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import type { OutNameOutput, RenderMetadata } from '../../defaults';
|
|
2
|
-
|
|
1
|
+
import type { OutNameInput, OutNameOutput, RenderMetadata } from '../../defaults';
|
|
2
|
+
import type { CustomCredentials } from '../../shared/aws-clients';
|
|
3
|
+
export declare const getCredentialsFromOutName: (name: OutNameInput | null) => CustomCredentials | null;
|
|
4
|
+
export declare const getExpectedOutName: (renderMetadata: RenderMetadata, bucketName: string, customCredentials: CustomCredentials | null) => OutNameOutput;
|
|
@@ -1,24 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getExpectedOutName = void 0;
|
|
3
|
+
exports.getExpectedOutName = exports.getCredentialsFromOutName = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
5
|
const defaults_1 = require("../../defaults");
|
|
6
6
|
const validate_outname_1 = require("../../shared/validate-outname");
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const get_custom_out_name_1 = require("./get-custom-out-name");
|
|
8
|
+
const getCredentialsFromOutName = (name) => {
|
|
9
|
+
var _a;
|
|
10
|
+
if (typeof name === 'string') {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
if (name === null) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
if (typeof name === 'undefined') {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return (_a = name.s3OutputProvider) !== null && _a !== void 0 ? _a : null;
|
|
20
|
+
};
|
|
21
|
+
exports.getCredentialsFromOutName = getCredentialsFromOutName;
|
|
22
|
+
const getExpectedOutName = (renderMetadata, bucketName, customCredentials) => {
|
|
23
|
+
const outNameValue = (0, get_custom_out_name_1.getCustomOutName)({
|
|
24
|
+
customCredentials,
|
|
25
|
+
renderMetadata,
|
|
26
|
+
});
|
|
27
|
+
if (outNameValue) {
|
|
28
|
+
(0, validate_outname_1.validateOutname)(outNameValue);
|
|
29
|
+
return (0, defaults_1.customOutName)(renderMetadata.renderId, bucketName, outNameValue);
|
|
11
30
|
}
|
|
12
31
|
if (renderMetadata.type === 'still') {
|
|
13
32
|
return {
|
|
14
33
|
renderBucketName: bucketName,
|
|
15
34
|
key: (0, defaults_1.outStillName)(renderMetadata.renderId, renderMetadata.imageFormat),
|
|
35
|
+
customCredentials: null,
|
|
16
36
|
};
|
|
17
37
|
}
|
|
18
38
|
if (renderMetadata.type === 'video') {
|
|
19
39
|
return {
|
|
20
40
|
renderBucketName: bucketName,
|
|
21
41
|
key: (0, defaults_1.outName)(renderMetadata.renderId, renderer_1.RenderInternals.getFileExtensionFromCodec(renderMetadata.codec, 'final')),
|
|
42
|
+
customCredentials: null,
|
|
22
43
|
};
|
|
23
44
|
}
|
|
24
45
|
throw new TypeError('no type passed');
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { AwsRegion } from '../..';
|
|
2
|
+
import type { CustomCredentials } from '../../shared/aws-clients';
|
|
2
3
|
import type { RenderMetadata } from '../../shared/constants';
|
|
3
4
|
export declare type OutputFileMetadata = {
|
|
4
5
|
url: string;
|
|
5
6
|
size: number;
|
|
6
7
|
lastModified: number;
|
|
7
8
|
};
|
|
8
|
-
export declare const findOutputFileInBucket: ({ region, renderMetadata, bucketName, }: {
|
|
9
|
+
export declare const findOutputFileInBucket: ({ region, renderMetadata, bucketName, customCredentials, }: {
|
|
9
10
|
region: AwsRegion;
|
|
10
11
|
renderMetadata: RenderMetadata;
|
|
11
12
|
bucketName: string;
|
|
13
|
+
customCredentials: CustomCredentials | null;
|
|
12
14
|
}) => Promise<OutputFileMetadata | null>;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.findOutputFileInBucket = void 0;
|
|
4
|
-
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
4
|
const suggested_policy_1 = require("../../api/iam-validation/suggested-policy");
|
|
6
|
-
const aws_clients_1 = require("../../shared/aws-clients");
|
|
7
5
|
const expected_out_name_1 = require("./expected-out-name");
|
|
8
6
|
const get_output_url_from_metadata_1 = require("./get-output-url-from-metadata");
|
|
9
|
-
const
|
|
7
|
+
const io_1 = require("./io");
|
|
8
|
+
const findOutputFileInBucket = async ({ region, renderMetadata, bucketName, customCredentials, }) => {
|
|
10
9
|
var _a;
|
|
11
10
|
if (!renderMetadata) {
|
|
12
11
|
throw new Error('unexpectedly did not get renderMetadata');
|
|
13
12
|
}
|
|
14
|
-
const
|
|
13
|
+
const { renderBucketName, key } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, null);
|
|
15
14
|
try {
|
|
16
|
-
const head = await (0,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
const head = await (0, io_1.lambdaHeadCommand)({
|
|
16
|
+
bucketName,
|
|
17
|
+
key,
|
|
18
|
+
region,
|
|
19
|
+
});
|
|
20
20
|
return {
|
|
21
21
|
lastModified: (_a = head.LastModified) === null || _a === void 0 ? void 0 : _a.getTime(),
|
|
22
22
|
size: head.ContentLength,
|
|
23
|
-
url: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName),
|
|
23
|
+
url: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName, customCredentials),
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
catch (err) {
|
|
@@ -30,7 +30,9 @@ const findOutputFileInBucket = async ({ region, renderMetadata, bucketName, }) =
|
|
|
30
30
|
if (err.message === 'UnknownError' ||
|
|
31
31
|
err.$metadata
|
|
32
32
|
.httpStatusCode === 403) {
|
|
33
|
-
throw new Error(`Unable to access item "${
|
|
33
|
+
throw new Error(`Unable to access item "${key}" from bucket "${renderBucketName}" ${(customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.endpoint)
|
|
34
|
+
? `(S3 Endpoint = ${customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.endpoint})`
|
|
35
|
+
: ''}. The "${suggested_policy_1.ROLE_NAME}" role must have permission for both "s3:GetObject" and "s3:ListBucket" actions.`);
|
|
34
36
|
}
|
|
35
37
|
throw err;
|
|
36
38
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { OutNameInput, RenderMetadata } from '../../defaults';
|
|
2
|
+
import type { CustomCredentials } from '../../shared/aws-clients';
|
|
3
|
+
export declare const getCustomOutName: ({ renderMetadata, customCredentials, }: {
|
|
4
|
+
renderMetadata: RenderMetadata;
|
|
5
|
+
customCredentials: CustomCredentials | null;
|
|
6
|
+
}) => OutNameInput | null;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCustomOutName = void 0;
|
|
4
|
+
const getCustomOutName = ({ renderMetadata, customCredentials, }) => {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
if (!renderMetadata.outName) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
if (typeof renderMetadata.outName === 'string') {
|
|
10
|
+
return renderMetadata.outName;
|
|
11
|
+
}
|
|
12
|
+
if (renderMetadata.outName.s3OutputProvider) {
|
|
13
|
+
if (!customCredentials && renderMetadata.privacy === 'private') {
|
|
14
|
+
throw new TypeError(`The file was rendered with a custom S3 implementation and is not public, but no custom credentials were passed to downloadMedia().`);
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
bucketName: renderMetadata.outName.bucketName,
|
|
18
|
+
key: renderMetadata.outName.key,
|
|
19
|
+
s3OutputProvider: {
|
|
20
|
+
endpoint: renderMetadata.outName.s3OutputProvider.endpoint,
|
|
21
|
+
accessKeyId: (_a = customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.accessKeyId) !== null && _a !== void 0 ? _a : null,
|
|
22
|
+
secretAccessKey: (_b = customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.secretAccessKey) !== null && _b !== void 0 ? _b : null,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
bucketName: renderMetadata.outName.bucketName,
|
|
28
|
+
key: renderMetadata.outName.key,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
exports.getCustomOutName = getCustomOutName;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import type { RenderMetadata } from '../../defaults';
|
|
2
|
-
|
|
2
|
+
import type { CustomCredentials } from '../../shared/aws-clients';
|
|
3
|
+
export declare const getOutputUrlFromMetadata: (renderMetadata: RenderMetadata, bucketName: string, customCredentials: CustomCredentials | null) => string;
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getOutputUrlFromMetadata = void 0;
|
|
4
4
|
const expected_out_name_1 = require("./expected-out-name");
|
|
5
5
|
const get_current_region_1 = require("./get-current-region");
|
|
6
|
-
const getOutputUrlFromMetadata = (renderMetadata, bucketName) => {
|
|
7
|
-
const outname = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
|
|
6
|
+
const getOutputUrlFromMetadata = (renderMetadata, bucketName, customCredentials) => {
|
|
7
|
+
const outname = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials);
|
|
8
8
|
return `https://s3.${(0, get_current_region_1.getCurrentRegionInFunction)()}.amazonaws.com/${outname.renderBucketName}/${outname.key}`;
|
|
9
9
|
};
|
|
10
10
|
exports.getOutputUrlFromMetadata = getOutputUrlFromMetadata;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
+
import type { CustomCredentials } from '../../shared/aws-clients';
|
|
2
3
|
import type { RenderProgress } from '../../shared/constants';
|
|
3
|
-
export declare const getProgress: ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb,
|
|
4
|
+
export declare const getProgress: ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMilliseconds, customCredentials, }: {
|
|
4
5
|
bucketName: string;
|
|
5
6
|
renderId: string;
|
|
6
7
|
expectedBucketOwner: string;
|
|
7
8
|
region: AwsRegion;
|
|
8
9
|
memorySizeInMb: number;
|
|
9
|
-
|
|
10
|
+
timeoutInMilliseconds: number;
|
|
11
|
+
customCredentials: CustomCredentials | null;
|
|
10
12
|
}) => Promise<RenderProgress>;
|
|
@@ -23,7 +23,7 @@ const get_retry_stats_1 = require("./get-retry-stats");
|
|
|
23
23
|
const get_time_to_finish_1 = require("./get-time-to-finish");
|
|
24
24
|
const inspect_errors_1 = require("./inspect-errors");
|
|
25
25
|
const io_1 = require("./io");
|
|
26
|
-
const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb,
|
|
26
|
+
const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMilliseconds, customCredentials, }) => {
|
|
27
27
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
28
28
|
const postRenderData = await (0, get_post_render_data_1.getPostRenderData)({
|
|
29
29
|
bucketName,
|
|
@@ -32,7 +32,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
32
32
|
expectedBucketOwner,
|
|
33
33
|
});
|
|
34
34
|
if (postRenderData) {
|
|
35
|
-
const outData = (0, expected_out_name_1.getExpectedOutName)(postRenderData.renderMetadata, bucketName);
|
|
35
|
+
const outData = (0, expected_out_name_1.getExpectedOutName)(postRenderData.renderMetadata, bucketName, customCredentials);
|
|
36
36
|
return {
|
|
37
37
|
bucket: bucketName,
|
|
38
38
|
renderSize: postRenderData.renderSize,
|
|
@@ -104,11 +104,15 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
104
104
|
expectedBucketOwner,
|
|
105
105
|
}),
|
|
106
106
|
]);
|
|
107
|
+
if ((renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.type) === 'still') {
|
|
108
|
+
throw new Error("You don't need to call getRenderProgress() on a still render. Once you have obtained the `renderId`, the render is already done! 😉");
|
|
109
|
+
}
|
|
107
110
|
const outputFile = renderMetadata
|
|
108
111
|
? await (0, find_output_file_in_bucket_1.findOutputFileInBucket)({
|
|
109
112
|
bucketName,
|
|
110
113
|
renderMetadata,
|
|
111
114
|
region,
|
|
115
|
+
customCredentials,
|
|
112
116
|
})
|
|
113
117
|
: null;
|
|
114
118
|
const accruedSoFar = Number((0, calculate_price_from_bucket_1.estimatePriceFromBucket)({
|
|
@@ -159,13 +163,13 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
159
163
|
: chunks.length;
|
|
160
164
|
// We add a 20 second buffer for it, since AWS timeshifts can be quite a lot. Once it's 20sec over the limit, we consider it timed out
|
|
161
165
|
const isBeyondTimeout = renderMetadata &&
|
|
162
|
-
Date.now() > renderMetadata.startedDate +
|
|
166
|
+
Date.now() > renderMetadata.startedDate + timeoutInMilliseconds + 20000;
|
|
163
167
|
const allErrors = [
|
|
164
168
|
isBeyondTimeout
|
|
165
169
|
? {
|
|
166
170
|
attempt: 1,
|
|
167
171
|
chunk: null,
|
|
168
|
-
explanation: `The main function timed out after ${
|
|
172
|
+
explanation: `The main function timed out after ${timeoutInMilliseconds}ms. Consider increasing the timeout of your function. You can use the "--timeout" parameter when deploying a function via CLI, or the "timeoutInSeconds" parameter when using the deployFunction API. ${docs_url_1.DOCS_URL}/docs/lambda/cli/functions#deploy`,
|
|
169
173
|
frame: null,
|
|
170
174
|
isFatal: true,
|
|
171
175
|
s3Location: '',
|
|
@@ -216,10 +220,11 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
216
220
|
}),
|
|
217
221
|
retriesInfo,
|
|
218
222
|
outKey: outputFile && renderMetadata
|
|
219
|
-
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName).key
|
|
223
|
+
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials).key
|
|
220
224
|
: null,
|
|
221
225
|
outBucket: outputFile && renderMetadata
|
|
222
|
-
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName)
|
|
226
|
+
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials)
|
|
227
|
+
.renderBucketName
|
|
223
228
|
: null,
|
|
224
229
|
mostExpensiveFrameRanges: null,
|
|
225
230
|
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -2,6 +2,7 @@ import type { _Object } from '@aws-sdk/client-s3';
|
|
|
2
2
|
import type { ReadStream } from 'fs';
|
|
3
3
|
import type { Readable } from 'stream';
|
|
4
4
|
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
5
|
+
import type { CustomCredentials } from '../../shared/aws-clients';
|
|
5
6
|
import type { Privacy } from '../../shared/constants';
|
|
6
7
|
import type { DownloadBehavior } from '../../shared/content-disposition-header';
|
|
7
8
|
export declare type LambdaLSInput = {
|
|
@@ -13,12 +14,13 @@ export declare type LambdaLSInput = {
|
|
|
13
14
|
};
|
|
14
15
|
export declare type LambdaLsReturnType = Promise<_Object[]>;
|
|
15
16
|
export declare const lambdaLs: ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, }: LambdaLSInput) => LambdaLsReturnType;
|
|
16
|
-
export declare const lambdaDeleteFile: ({ bucketName, key, region, }: {
|
|
17
|
+
export declare const lambdaDeleteFile: ({ bucketName, key, region, customCredentials, }: {
|
|
17
18
|
region: AwsRegion;
|
|
18
19
|
bucketName: string;
|
|
19
20
|
key: string;
|
|
21
|
+
customCredentials: CustomCredentials | null;
|
|
20
22
|
}) => Promise<void>;
|
|
21
|
-
export declare const lambdaWriteFile: ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, }: {
|
|
23
|
+
export declare const lambdaWriteFile: ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, customCredentials, }: {
|
|
22
24
|
bucketName: string;
|
|
23
25
|
key: string;
|
|
24
26
|
body: ReadStream | string;
|
|
@@ -26,6 +28,7 @@ export declare const lambdaWriteFile: ({ bucketName, key, body, region, privacy,
|
|
|
26
28
|
privacy: Privacy;
|
|
27
29
|
expectedBucketOwner: string | null;
|
|
28
30
|
downloadBehavior: DownloadBehavior | null;
|
|
31
|
+
customCredentials: CustomCredentials | null;
|
|
29
32
|
}) => Promise<void>;
|
|
30
33
|
export declare const lambdaReadFile: ({ bucketName, key, region, expectedBucketOwner, }: {
|
|
31
34
|
bucketName: string;
|
|
@@ -33,3 +36,11 @@ export declare const lambdaReadFile: ({ bucketName, key, region, expectedBucketO
|
|
|
33
36
|
region: AwsRegion;
|
|
34
37
|
expectedBucketOwner: string;
|
|
35
38
|
}) => Promise<Readable>;
|
|
39
|
+
export declare const lambdaHeadCommand: ({ bucketName, key, region, }: {
|
|
40
|
+
bucketName: string;
|
|
41
|
+
key: string;
|
|
42
|
+
region: AwsRegion;
|
|
43
|
+
}) => Promise<{
|
|
44
|
+
LastModified?: Date | undefined;
|
|
45
|
+
ContentLength?: number | undefined;
|
|
46
|
+
}>;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.lambdaReadFile = exports.lambdaWriteFile = exports.lambdaDeleteFile = exports.lambdaLs = void 0;
|
|
6
|
+
exports.lambdaHeadCommand = exports.lambdaReadFile = exports.lambdaWriteFile = exports.lambdaDeleteFile = exports.lambdaLs = void 0;
|
|
7
7
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
8
8
|
const mime_types_1 = __importDefault(require("mime-types"));
|
|
9
9
|
const aws_clients_1 = require("../../shared/aws-clients");
|
|
@@ -11,7 +11,7 @@ const content_disposition_header_1 = require("../../shared/content-disposition-h
|
|
|
11
11
|
const lambdaLs = async ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, }) => {
|
|
12
12
|
var _a, _b, _c;
|
|
13
13
|
try {
|
|
14
|
-
const list = await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.ListObjectsV2Command({
|
|
14
|
+
const list = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.ListObjectsV2Command({
|
|
15
15
|
Bucket: bucketName,
|
|
16
16
|
Prefix: prefix,
|
|
17
17
|
ExpectedBucketOwner: expectedBucketOwner !== null && expectedBucketOwner !== void 0 ? expectedBucketOwner : undefined,
|
|
@@ -37,7 +37,7 @@ const lambdaLs = async ({ bucketName, prefix, region, expectedBucketOwner, conti
|
|
|
37
37
|
}
|
|
38
38
|
// Prevent from accessing a foreign bucket, retry without ExpectedBucketOwner and see if it works. If it works then it's an owner mismatch.
|
|
39
39
|
if ((_c = err.stack) === null || _c === void 0 ? void 0 : _c.includes('AccessDenied')) {
|
|
40
|
-
await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.ListObjectsV2Command({
|
|
40
|
+
await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.ListObjectsV2Command({
|
|
41
41
|
Bucket: bucketName,
|
|
42
42
|
Prefix: prefix,
|
|
43
43
|
}));
|
|
@@ -47,15 +47,15 @@ const lambdaLs = async ({ bucketName, prefix, region, expectedBucketOwner, conti
|
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
49
|
exports.lambdaLs = lambdaLs;
|
|
50
|
-
const lambdaDeleteFile = async ({ bucketName, key, region, }) => {
|
|
51
|
-
await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.DeleteObjectCommand({
|
|
50
|
+
const lambdaDeleteFile = async ({ bucketName, key, region, customCredentials, }) => {
|
|
51
|
+
await (0, aws_clients_1.getS3Client)(region, customCredentials).send(new client_s3_1.DeleteObjectCommand({
|
|
52
52
|
Bucket: bucketName,
|
|
53
53
|
Key: key,
|
|
54
54
|
}));
|
|
55
55
|
};
|
|
56
56
|
exports.lambdaDeleteFile = lambdaDeleteFile;
|
|
57
|
-
const lambdaWriteFile = async ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, }) => {
|
|
58
|
-
await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.PutObjectCommand({
|
|
57
|
+
const lambdaWriteFile = async ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, customCredentials, }) => {
|
|
58
|
+
await (0, aws_clients_1.getS3Client)(region, customCredentials).send(new client_s3_1.PutObjectCommand({
|
|
59
59
|
Bucket: bucketName,
|
|
60
60
|
Key: key,
|
|
61
61
|
Body: body,
|
|
@@ -71,7 +71,7 @@ const lambdaWriteFile = async ({ bucketName, key, body, region, privacy, expecte
|
|
|
71
71
|
};
|
|
72
72
|
exports.lambdaWriteFile = lambdaWriteFile;
|
|
73
73
|
const lambdaReadFile = async ({ bucketName, key, region, expectedBucketOwner, }) => {
|
|
74
|
-
const { Body } = await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.GetObjectCommand({
|
|
74
|
+
const { Body } = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.GetObjectCommand({
|
|
75
75
|
Bucket: bucketName,
|
|
76
76
|
Key: key,
|
|
77
77
|
ExpectedBucketOwner: expectedBucketOwner,
|
|
@@ -79,3 +79,11 @@ const lambdaReadFile = async ({ bucketName, key, region, expectedBucketOwner, })
|
|
|
79
79
|
return Body;
|
|
80
80
|
};
|
|
81
81
|
exports.lambdaReadFile = lambdaReadFile;
|
|
82
|
+
const lambdaHeadCommand = async ({ bucketName, key, region, }) => {
|
|
83
|
+
const head = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.HeadObjectCommand({
|
|
84
|
+
Bucket: bucketName,
|
|
85
|
+
Key: key,
|
|
86
|
+
}));
|
|
87
|
+
return head;
|
|
88
|
+
};
|
|
89
|
+
exports.lambdaHeadCommand = lambdaHeadCommand;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
+
import type { CustomCredentials } from '../../shared/aws-clients';
|
|
2
3
|
export declare type LambdaReadFileProgress = (progress: {
|
|
3
4
|
totalSize: number;
|
|
4
5
|
downloaded: number;
|
|
5
6
|
percent: number;
|
|
6
7
|
}) => unknown;
|
|
7
|
-
export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, }: {
|
|
8
|
+
export declare const lambdaDownloadFileWithProgress: ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, customCredentials, }: {
|
|
8
9
|
bucketName: string;
|
|
9
10
|
key: string;
|
|
10
11
|
region: AwsRegion;
|
|
11
12
|
expectedBucketOwner: string;
|
|
12
13
|
outputPath: string;
|
|
13
14
|
onProgress: LambdaReadFileProgress;
|
|
15
|
+
customCredentials: CustomCredentials | null;
|
|
14
16
|
}) => Promise<{
|
|
15
17
|
sizeInBytes: number;
|
|
16
18
|
to: string;
|
|
@@ -5,8 +5,8 @@ const client_s3_1 = require("@aws-sdk/client-s3");
|
|
|
5
5
|
const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
|
|
6
6
|
const renderer_1 = require("@remotion/renderer");
|
|
7
7
|
const aws_clients_1 = require("../../shared/aws-clients");
|
|
8
|
-
const lambdaDownloadFileWithProgress = async ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, }) => {
|
|
9
|
-
const client = (0, aws_clients_1.getS3Client)(region);
|
|
8
|
+
const lambdaDownloadFileWithProgress = async ({ bucketName, key, region, expectedBucketOwner, outputPath, onProgress, customCredentials, }) => {
|
|
9
|
+
const client = (0, aws_clients_1.getS3Client)(region, customCredentials);
|
|
10
10
|
const command = new client_s3_1.GetObjectCommand({
|
|
11
11
|
Bucket: bucketName,
|
|
12
12
|
ExpectedBucketOwner: expectedBucketOwner,
|
|
File without changes
|
|
File without changes
|